Linux 用户管理工具介绍( 三 )


-g initial_group注:group名称或以数字来做为用户登入起始用户组(group) 。用户组名须为现有存在的名称 。用户组数字也须为现有存在的用户组 。预设的用户组数字为1 。
-G group,[...]
注:定义此用户为此一堆groups的成员 。每个用户组使用","区格开来,不可以夹杂空白字元 。用户组名同-g选项的限制 。定义值为用户的起始用户组 。。
-m;;注: 用户目录如不存在则自动建立 。如使用-k选项skeleton_dir内的档案将复制至用户目录下 。然而在/etc/skel目录下的档案也会复制过去取代 。任何在skeleton_dir or /etc/skel的目录也相同会在用户目录下一一建立 。The-k同-m不建立目录以及不复制任何档案为预设值 。
-M;;不建立用户目录,即使/etc/login.defs系统档设定要建立用户目录 。
-n;;预设值用户用户组与用户名称会相同 。此选项将取消此预设值 。
-r;;;此参数是用来建立系统帐号 。系统帐号的UID会比定义在系统档上/etc/login.defs.的UID_MIN来的小 。注意useradd此用法所建立的帐号不会建立用户目录,也不会在乎纪录在/etc/login.defs.的定义值 。如果你想要有用户目录须额外指定-m参数来建立系统帐号 。
-s shell; 注:用户登入后使用的shell名称 。预设为不填写,这样系统会帮你指定预设的登入shell 。
-u uid;;;uid用户的ID值 。必须为唯一的ID值,除非用-o选项 。数字不可为负值 。预设为以/etc/login.defs中的UID_MIN的值为准,0到UID_MIN的值之间,为系统保留的UID ;useradd 这么多的参数看上去头有点晕,我们如何用呢??其实很简单;一个参数一个参数的试一试不就明白了??这是最好的学习方法 。实践是检验真理的唯一标准;
如果useradd 后面直接跟用户名,不加任何参数,表示添加用户时按事先/etc/default/adduser 和/etc/login.defs 添加新用户的配置文件的规则来添加用户;其实我们为了方便,也可以把这两个文件修改以适合我们添加用户需要;
useradd 为什么还需要那么多的参数呢?
原因很简单,主要是为了管理员方便管理用户 。useradd 是灵活的,可以跳过/dev/default/adduser 和/etc/login.defs 两个配置文件中的规则来自定义添加用户;比如在用户的家目录,在/etc/default/adduser 中可能定义在/home目录下建立,如果我们的机器/home独立占一个分区,并且有点紧张,但我们又不想改变/etc/default/adduser 关于家目录的定义,这里我们就可以通过 adduser -d 参数把新增用户家目录定义到空间比较空闭的分区;
通过下面的几个例子,可能有助于我们理解useradd ,其实很简单~,学习也是这样,先从简单的入手,一步一步的走过来,没有什么难的~~
实例四:以/etc/logins.defs和/etc/default/adduser 默认的规则添加用户;
[root@localhost ~]# useradd; longcpu注解:如果useradd 后面直接用户名,表示系统读取 /etc/login.defs和/etc/default/adduser 配置文件,根本这两个配置文件所定义的规则来添加用户,比如用户的家目录哪里,用什么SHELL,UID和GID的分配... ... 查看/etc/passwd的新增记录,然后根据 /etc/login.defs和/etc/default/adduser 查看新增用户是否符合这两个配置文件所约定的规则;
实例五:练习参数的使用;
[root@localhost ~]# useradd -c ChinaCpu; longcpu; 注:添加一个新用户amdcpu ,使用参数-c;

[root@localhost ~]# more /etc/passwd |grep longcpu注:查看/etc/passwd 文件,并抽取longcpu的记录;
longcpu:x:510:510:ChinaCpu:/home/longcpu:/bin/bash;注:看上去是已经有amdcpu用户了;x是密码段;UID和GID 都是510,ChinaCpu表示是什么意思? 家目录位于/home/amdcpu,SHELL是bash ;

[root@localhost ~]# finger longcpu 注:我们查询一下amdcpu 用户的信息;

推荐阅读