工作中遇到如下场景,环境已经给定,也创建好了dsweb 用户,但是切换用户时提示
由于当时在.bash_logout .bash_profile这几个文件中进行了操作,但没有效果,且情景已无法再现,现在模拟错误场景
1、正常新建用户
useradd -m dsweb (useradd -m +用户名)的方式创建,它会在/home目录下创建同名文件夹2、执行su dsweb发现可以进入dsweb
3、执行su - root 切换到root下
4、进入/home/dsweb/
执行ls -a 或ls -la 查找隐藏文件,发现有.bash_logout , .bash_profile ,.bashrc这三个隐藏文件
5、删除这三个文件(最主要的是.bashrc)
6、执行su dsweb时出现bash-4.2$错误
解决方法:将/etc/skel/的隐藏文件拷贝到/home/dsweb/中重新登陆即可
任意路径下执行
cp -a /etc/skel/. /home/dsweb 注意dsweb后不加/不然会再建立一个skel的文件夹, .即为隐藏文件一般来说执行创建用户的时候,这些隐藏文件就会一并复制到对应目录下
useradd指令详解
https://www.cnblogs.com/craftor/p/3811612.html
linux .bashrc文件作用
https://www.cnblogs.com/midworld/p/11006967.html