2012-01-13 165 views
0

我有一個debian squeeze機器,它已經遞歸地改變了它的文件權限,基本上是一個現在無法啓動應用程序 - 終端的位置。我google搜索,但無法找到任何有用的答案。有沒有辦法恢復debian squeeze中的所有默認設置?有沒有辦法在Debian中恢復默認文件權限?

+0

文件權限在哪個文件系統上被更改? '/ etc',系統,'/ usr','/ home',所有這些? – 2012-01-15 20:17:21

+0

是的。他們全部。幾乎一切都是根源。因此它不會啓動到任何用戶帳戶。 – King 2012-01-16 05:44:24

+1

我明白了。在這種情況下,您的選擇是(a)與正在運行的Debian系統進行比較,手動修復權限或(b)備份和重新安裝。我建議(b),這可能會更省時間,並且(a)很難確定你的一切都正確。 – 2012-01-16 08:29:47

回答

1

確實沒有必要重新安裝或任何其他這樣的激烈措施。只要有一點點工作,系統就會好起來,只要你還有root權限。

您使用了短語「不會啓動到任何用戶帳戶」。從這我帶你意味着系統將開機你只是不能登錄作爲除root以外的任何用戶。

在任何Linux發行版上幾乎都有系統上的所有文件除了/ home/[USERNAME]中的文件都歸root用戶所有。

您很可能是以其他用戶身份進行身份驗證,但由於他們的配置文件等屬於root用戶,系統無法完成登錄過程。您可以通過檢查/var/log/auth.log來輕鬆地驗證此問題。

我要做的第一件事是修正/ home中各個用戶目錄的文件和目錄權限,以便將相應的用戶和組修改。這可以通過一個簡單的命令從/ home完成。

chown是你想要的程序。閱讀手冊頁獲取更多信息,但基本上只是:

chown [path to user's home directory (i.e. /home/user) -R username.username. 

例如說你有用戶'foo'。你會執行此命令:

chown -R foo.foo /home/foo 

加入少許的循環,你可以改變燙髮一舉:(假設你使用bash):

for i in /home/*; do name=`basename $i`; chown -R $name.$name $i; done 

您現在應該是能夠以任何用戶身份登錄就好了。

+0

它只是引導到Grub。從那裏,我試圖改變這些權限。有一些事情,例如它失敗了一些sudo命令的權限。因爲它不會進入用戶登錄屏幕。還有一些東西必須在其他地方改變。 – King 2012-01-23 17:41:01

0

原始系統不會再啓動。

大概

  • 引導使用另一種媒介的OS,
  • 檢索和備份/home/etc
  • 重新安裝Debian,
  • 還原備份。

的Knoppix是一個很好的系統用來訪問和恢復的第一個驅動器,或者你可以嘗試啓動Debian的本身(從另一個磁盤或CD)來做到這一點。

+0

重新安裝顯然是最簡單的選擇。但是我可能安裝了這麼多的自定義軟件包並將它們安裝回去需要做很多工作。我只是在等待,看看是否有任何恢復真的可能。因爲,假設虛擬機實際上可以恢復到快照。 Windows有這個默認設置還原的東西。所以,我很想知道在debian中如何可能,甚至是痛苦? – King 2012-01-19 21:36:44

相關問題