Недавно из-за некоторого беспорядка с основной загрузочной записью мне пришлось переустановить 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
допустимый вариант.