红联Linux门户
Linux帮助

/etc/default/useradd文件详解

发布时间:2010-01-05 17:07:32来源:红联作者:xiadao_81
[i=s] 本帖最后由 xiadao_81 于 2010-1-5 17:13 编辑 [/i]

关于用户的默认配置文件有好几个,比如帐号文件/etc/passwd、密码文件/etc/shadow等,社区里有详解,可搜索。这里我们详细说说/etc/default/useradd这个文件。该文件主要是定义默认家目录、环境配置文件目录、登入执行首个程序等等。来个实例吧:

# useradd defaults file
GROUP=100 注:gid=100,表示可创建普通组
HOME=/home 注:把用户的家目录建在/home中;用户家目录的默认创建地
INACTIVE=-1 注:是否启用帐号过期停权,-1表示不启用;宽限天数,0及以下数皆为无效数字
EXPIRE= 注:帐号终止日期,不设置表示不启用;帐号失效日期(如:20081212)
SHELL=/bin/bash 注:所用SHELL的类型;登录后执行的程序
SKEL=/etc/skel 注: 用户家目录中的环境文件,默认添加用户的目录默认文件存放位置;也就是说,当我们用adduser添加用户时,用户家目录下的文件,都是从这个目录中复制过去的;
有人这里又会问:/etc/skel是干什么的?
用useradd username(或者adduser username)添加一个名为username的用户,然后用passwd username 指定口令。用户的信息记录在/etc/passwd文件里,由于每个用户都可以(而且必须能)读出这个文件然后就可以crack出其它用户的密码,为安全考虑现在都使用shadow。在/etc/passwd下用户的口令变为x 真正的口令密文记录在/etc/shadow里,而这个文件只有以root权限才能读出。Redhat 5.1以下版本没有直接使用shadow,需要用pwconv转换一下,如果要变回来,可以用pwunconv。
因此,在/etc/skel目录记录了一个用户应该有的基本文件(ls -a /etc/skel/看看都有什么,都是用户家目录中的环境文件),useradd会自动把这些文件复制到用户的家目录下并置上适当的权限(除非添加用户时用了-m参数: useradd -m xxx)。如果你在这个目录下键一个public_html的目录,则以后添加的用户在它的家目录下都会自动有个同名的目录,这样每个用户都有了“个人主页”。删除用户可以用userdel usrname或userdel -r username(有些发行版可能是deluser),-r参数会删除这个用户的宿主目录,但是在系统里别的地方还可能有此用户的信息,所以在删除用户之前最好还要用find / -user username等方式去找一找相关信息。 如果要临时禁止一个用户,可以在/etc/passwd文件中此用户的密码这一项第一个字符前添加一个*号。 如果把密码域改为空,则此用户不需要密码就可以进入系统,当你忘记root口令时,可以用软盘启动把原来的root安装上来,直接去改passwd文件。我记得以单用户方式启动时不需要密码可以进去。长用户名的问题,在Redhat发行版中已经做得很好了,也允许用户名中有空格。如果你手上的发行版不支持,到/usr/include/utmpbits.h里把UT_NAMEDSIZE改为32,重新编译相关程序。 另一个直观的配置工具是linuxconf,比如用它来配置pppuser等等。 这里只能给一些线索,自己多看"man useradd","man shadow","man group","man userdel"...... 因为是新手,所以我一直求助于“man”,而且也专门发了个贴子“学习Linux最好的办法”http://www.linuxdiyf.com/bbs/thread-170476-1-1.html

因此,我也建议新来者多看书多思考多看看man page,“求助于男人(man)”!呵呵!如果嫌在线不好看,可以利用管道符,比如:man useradd >>aa.txt 这样转成文件后观看!
文章评论

共有 4 条评论

  1. yashu 于 2010-01-06 07:08:28发表:

    学习学习

  2. 王中云 于 2010-01-06 00:08:53发表:

    顶

  3. nutra 于 2010-01-05 20:41:12发表:

    狠顶

  4. guang5678 于 2010-01-05 18:38:24发表:

    不错,看看。虽然很少关心这个。