今天创建用户后切换用户出现 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啦

GitHub 加速计划 / li / linux-dash
13
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:4 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐