名 称
       useradd - 帐号建立或更新使用者的资讯

语 法
       useradd [-c comment] [-d home_dir]
               [-e expire_date] [-f inactive_time]
               [-g initial_group] [-G group[,...]]
               [-m [-k skeleton_dir] | -M] [-s shell]
               [-u uid [ -o]] [-n] [-r] login

       useradd -D [-g default_group] [-b default_home]
               [-f default_inactive] [-e default_expire_date]
               [-s default_shell]

描 述
   新帐号建立
       当不加 -D 参数, useradd 指令使用命令列来指定新帐号的设定值 and 使用系统上的预设
      值 .新使用者帐号将产生一些系统档案,使用者目录建立,拷备起始档案等,这些
       均 可以利用命令列选项指定。此版本为RedHatLinux提供,可帮每个新加入的使用者
       建立个别的 group ,毋须添加-n选项。useradd 可使用的选项为

       -c comment
              新帐号password档的说明栏。

       -d home_dir
              新帐号每次登入时所使用的 home_dir。预设值为 default_home 内 login 名称,并当成
              登 入时目录名称。

       -e expire_date
              帐号终止日期。日期的指定格式为 MM/DD/YY 。

       -f inactive_days
              帐号过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关
              闭此功能,预设值为-1
       -g initial_group
              group 名称或以数字来做为使用者登入起始群组(group)。群组名须为现有存在
              的名称。群组数字也须为现有存在的群组。预设的群组数字为1。

       -G group,[...]
              定义此使用者为此一堆 groups 的成员。每个群组使用","区格开来,不可以夹
              杂空白字元。
              群组名同-g选项的限制。定义值为使用者的起始群组。

       -m     使用者目录如不存在则自动建立。如使用-k选项 skeleton_dir 内的档案将复制至
                使用者目录下。然而在 /etc/skel 目录下的档案也会复制过去取代。任何在 skele-
                ton_dir or /etc/skel 的目录也相同会在使用者目录下一一建立。The-k同-m不建立
                目录以及不复制任何档案为预设值。

       -M     不建立使用者目录,即使 /etc/login.defs 系统档设定要建立使用者目录。

       -n      预设值使用者群组与使用者名称会相同。此选项将取消此预设值。

       -r      此参数是用来建立系统帐号。系统帐号的UID会比定义在系统档上
              /etc/login.defs. 的 UID_MIN 来 的 小。注意useradd此用法所建立的帐号不会建立使用
              者目录,也不会在乎纪录在 /etc/login.defs. 的定义值。如果你想要有使用者目录
              须额外指定-m参数来建立系统帐号。这是REDHAT额外增设的选项。

       -s shell
             使用者登入后使用的shell名称。预设为不填写,这样系统会帮你指定预设的
             登 入shell。

      -u uid

              使用者的ID值。必须为唯一的ID值,除非用-o选项。数字不可为负值。预设为
              最小不得小于999而逐次增加。0~999传统上是保留给系统帐号使用 。

   改变预设值
       当 -D 选项出现时,useradd秀出现在的预设值,或是藉由命令列的方式更新预设值。
       可 用选项为∶

       -b default_home
             定义使用者所属目录的前一个目录。使用者名称会附加在default_home后面用来
             建立新使用者的目录。当然使用-d后则此选项无效。
       -e default_expire_date
             使用者帐号停止日期。

       -f default_inactive
             帐号过期几日后停权。

       -g default_group
             新帐号起始群组名或ID。群组名须为现有存在的名称。群组ID也须为现有存
             在的群组。

      -s default_shell
             使用者登入后使用的 shell 名称。往后新加入的帐号都将使用此 shell.

       如不指定任何参数,useradd 显示目前预设的值。

注 记
       系统管理者有义务在 /etc/skel 目录下放置使用者定义档。
       此版本『useradd』由RedHat修改。

警 告
       不可新增使用者于NIS群组中。你必须在NIS伺服器上执行。

档 案
       /etc/passwd - 使用者帐号资讯
       /etc/shadow - 使用者帐号资讯加密
       /etc/group - 群组资讯
       /etc/default/useradd - 定义资讯
       /etc/login.defs - 系统广义设定
       /etc/skel - 内含定义档的目录

实例:建立一个新用户账户,并设置ID:
#useradd caojh -u 544
需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特别用户,一般0到499之间的值留给bin、mail这样的系统账号。

PS. 管理用户(user)和用户组(group)的相关工具或命令;
1)管理用户(user)的工具或命令;

useradd 注:添加用户
adduser 注:添加用户
passwd 注:为用户设置密码
usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
pwcov 注:同步用户从/etc/passwd 到/etc/shadow
pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger 注:查看用户信息工具
id 注:查看用户的UID、GID及所归属的用户组
chfn 注:更改用户信息工具
su 注:用户切换工具
sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
sudoedit 注:和sudo 功能差不多;
2)管理用户组(group)的工具或命令;

groupadd 注:添加用户组;
groupdel 注:删除用户组;
groupmod 注:修改用户组信息
groups 注:显示用户所属的用户组
grpck
grpconv 注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
grpunconv 注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;