Linux 的 useradd 实用例子


Linux 下的 “useradd” 指令用作建立新帐号, 当执行 useradd 指令时, 它会完成以下工作:

— 编辑 /etc/passwd, /etc/shadow, /etc/group 及 /etc/gshadow 档案, 加入新帐号的内容.
— 为新帐号建立家目录.
— 设定新帐号家目录的权限及 owner.

执行 useradd 建立帐号时, 如果没有指定参数, 会用系统的默认值建立帐号, 以下是建立帐号时改变默认值的例子。

建立新帐号

要使用默认值建立帐号, 语法十分简单, 只要在 useradd 加上新帐号的 username 即可:

# useradd new_user

建立新帐号后, 需要用 passwd 为新帐号设定密码:

# passwd new_user
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:

# useradd -d /var/www/new_user new_user

自订新帐号 UID

每个帐号除了 username 独一无二外, 还有 UID 是不会重复的, 默认系统会在 500 或 1000 以上自加设定 UID, 要自订 UID, 可以用 “-u” 参数, 例如设定 UID 为 800:

# useradd -u 800 new_user

自订新帐号 GID

除了UID, 还有 GID 是不会重复的, 要自订 GID, 可以用 “-g” 参数, 例如设定 UID 为 800:

# useradd -g 800 new_user

加入帐号到多个群组

-G 参数可以将新帐号加多更多群组, 例如将新帐号加入 webadmin, developers 群组, 语法是这样:

# useradd -G webadmin,developers new_user

新帐号略过家目录设定

如果想设定新帐号没有家目录, 可以加八 -M 参数:

# useradd -M new_user

自订新帐号有效日期

useradd 默认建立的帐号永久有效, 如果要设定帐号的有效使用期限, 可以用这个语法:

# useradd -e 2017-01-27 new_user

强制帐号定时修改密码

8. Create a User with Password Expiry Date

-f 参数以定义帐号密码的有效时限, 以下会设定 30, 即使用者必须最少每 30 天修改一次密码:

# useradd -f 30 new_user

自订帐号 Login Shell

有时需要设定帐号 Login Shell, 最常见的情况是不让帐号登入 SSH/Telnet, 即设定成 /sbin/nologin:

# useradd -s /sbin/nologin new_user

Leave a Reply