Linux教程

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是默认环境变量

这篇关于Linux从root切换某个用户时可能出现:-bash-4.1$的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!