sudo:必须是setuid root

最近,由于一些主引导logging凌乱的东西,我不得不重新安装我的Ubuntu。 在此之前,我将所有文件夹(排除root,bin,sbin,tmp,media,mnt)备份到NTFS分区。 Ubuntu安装完成后,我使用nautilus(由sudo nautilus运行)复制所有文件夹。 之后,我重新启动电脑。 而且繁荣,现在我不能再运行sudo了,我的networking服务无法运行。 当我从terminal运行sudo时,我“必须setuid根”错误。 在Ubuntu下,默认情况下禁用root帐户,我不知道为什么所有这些文件不再是我的帐户的所有权。 我将如何恢复?

sudo命令必须在其可执行文件上设置setuid权限位。 但在Ubuntu中,你目前不能成为根。 我认为你可以从紧急磁盘启动,并使用chmod在sudo上设置此位。

正如分形器所说,这是sudo上setuid位的问题。 如何解决这个问题的详细解释可以在这里find: http : //ubuntuforums.org/showthread.php?t=219767

这个计划之外还有其他的问题。 所以,一旦你解决了sudo的具体问题,你可能会发现其他的东西炸毁。 不幸的是,应用到NFS共享并不能保留完整function系统所需的所有权限。 特别是在像/ usr / bin这样的地方。

您的文件不再属于您的帐户,因为您以root身份复制它们。 这种方式成为所有者。

要回到sudo,从救援环境中挂载根分区并编辑etc/group 。 添加你的用户帐户到pipe理员组,你应该再次sudo访问。

之后,您可以更改复制文件的所有权。 你有另一个Ubuntu安装在哪里寻找正确的所有权?

正如其他人已经表示,这是一个权限问题。

首先,你复制到一个NTFS分区,它具有不同的权限,所以哟可能会失去一些信息,虽然我从来没有尝试过。

其次,你可能应该用cp -p复制文件来保存模式和所有权。

最好的select是使用tar (或同等学历),我猜你错误的命令与其选项。 一个简单的方法来做一个备份是类似的

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

另外,正如其他人所说, rsync是一个有效的选项。