1. 程式人生 > 其它 >Linux從root切換某個使用者時可能出現:-bash-4.1$

Linux從root切換某個使用者時可能出現:-bash-4.1$

Linux從root切換某個使用者時可能出現:-bash-4.1$

如下所示:
[root@server ~]# su - postgres
-bash-4.1$ id postgres
uid=26(postgres) gid=26(postgres) 組=26(postgres)
-bash-4.1$


原因:被切換的這個使用者/home目錄下環境變數檔案被刪除了,通過對比可以發現缺少兩個檔案(.bash_profile和.bashrc)。
為什麼需要這兩個檔案呢?
因為Linux系統在通過useradd建立新使用者時,都會將所有的配置檔案從/etc/skel/目錄下複製到新使用者的主目錄下,預設在/home/下面新使用者的主目錄。

解決辦法1:
1.切換到有故障的使用者
2.複製/etc/skel 裡面的模板到當前使用者
3.重新登入


-bash-4.1$ cp /etc/skel/.bash* ~
-bash-4.1$ logout
[root@server ~]# su - postgres
[postgres@server ~]$ id postgres
uid=26(postgres) gid=26(postgres) 組=26(postgres)
[postgres@server ~]$


解決辦法2:
root賬戶下,把/etc/skel/*拷貝到/home/postgres/目錄下,postgres是出問題的使用者名稱,即可。

注意:/etc/skell是預設環境變數