我正在使用 Centos,並且我對其中一個目錄執行了 ll 命令。目錄中檔案的擁有者是一些數字而不是使用者名稱。你能解釋一下這是為什麼嗎?
如果您看到下面的內容,而不是 root 作為所有者,則顯示 600 作為所有者。而且沒有一個叫600的用戶,這是為什麼呢?
-rw-rw-r-x. 1 600 root 1696 Jun 27 2016 abc.txt
-rw-rw-r-x. 1 600 root 1696 Jun 27 2016 xyz.txt
-rw-rw-r-x. 1 600 root 1692 Jun 27 2016 hagts.txt
答案1
我的第一個假設是您或某人以 root 身分嘗試使用以下內容更改目錄或其中檔案的權限
# chmod 600 *
但錯誤地輸入為
# chown 600 *
這會將所有者更改為600
.即使系統上沒有這樣的用戶,這也是有效的操作。這些文件將歸 UID 600(可能未分配)所有。
要將它們改回來,請使用
# chown dave *
以 root 身分(替換dave
為您的使用者名稱)。
*
如果您不想影響所有檔案和目錄,您可能需要選擇特定的檔案和目錄名稱。您還應該透過查看 shell 歷史記錄來追溯您的步驟,看看您做了什麼實際上確實改變了所有權(如果是你的話)。
另一種可能性是檔案及其所有權是從 UID 600 的另一台電腦轉移的是有效用戶。如果檔案駐留在網路共用上且目前電腦上的使用者未以任何方式與建立檔案的電腦同步,則很容易發生這種情況。
您仍然可以以 root 身分更改所有權chown
。