利用su - 切換用戶時,發現有一個用戶切時出現如下情況
[root@localhost ~]# su - aaa
su: warning: cannot change directory to /home/aaa: Permission denied
-bash: /home/aaa/.bash_profile: Permission denied
-bash-4.2$
觀察報錯信息發現是對家目錄/home/aaa沒有權限,於是查看/home目錄下的文件信息
發現用戶aaa的家目錄文件的所屬者和所屬組有異常,一般情況下用戶家目錄這兩者都是用戶自己,如上圖中的用戶alex,userA和userB
對aaa/目錄的所屬者進行進行修改,修改之后再進行用戶切換無報錯
問題雖然解決了,但是我記得系統里並無2133這個賬戶,而且我也沒有建立過這個用戶。於是我便把終端操作的歷史記錄導出,查找這個不存在用戶“2133”是否真的曾經存在
通過查找,發現是之前在創建用戶aaa時指定了其的uid為2133,但是隨后在588行刪除了這個用戶
但其實userdel aaa這條命令只會刪除用戶,但不會刪除它的家目錄,只有用userdel -r aaa 才會連同用戶和家目錄一起刪除。雖然在589行執行了userdel -r aaa命令,但aaa用戶已經不存在了,所以這命令是無效的。
在590行又創建了aaa用戶,由於同名家目錄已經存在了,所以在創建aaa用戶時並不會重新創建或者覆蓋/home/aaa目錄,因此該目錄的所屬者仍是“上一代“的aaa(id 2133)用戶