Linux中切换用户变成-bash4.2-$

xiaoxiao2021-02-28  42

今天创建用户后切换用户出现 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]# cp -a /etc/skel/. /home/es/ (注意这个点不能省)

ok!


注: 设置用户免密sudo:

[root@cdh1 elasticsearch-5.4.0]# vim /etc/sudoers

添加 es ALL=(ALL)NOPASSWD:ALL 一行 即可su 用户,免密sudo啦

转载请注明原文地址: https://www.6miu.com/read-2613218.html

最新回复(0)