系统教程
您现在的位置是:首页>服务器系统>Linux系统内容

Linux useradd添加用户后sudo -s导致命令行提示符显示不正常

时间:2018-05-09 出处:未知复制分享人气(次) 【

在ubuntu下,我常用的添加用户命令useradd,经常发现添加用户后,将用户加入sudo组,但是每当“sudo -s”切换到root下就会发现命令行提示符显示不正常。
 
比如,添加Hadoop用户,同时自动创建home目录:useradd -m hadoop
将hadoop加入sudo组:usermod -a -G sudo hadoop,
 
然后sudo -s,发现命令行提示符:
hadoop : hadoop sudo
sh-4.3#
 
正常理解,命令行提示符环境变量PS1是关键,但是在.bashrc里面已经设过了,不知道为什么还是没生效,为此苦恼好久。
 
问问网友,发现这个问题可能和shell有关,因为新建用户的默认shell没有指定对。果然,在/etc/passwd里面发现hadoop的shell没有设,所以在切换到root时,系统选择了默认shell:/bin/sh。
 
两种解决办法:
1.创建用户时指定shell:useradd -m hadoop -s /bin/bash,或者不在命令行指定shell,而是更改/etc/default/useradd里面指定的默认shell,同样有效。
2.如果用户已经创建好,可以在/etc/passwd里面找到该用户,把最后一个冒号后面的shell改成/bin/bash,当前用户logout,重新login就生效了。
    最新资讯
    热门内容
    小米移动电源能为iPad mini充几次电