Назад | Перейти на главную страницу

sudo: должен быть установлен uid root

Недавно из-за некоторого беспорядка с основной загрузочной записью мне пришлось переустановить Ubuntu. Перед этим я создаю резервную копию всех папок (кроме root, bin, sbin, tmp, media, mnt) в раздел NTFS. После установки Ubuntu я скопировал обратно всю папку с помощью nautilus (запускается sudo nautilus). После этого перезагружаю компьютер. И бум, теперь я больше не могу запускать sudo, мои сетевые службы не могут работать. Когда я запускаю sudo с терминала, я получаю ошибку «must be setuid root». В ubuntu учетная запись root по умолчанию отключена, я не знаю, почему все эти файлы больше не принадлежат моей учетной записи. Как мне восстановиться?

Как сказал Fractalizer, это проблема с битом setuid в sudo. Подробное объяснение того, как это исправить, можно найти здесь: http://ubuntuforums.org/showthread.php?t=219767

Вполне вероятно, что помимо этой программы возникнут и другие проблемы. Таким образом, вы можете обнаружить, что другие вещи взорвутся, когда вы решите конкретную проблему с помощью sudo. К сожалению, cp'ing к общему ресурсу NFS не сохранит всех разрешений, необходимых для полностью работающей системы. Особенно в таких местах, как / usr / bin.

Команда sudo должна иметь установленный бит разрешения setuid для ее исполняемого файла. Но в Ubuntu в настоящее время вы не можете стать пользователем root. Я думаю, вы можете загрузиться с аварийного диска и установить этот бит в sudo с помощью chmod.

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

чтобы вернуться к sudo, смонтируйте корневой раздел из среды восстановления и отредактируйте etc/group. добавьте свою учетную запись в группу администраторов, и у вас снова должен быть доступ к sudo.

после этого вы можете сменить владельца скопированных файлов. у вас есть другая установка ubuntu, где искать правильного владельца?

Как уже говорили другие, это проблема с разрешениями.

Во-первых, вы скопировали в раздел NTFS, который имеет разные разрешения, поэтому вы, вероятно, потеряете некоторую информацию в процессе, хотя я никогда не пробовал.

Во-вторых, вам, вероятно, следовало скопировать файлы с cp -p чтобы сохранить режим и право собственности.

Оптимальный вариант - использовать tar (или аналогичный), и я полагаю, вы неправильно набрали команду с ее параметрами. Простой способ сделать резервную копию - это что-то вроде

tar cf /path/to/backup.tar /usr /bin /var 

Кроме того, как уже упоминали другие, rsync допустимый вариант.