将 /usr 的权限恢复为 root

将 /usr 的权限恢复为 root

我正在做一些修改,但其中一项我搞砸了。

我将文件夹中几乎所有内容的权限都更改/usr为我自己的用户。它并没有改变所有内容,因为它在执行过程中失败了,我仍然拥有/sbin/share/src分配给了 root。

我运行的命令是这样的(这是在 /usr 内部执行的)

sudo chown -R myuser:myuser .

有什么方法可以让我恢复此状态吗?

如果我运行:

sudo chown -R root:root .

我收到此错误:

sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set

答案1

您不能直接使用 chown -R 来访问 /usr 分区,因为该分区中的所有内容并非都归 root 所有。这很糟糕,您必须重新安装所有内容,但唯一安全的解决方案是重新安装或从备份中恢复。

答案2

完全重新安装确实很糟糕。这当然是一个选择。但是,/usr/bin 中的大多数文件都是 root:root。只有以下文件不是:

-rwsr-sr-x  1 daemon daemon     51464 Oct 21  2013 at
-rwxr-sr-x  1 root   shadow     54968 Feb 17 02:42 chage
-rwxr-sr-x  1 root   crontab    35984 Feb  9  2013 crontab
-rwsr-xr-x  1 root   lpadmin    14336 Apr 10 19:40 lppasswd
-rwxr-sr-x  3 root   mail       14592 Dec  3  2012 mail-lock
-rwxr-sr-x  3 root   mail       14592 Dec  3  2012 mail-touchlock
-rwxr-sr-x  3 root   mail       14592 Dec  3  2012 mail-unlock
-rwxr-sr-x  1 root   mlocate    39520 Jun 20  2013 mlocate
-rwxr-sr-x  1 root   ssh       284784 May 12 17:04 ssh-agent
-rwxr-sr-x  1 root   tty        19024 Apr 16 17:07 wall 

标准安装。在 /usr/sbin 中为:

-rwsr-xr--  1 root    dip      343168 Jan 22  2013 pppd
-rwsr-sr-x  1 libuuid libuuid   18904 Apr 16 17:07 uuidd

在 /usr/lib/

drwxr-xr-x   2 root utempter     4096 May  7 23:46 utempter

在 /usr/local/share 中

 drwxrwsr-x  2 root staff 4096 Aug 20  2013 ca-certificates
 drwxrwsr-x  2 root staff 4096 Aug 20  2013 fonts
 drwxrwsr-x  7 root staff 4096 May  8 17:11 sgml
 drwxrwsr-x  6 root staff 4096 May  8 17:11 xml

以及 /usr/local/lib 中的任何 python 目录,例如:

 drwxrwsr-x  4 root staff 4096 May  8 18:44 python2.7

相关内容