我已經開始學習Linux命令,並且正在做簡單的事情,比如添加新用戶和組並刪除它們。當我嘗試刪除使用語法「userdel username」創建的用戶時,它將被刪除而沒有任何問題,但是當我嘗試使用userdel -r用戶名執行相同操作時,它會生成我在標題中指定的錯誤。userdel命令產生「DIRECTORY_PATH不屬於USER,不能刪除」錯誤
注:我以root身份登錄時正在做所有這些事情。
我已經開始學習Linux命令,並且正在做簡單的事情,比如添加新用戶和組並刪除它們。當我嘗試刪除使用語法「userdel username」創建的用戶時,它將被刪除而沒有任何問題,但是當我嘗試使用userdel -r用戶名執行相同操作時,它會生成我在標題中指定的錯誤。userdel命令產生「DIRECTORY_PATH不屬於USER,不能刪除」錯誤
注:我以root身份登錄時正在做所有這些事情。
這是因爲用戶的住宅不是由username
擁有,而是由另一個擁有。
檢查哪一個是grep username /etc/passwd
(倒數第二個字段)並查看它的權限。
例如:
$ grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
^^^^^
然後
$ ls -ld /root
drwx------ 12 root root 4096 Oct 18 12:55 /root
主目錄的所有權發生了變化。在使用userdel -r之前,請嘗試更改它的所有權:
# chown -R username ~username
chown代表更改所有權。 -R告訴它遞歸到目錄中。用戶名是您想要更改所有權的帳戶的用戶名,〜username僅表示指定用戶的主目錄。該命令將主目錄及其中的所有內容的所有權更改回用戶。或者,你可以刪除主目錄手動,而無需改變任何東西的所有權:
# rm -Rf ~username
# userdel username
如果用波浪號前面加上用戶名不是指用戶的主目錄,你可以使用/ etc/passwd文件爲fidorqui建議。
$ grep username /etc/passwd
(grep的=搜索文件或I/O流)
在/ etc/passwd中的每一行的格式如下: 密碼:用戶ID:GROUPID:評論(UID信息):home目錄:登錄外殼