资讯

展开

Linux下新建用户之后不显示用户名和路径问题解决

作者:快盘下载 人气:

​今天用useradd命令新建用户后,发现新用户“不显示用户名和路径”,如图,看着很难受:

Linux下新建用户之后不显示用户名和路径问题解决

就类似于这样:

$ cd ~    
$ ls$ ls -a

从网上搜集资料,有如下两种解决方法:

1、新用户指定shell为/bin/bash

#可以先cat /etc/passwd查看新用户指定shell是否为/bin/bash
su - root
usermod -s /bin/bash newUser

如果修改指定shell后还是不行的话只能用下面方法了。

2、修改~/.bash_profile文件

vim ~/.bash_profile  
#加入这一行
export PS1='[$USER@$PWD]$'  
#保存然后刷新~/.bash_profile文件
source ~/.bash_profile
-----------备注-----------
#网上也有说加入这一行的,但是我的CentOS7亲测不行,上面的肯定能行
#export PS1='[u@h W]$' 
#其中大写W代表最后路径,小写w代表详细路径

后来我研究了下root下的~/.bash_profile文件,发现它调用了~/.bashrc后又调用了/etc/bashrc文件,如下:

[root@jiahao ~]# cat .bash_profile
# .bash_profile
​
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi
​
# User specific environment and startup programs
​
PATH=$PATH:$HOME/bin
​
export PATH
[root@jiahao ~]# cat .bashrc
# .bashrc
​
# User specific aliases and functions
​
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
​
# Source global definitions
if [ -f /etc/bashrc ]; then
  . /etc/bashrc
fi

这就很好办啦,摈弃一些无用的设置,直接在新建的~/.bash_profile文件中写入:

if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

但是这样其实是有风险的哦,有兴趣的同学可以试一试,但是不要在生产环境试哦!

附录:useradd命令

useradd命令解析
-d 指定家目录
-g 指定用户组
-s 指定用户登入后所使用的shell
-m 自动创建用户的家目录。
Case 1: 创建一个带有家目录并且可以登录 bash 的用户
$ sudo useradd -m -s /bin/bash tester1
​
Case 2: 指定创建用户家目录的路径
$ sudo useradd -m -d /home/xxx tester2
​
/home/xxx目录会被创建。
Case 3: 创建一个没有家目录且不能登录的用户
$ sudo useradd -s /sbin/nologin tester3
​
Case 4: 创建时把用户加入不同的用户组
$ sudo useradd -m -G xxx,sudo tester4
注意过个组名使用逗号分隔,不能有空格。

加载全部内容

相关教程
猜你喜欢
用户评论
快盘暂不提供评论功能!