天天看点

关于useradd的一点事

<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,如需转载请自行联系原作者

继续阅读