將 /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

相關內容