Linux命令:useradd添加用户,可以通过$usera


useradd 命令的详细使用

1. 创建一个默认配置的用户

$ useradd user1

创建一个用户,登陆名为 user1 ,『uid』,『group』,『gid』,『shell』,『home_dir』都采用默认值。可以通过 $ useradd -D 来查看配置默认值。

  • uid :用户账户的 uid ,默认值取决于 /etc/login.defs 文件中定义的 UID_MIN 和 UID_MAX 变量值和在这个区间内(UID_MIN~UID_MAX)当前所有用户 uid 的最大值。默认是区间内当前所有其它用户 uid 最大值 +1,最小是 UID_MIN 。
  • group :默认用户组,取决于文件中 USERGROUPS_ENAB 变量的设置,如果设置为 true ,则会创建一个与『登录名』同名的『组』,即 user1 ;如果设置为 false 或 未设置,则会读取 /etc/default/useradd 中的 GROUP 变量的值(初始值是100),将这个值设为用户的主『group』。
  • gid :用户组的 id 号,当自动创建与『登录名』同名的『组』时,『组』的 gid 值取决于 /etc/login.defs 文件中 GID_MIN 和 GID_MAX 变量的值和在这个区间内(GID_MIN~GID_MAX)当前所有组 gid 的最大值。默认是区间内当前所有其它组 gid 最大值 +1,最小是 GID_MIN 。
  • shell :用户默认的 shell。默认值取决于 /etc/default/useradd 文件中 SHELL 变量的值。(初始值是 /bin/sh )
  • home_dir :用户主目录。取决于 /etc/login.defs 文件中 CREATE_HOME 变量的值。如果此变量为设置或为 false ,则不会创建主目录(初始值是未设置);如果此变量值为 true,则创建的主目录的路径为 /etc/default/useradd 文件中 HOME 变量的值,后面加上登录名。如果 HOME 变量未设置,默认值为 /home ,那么路径为 /home/user1

2. 创建一个用户,指定 uid 【-u / --uid】

$ sudo useradd -u 2000 user2
$ sudo useradd --uid 2001 user3

uid 号不能和已有的 uid 号重复,不能为负数。

3. 创建一个用户,指定组名或组号 【-g / --gid】

$ sudo useradd -g group1 user5
$ sudo useradd --gid 2004 user6

gid 号或者 『组』名必须已存在。

4. 创建一个用户,指定要加入的额外『组』【-G / --groups】

$ sudo useradd -G group2,group3 user7
$ sudo useradd -g 2003 -G 2006 user8

-G 的参数可以是一个列表,中间用逗号(英文)分隔,不能有空格。可以是『组』名,也可以是gid。

5. 创建一个用户,指定 shell 。【-s / --shell】

$ sudo useradd -s /bin/sh user9
$ sudo useradd -s /bin/false user10
$ sudo useradd --shell /usr/sbin/nologin user11

6. 创建一个用户,指定要创建用户『主目录』【-m / --create-home】

$ sudo useradd -m user12
$ sudo useradd --create-home user13

默认『主目录』的路径会读取 /etc/default/useradd 文件中 HOME 变量的值加上『用户名』,如果 HOME 变量未设置,那么默认值为 /home ,那么最终路径为 /home/user12 和 /home/user13 。

7. 创建一个用户,指定要创建用户『主目录』,并指定『主目录』路径 【-m / --create-home, -d / --home-dir】

$ sudo useradd -m -d /home/ppp_user14 user14
$ sudo useradd -m --home-dir /home/ppp_user15 user15

『主目录』的路径为 /home/ppp_user14 和 /home/ppp_user15 。

8. 创建一个用户,指定要创建用户『主目录』,并指定『主目录』基准路径 【-m / --create-home, -b / --base-dir】

$ sudo useradd -m -b /home/base_users user17
$ sudo useradd -m --base-dir /home/base_users user18

『主目录』指定的路径要已存在。最终路径为基准路径加上『用户名』,即 /home/base_users/user17 和 /home/base_users/user18 。

9. 创建一个用户,指定要创建用户『主目录』,并指定初始化『主目录』内容的『骨干目录』 【-m / --create-home, -k / --skel】

$ sudo useradd -m -k /data/user_init/ user19
$ sudo useradd -m --skel /data/user_init/ user20

『骨干目录』 /data/user_init/ 中的内容会复制到用户『主目录』 /home/user19 和 /home/user20 中。

10. 创建一个用户,指定过期时间 【-e / --expiredate】

$ sudo useradd -e 2024-01-24 user21
$ sudo useradd --expiredate 2024-01-23 user22

指定用户账户被禁用的日期,格式为 YYYY-MM-DD。

11. 创建一个用户,指定不要创建用户『主目录』 【-M / --no-create-home】

$ sudo useradd -M user23
$ sudo useradd --no-create-home user24

12. 创建一个用户,指定不要创建同『登录名』的『组』 【-N / --no-user-group】

$ sudo useradd -N user25
$ sudo useradd --no-user-group user26

不会创建与『登录名』同名的『组』,但会把用户加到 /etc/default/useradd 文件中 GROUP 变量指定的组,默认是100。

13. 创建一个系统账户 【-r / --system】

$ sudo useradd -r user27
$ sudo useradd --system user28

根据 /etc/login.defs 文件中 SYS_UID_MIN 和 SYS_UID_MAX 变量的值,在此区间内创建用户的 uid 号,默认不会创建用户的『主目录』,除非通过 -m 来指定。

相关内容