Восстановление разрешений CentOS 6.5 после миграции файлов

Я запускаю CentOS 6.5 в виртуальной виртуальной машине. Недавно у меня не хватило места для моего виртуального жесткого диска. Чтобы исправить это, я решил создать второй жесткий диск для каталога /usr . Я смонтировал это и скопировал файлы под root с помощью rsync -a /usr.bak /usr . Казалось, что они сохранили все права собственности на файл и разрешения.

Однако теперь я получаю странные вопросы разрешения. Хотя я могу загружать систему просто отлично, разные вещи не работают, например:

  1. Сетевой адаптер не работает. sudo service network restart пока «Определение информации IP для eth0».
  2. Выполнение ACPI shutdown no-longer вызывает тот же диалог в Gnome.
  3. Я вижу некоторые ошибки «/ usr / bin / logger: Permission denied».

Я отключил SELinux раньше, поэтому я не думаю, что это мешает. Я также пытался исправить разрешения, запустив это как root, но проблема не устранена:

 for i in `rpm -qa`;do rpm --setperms $i;done 

Что могло быть испорчено в моих копировальных файлах с помощью rsync для этой новой точки монтирования? Что-нибудь, что я могу сделать, чтобы исправить ситуацию? Обратите внимание, что это песочница для разработки, поэтому я не очень заинтересован в том, что исправление будет связано с неидеальной настройкой безопасности.

rsync работает, как показано ниже.

 rsync options source destination 

Но то, что вы сделали,

 rsync -a /usr.bak /usr 

Разве не должно быть наоборот?

Насколько я вижу, вы перепутали разрешения с назначением разрешений /usr.bak в /usr . Измените команду rsync после восстановления исходных разрешений в каталоге /usr а затем, если вы перезагрузите систему, проблема должна быть решена. Перезапуск – это просто, но не обязательно.

Иногда разрешения могут быть испорчены из-за пакетов rpm. Вы можете найти обсуждение, посвященное этой проблеме.

Эти файлы создаются rpm, если он пытается обновить выходной файл, который он не может изменить из-за «chattr + i / usr / bin / write». Я сделал это много лет назад после того, как я удалил флаг setuid. странная вещь, то, что + i ушел на пишут и chsh, и setuid вернулся.