<b>关于</b><b>useradd</b><b>的一点事</b>
<b> </b>
虽然接触了linux有一段时间了,但是对于其很多基础的理论知识还不算太懂.时不时的碰到问题要临时去翻资料.今天就说一例
像平常一样切换用户
[root@server1 ax]# su yahoon
<b>sh-2.05b$ </b><b>这提示符是sh</b><b>的,</b><b>很是奇怪</b>
新建a1用户
useradd a1
passwd a1 设密码就可以启用了
[root@server1 ax]# su a1
<b>[a1@server1 ax]$ </b><b>这提示符是bash,</b><b>正常情况</b>
查看用户配置文件
less /etc/passwd
yahoon:x:502:502::/home/yahoon:/bin/bash
a1:x:511:511::/home/a1:/bin/bash
为什么yahoon实际登陆的不是bash,到其主目录ll –a 发现少了一些隐藏文件,尤其是以.bash开头的.很简单到a1的主目录里面将这些文件copy到yahoon里
[root@server1 a1]# cp .bash* ~yahoon
[root@server1 a1]# su yahoon
<b>[yahoon@server1 ax]$ su</b>
正常了
分析原因估计是以前不小心将那几个文件删除了.
注:userdel 的-r参数来递归删除其主目录
那么建一个用户的缺省shell,和主目录的那些文件都是从哪里指定的呢?答案是下面这个文件
[root@server1 default]# less<b> /etc/default/useradd</b>
# 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 –a查看,可以看到也有同样的文件.
在这个目录下新建一个文件abc,可以推测以后建的用户的主目录下都会有这个文件.
[root@server1 skel]# touch abc
新建用户a2
[root@server1 skel]# useradd a2
查看a2的主目录
[root@server1 skel]# ls /home/a2
abc
确实有文件abc
呵呵 原理搞清楚了一切就简单了
本文转自yahoon 51CTO博客,原文链接:http://blog.51cto.com/yahoon/40875,如需转载请自行联系原作者