Linux切換用戶時報錯/.bash_profile: Permission denied,命令行(終端提示符)出現-bash-4.2$


利用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)用戶


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM