此文章详细说明用户Linux相关的指令及其用法
涉及命令 useradd,usermod,userdel,groupadd,groupdel
useradd 创建用户命令
useradd 选项 用户名
useradd [options] LOGIN
-u UID
-o 配合-u 选项,不检查UID的唯一性
-g GID 指明用户所属基本组,可为组名,也可以GID
-c "COMMENT“ 用户的注释信息
-d HOME_DIR 以指定的路径(不存在)为家目录
-s SHELL 指明用户的默认shell程序,可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,…] 为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users组做主组
-r 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户
原理:如果useradd不加任何参数,那么生成的用户会从/etc下的相关目录和文件中复制相关信息。
其中涉及到的文件夹用户 自定义文件/etc/login.defs,用户默认配置文件 /etc/default/passwd。
当添加用户成功后会在passwd,shadow,group,gshadow中生成相关信息。同时会根据 /etc/default/useradd
中的配置信息skel 复制/etc/skel/. 到home 家目录下面。
常见参数 c d e f g G m M n r s u 可以用man方法查看 man useradd
-D 参数 与/etc/default/useradd 相关 执行-D指令本意是修改 上面路径文件夹里面的参数。
useradd -D 可以显示 /etc/default/useradd 这个文件夹里面的信息。切记一定是root账户才可以查看
useradd -D -g 100 修改组
用户默认值设定:/etc/default/useradd
[root@Centos7 bin]$cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel (创建用户拷贝的家目录模板)
CREATE_MAIL_SPOOL=yes
显示或更改默认设置
useradd -D
useradd –D -s SHELL
useradd –D –b BASE_DIR
useradd –D –g GROUP
/etc/login.defs 密码设置时间长度相关最大最小几位数等
例子:添加用户test并且注释信息为“ iam test”,uid指定为022 ,让他成为test成员,shell类型为/bin/sh ,设置家目录为/home/test ,过期时间为2020-10-10(一定是这种格式)test 一定要存在,可以提前加。
[root@Centos7 data]useradd -c iamtesst -u 1022 -G test -s /bin/sh -d /home/test -e “2020-10-10” test
useradd: group test exists - if you want to add this user to that group, use -g.
[root@Centos7 data]useradd -c iamtesst -u 022 -G test -s /bin/sh -d /home/test
-e “2020-10-10” test1
当我创建的目标用户为test时候,-G后面不可以和目标用户相同名字。否则会报错同上
usermod [OPTION] login
用法同useradd相似
-u UID: 新UID
-g GID: 新主组
-G GROUP1[,GROUP2,…[,GROUPN]]]:新附加组,原来的附加组将会被
覆盖;若保留原有,则要同时使用-a选项
-s SHELL:新的默认SHELL useradd -s /sbin/nologin mysql 不可交互登陆系统
-c ‘COMMENT’:新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,
同时使用-m选项
-l login_name: 新的名字
-L: lock指定用户,在/etc/shadow 密码栏的增加 ! 如果用root解码则会出现解锁状态。
-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期 usermod -e 2020-10-10 xiaoh
-f INACTIVE: 设定非活动期限
groupadd [OPTION]… group_name
-g GID 指明GID号;[GID_MIN, GID_MAX] 如果不指定参数,那么gid从500开始
-r 创建系统组
-f 强制覆盖一个已经存在的账户
CentOS 6: ID<500
CentOS 7: ID<1000
groupmod [OPTION]… group 组属性修改
-n group_name: 新名字
-g GID: 新的GID
组删除:groupdel
不能删除还有用户归属的主用户组
groupdel GROUP
userdel
userdel 选项 用户名
-f 强制删除。即使现在有人在使用
userdel xiaoh
userdel -r 用户 删除全部信息,尽量不要加r因为有时候数据还有用
批量建账号 创建文件复制到此文件里格式要一样