关于useradd的一点事

关于 useradd 的一点事
 
虽然接触了 linux 有一段时间了 , 但是对于其很多基础的理论知识还不算太懂 . 时不时的碰到问题要临时去翻资料 . 今天就说一例
 
像平常一样切换用户
[root@server1 ax]# su yahoon
sh-2.05b$   这提示符是sh , 很是奇怪
新建 a1 用户
useradd a1
passwd a1 设密码就可以启用了
[root@server1 ax]# su a1
[a1@server1 ax]$ 这提示符是bash, 正常情况
 
查看用户配置文件
less /etc/passwd
yahoon:x:502:502::/home/yahoon:/bin/bash
a1:x:511:511::/home/a1:/bin/bash
为什么 yahoon 实际登陆的不是 bash, 到其主目录 ll �Ca 发现少了一些隐藏文件 , 尤其是以 .bash 开头的 . 很简单到 a1 的主目录里面将这些文件 copy yahoon
[root@server1 a1]# cp .bash* ~yahoon
[root@server1 a1]# su yahoon
[yahoon@server1 ax]$ su
正常了
分析原因估计是以前不小心将那几个文件删除了 .
: userdel -r 参数来递归删除其主目录
 
那么建一个用户的缺省 shell, 和主目录的那些文件都是从哪里指定的呢 ? 答案是下面这个文件
[root@server1 default]# less /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
新建一个用户如果未做任何指定的话 , 就会应用上述的配置 .
可以看到默认的 shell /bin/bash
默认的文件放在 /etc/skel
[root@server1 default]# cd /etc/skel
 [root@server1 skel]# ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .emacs  .gtkrc  .kde
在刚建的用户 a1 的主目录用 ls �Ca 查看 , 可以看到也有同样的文件 .
 
在这个目录下新建一个文件 abc, 可以推测以后建的用户的主目录下都会有这个文件 .
[root@server1 skel]# touch abc
新建用户 a2
[root@server1 skel]# useradd a2
查看 a2 的主目录
[root@server1 skel]# ls /home/a2
abc
确实有文件 abc
 
呵呵 原理搞清楚了一切就简单了

你可能感兴趣的:(linux,职场,useradd,用户管理,休闲)