我做了一些改動,但其中一項我搞砸了。
我將資料夾內幾乎所有內容的權限更改/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


