Изменение владельца корневой папки и вложенных папок (Ubuntu 13.04)

я случайно установил владельца корневой папки ( / ) и всех подпапок на одного пользователя командой

$ sudo chown -R 'userName' /*

теперь я хочу установить владельца обратно к пользователю root командой

$ chown -R root:root /*

но у меня нет разрешения на эту операцию. Если я использую команду

$ sudo chown -R root:root /*

возвращает

sudo: effective uid is not 0, is sudo installed setuid root?

что я должен сделать, чтобы исправить это?

5
задан Keeper Panter
источник

3 ответов

Uh... это интересная ситуация. sudo требуются бинарных принадлежит root и setuid флаг на нем, чтобы функционировать должным образом (это позволяет ему выполнять в качестве владельца файла, независимо от того, кто на самом деле запустил его).

изменив владельца,sudo больше не может работать как root, и, следовательно, не может запускать ваши команды как root.

самый простой способ, чтобы оправиться от этого

  1. перезагрузите компьютер в однопользовательский режим
  2. скопировать все важные файлы на USB или внешний диск.
  3. переустановите Ubuntu, а затем восстановите файлы.

как вы выяснили, существует ряд системных файлов, которые абсолютно зависят от наличия правильного владельца и правильных разрешений. SSHd например, откажется запускаться, если закрытый ключ хоста не имеет ровно правильные разрешения (0600 и принадлежит root, я думаю). sudo не может поднять себя, не будучи setuid и принадлежащего root, и я уверен, что есть много других программ, связанных с безопасностью, которые не будут работать, если они видят, что вещи не идеальны.

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

2
отвечен Darth Android 2017-04-13 12:23:00
источник

Если вы chown'D рекурсивно раньше, то ваши разрешения более чем вероятно необратимо повреждены.

резервное копирование данных и переустановка.

1
отвечен CyberJacob 2013-07-03 16:27:17
источник

серьезно, восстановить с нуля. даже если вы пройдете мимо ошибки, на которую вы смотрите, и сможете повторно запустить root, ваша система все равно будет такой же сломанной, как и сейчас. нет никаких средств, чтобы восстановить из-под контроля chowning (или chmoding по этому вопросу). Даже если бы вы каким-то образом смогли получить частичный список первоначальных владельцев для каждого объекта, он почти наверняка был бы неполным и отражал бы состояние системы запаса, которое могло быть изменено установкой приложения/демона после того, как файлы были первоначально созданы.

1
отвечен Frank Thomas 2013-07-03 16:27:42
источник

Другие вопросы chown linux sudo ubuntu unix