命令 useradd=adduser
描述 create a new user or update default new user information 新建用户或更改新用户的默认配置
用法 1 2 3 Usage: useradd [options] LOGIN useradd -D useradd -D [options]
选项 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Options: -b BASE_DIR 指定用户家目录的上级目录,默认为/home,比如更改为/data -c 添加用户注释信息,作为/etc/passwd的第5个字段显示 -d HOME_DIR 指定用户家目录的上一级目录,系统会自动创建用户名子目录并更改权限 -D 显示或更改默认的useradd配置,不加参数为显示,添加参数为更改,文件路径/etc/default/useradd -e EXPIRE_DATE 指定账户过期时间,格式为YYYY-MM-DD -f 密码过期几天后禁用账户,默认为-1即永不禁用,如果设为0则密码过期后账户也被禁用 -g GID 指定属组的GID或组名,即添加新用户到已存在的组并作为属组 -G GROUP 指定附加组的GID或组名,即创建同名组并添加附加组,用户属于两个组 -h 帮助 -k SKEL_DIR 指定skel基本目录,即包含有.bashrc等配置文件的目录,该参数必须同-m一起使用 -K KEY=VALUE 指定参数覆盖/etc/login.defs中的默认配置 -m 创建用户家目录,默认参数 -M 不创建用户家目录 -N 不创建同名组,则用户会属于默认的users组 -o 允许创建UID相同的账户,该参数必须同-u一起使用 -r 创建一个系统账户 -s SHELL 指定用户的登录shell -u UID 指定用户的UID,UID必须唯一 -U 创建一个同名组,默认参数
新用户默认配置如下
1 2 3 4 5 6 7 8 $ useradd -D GROUP=100 HOME=/home #通过-b选项更改 INACTIVE=-1 #通过-f选项更改 EXPIRE= #通过-e选项更改 SHELL=/bin/bash #通过-s选项更改 SKEL=/etc/skel CREATE_MAIL_SPOOL=yes
其他默认配置需要修改/etc/login.defs
中的参数,如PASS_MAX_DAYS
注意 1.修改默认配置后仅针对后续新建用户生效,不影响之前已经创建的用户 2.linux系统中关注的是id号,而不是名称,删除用户后,家目录不会同步删除,显示为id号,再创建同id号的账户则自动接管家目录 3.如果之前指定了较大的uid,那后续新增用户会以最大的uid为准,依次加1,即使上一次指定了较小的uid,即和/etc/passwd中的uid排序无关
示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 $ useradd usera $ grep usera /etc/passwd usera:x:1004:1004::/home/usera:/bin/bash $ useradd -r userb $ grep userb /etc/passwd userb:x:997:995::/home/userb:/bin/bash $ mkdir /data/sftp $ useradd -d /data/sftp/userc -e 2020-12-31 -s /sbin/nologin userc $ grep userc /etc/passwd userc:x:1005:1005::/data/sftp/userc:/sbin/nologin $ chage -l userc Last password change : Dec 11, 2020 Password expires : never Password inactive : never Account expires : Dec 31, 2020 Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7 $ ll /data/sftp/ drwxr-xr-x 3 root root 19 Dec 11 16:26 ./ drwxr-xr-x 6 root root 54 Dec 11 16:26 ../ drwx------ 2 userc userc 62 Dec 11 16:26 userc/ $ useradd -g www zhangsan $ useradd -g www lisi rm -rf /home/userbcp -r /etc/skel /home/userb$ tail -3 /etc/passwd usera:x:1002:1002::/home/usera:/bin/bash userc:x:1003:1011::/home/userc:/bin/bash userb:x:1010:1023::/home/userb:/bin/bash $ useradd -u 1004 userd $ tail -4 /etc/passwd usera:x:1002:1002::/home/usera:/bin/bash userc:x:1003:1011::/home/userc:/bin/bash userb:x:1010:1023::/home/userb:/bin/bash userd:x:1004:1024::/home/userd:/bin/bash $ useradd user1 $ tail -5 /etc/passwd usera:x:1002:1002::/home/usera:/bin/bash userc:x:1003:1011::/home/userc:/bin/bash userb:x:1010:1023::/home/userb:/bin/bash userd:x:1004:1024::/home/userd:/bin/bash user1:x:1011:1025::/home/user1:/bin/bash