Linux 下的 “useradd” 指令用作建立新帐号, 当执行 useradd 指令时, 它会完成以下工作:
— 编辑 /etc/passwd, /etc/shadow, /etc/group 及 /etc/gshadow 档案, 加入新帐号的内容.
— 为新帐号建立家目录.
— 设定新帐号家目录的权限及 owner.
执行 useradd 建立帐号时, 如果没有指定参数, 会用系统的默认值建立帐号, 以下是建立帐号时改变默认值的例子。
建立新帐号
要使用默认值建立帐号, 语法十分简单, 只要在 useradd 加上新帐号的 username 即可:
建立新帐号后, 需要用 passwd 为新帐号设定密码:
Changing password for user new_user.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
自订新帐号家目录位置
如果没有额外设定, useradd 会建立新帐号的家目录在 /home 下面, 再加上用户名称, 例如 “/home/new_user”, 要修改家目录位置, 需要加上 “-d” 参数, 再指定目录位置, 例如设定家目录在 /var/www/new_user:
自订新帐号 UID
每个帐号除了 username 独一无二外, 还有 UID 是不会重复的, 默认系统会在 500 或 1000 以上自加设定 UID, 要自订 UID, 可以用 “-u” 参数, 例如设定 UID 为 800:
自订新帐号 GID
除了UID, 还有 GID 是不会重复的, 要自订 GID, 可以用 “-g” 参数, 例如设定 UID 为 800:
加入帐号到多个群组
-G 参数可以将新帐号加多更多群组, 例如将新帐号加入 webadmin, developers 群组, 语法是这样:
新帐号略过家目录设定
如果想设定新帐号没有家目录, 可以加八 -M 参数:
自订新帐号有效日期
useradd 默认建立的帐号永久有效, 如果要设定帐号的有效使用期限, 可以用这个语法:
强制帐号定时修改密码
8. Create a User with Password Expiry Date
-f 参数以定义帐号密码的有效时限, 以下会设定 30, 即使用者必须最少每 30 天修改一次密码:
自订帐号 Login Shell
有时需要设定帐号 Login Shell, 最常见的情况是不让帐号登入 SSH/Telnet, 即设定成 /sbin/nologin: