今天创建用户后切换用户出现 bash4.2-$ 这种情况,其实以前也遇到过,但没在意,现在解决下吧!
一、源头
创建一个系统用户,而我却要切换进去该用户进行操作,于是就这样了。
二、原因及解决
原来 useradd -r 创建的系统用户不可用于登录系统,和平常的直接 useradd xxx 结果完全不同。 useradd xxx 会直接再 /home 下生成用户目录,仔细查看隐藏的文件,发现一推.bash_logout、./bash_profile、.bashrc等文件
那么为什么需要这样文件,这就是跟linux的机制有关联了,因为在linux下每次通过useradd创建新的用户时,都会将所有的配置文件从 /etc/skel 复制到新用户的主目录下,一般默认在home下面的新用户主目录,而关于/etc/skel这个目录,是主要被useradd所用到。 简而言之,想要登录、添加用户环境变量,必须在用户主目录下存在这些文件。
于是,我么可以吧/etc/skel下的文件复制到系统用户主目录下,就可以登陆啦
[root
@cdh1 es]
ok!
注: 设置用户免密sudo:
[root
@cdh1 elasticsearch-
5.4.
0]
添加 es ALL=(ALL)NOPASSWD:ALL 一行 即可su 用户,免密sudo啦