linux创建、修改和删除用户(useradd | usermod | userdel|passwd)
原创
©著作权归作者所有:来自51CTO博客作者wx59129d39de499的原创作品,请联系作者获取转载授权,否则将追究法律责任
1.useradd命令
格式: useradd [选项] ...用户名
2.1-常用命令选项
-u:指定UID标记号
-d:指定宿主目录,默认为/home/用户名
-e:指定账号失效时间
-g:指定用户的基本组名(或者GID号)
-G:指定用户地附加组名(或者GID号)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录shell
-c:用户注释描述信息
-r:新建系统用户,不会有新建家目录
-g 主要组 --》主业
-G 次要组 --》副业
[root@localhost liming]# groupadd mingjiao
[root@localhost liming]# groupadd wudang
[root@localhost liming]# useradd -g mingjiao -G wudang zhangwuji/etc/passwd | grep zhangwuji
zhangwuji:x:1029:1029::/home/zhangwuji:/bin/bash
[root@localhost liming]# id zhangwuji
uid=1029(zhangwuji) gid=1029(mingjiao) 组=1029(mingjiao),1030(wudang)
-u 指定uid号
-d 指定家目录所在
[root@localhost mail]# useradd -g mingjiao -G wudang -d /guangmingdin -u 9000 zhangwuji/etc/passwd | grep zhangwuji
zhangwuji:x:9000:1029::/guangmingdin:/bin/bash
[root@localhost mail]# id zhangwuji
uid=9000(zhangwuji) gid=1029(mingjiao) 组=1029(mingjiao),1030(wudang)
-s 指定用户登录的shell
[root@localhost /]# useradd -s /sbin/nologin libai/]# cat /etc/passwd | grep libai
libai:x:1024:1024::/home/libai:/sbin/nologin
[root@serv-test home]# useradd test002 -r -M -s /sbin/nologin-test home]# id test002
uid=494(test002) gid=493(test002) 组=493(test002)
[root@serv-test home]# tail -1 /etc/passwd
test002:x:494:493::/home/test002:/sbin/nologin
-c 用户描述信息
[root@localhost mail]# useradd -g mingjiao -G wudang -d /guangmingdin -c mingjiaomaster -u 9000 zhangwuji/etc/passwd | grep zhangwuji
zhangwuji:x:9000:1029:mingjiaomaster:/guangmingdin:/bin/bash
2,userdel 删除用户
-f #强制删除用户账号
-r #删除用户主目录及其中的任何文件
-h #显示命令的帮助信息
删除用户,但不删除其家目录及文件
[root@mingongge ~]# userdel mingongge
1.
删除用户,并将其家目录及文件一并删除
登录后复制
[root@mingongge ~]# userdel -r mingongge
1.
强制删除用户
[root@mingongge ~]# userdel -f
3,usermod命令
- -l : 更改用户账号的登录名称
- -L:锁定用户账号
- -U:解锁用户账号
- 以下选项与useradd命令中的含义相同
- -g -G -c -d
-u 修改uid号
[root@localhost home]# usermod -u 1029 zhangwuji
[root@localhost home]# id zhangwuji
uid=1029(zhangwuji) gid=1029(mingjiao) 组=1029(mingjiao),1030(wudang)
-L 锁定用户账号
LOCK 禁用用户 --》不能ssh登录linux系统
本质:将某个用户锁住,其实就是在/etc/shadow里面该用户的密码字段前面加一个!,就可以将该用户锁定,也可以直接vim该文件在密码前面修改
[root@localhost home]# usermod -L feng2
[root@localhost home]# passwd -S feng2
feng2 LK 2022-02-27 0 99999 7 -1
4,passwd命令
交互式设置密码
[root@localhost home]# useradd liang
[root@localhost home]# passwd liang
非交互式设置密码
[root@localhost home]# echo 123456 | passwd liang --stdin--stdin 的作用是告诉passwd使用前面传过来的作为密码
-l锁定用户账号
-S查看用户的状态(是否被锁定)
usermod禁用用户的时候,在shadow文件里的密码字段加一个!
passwd 禁用用户的时候,在shadow文件里的密码字段加两个!
[root@localhost home]# passwd -l feng3
锁定用户 feng3 的密码 。
passwd: 操作成功
[root@localhost home]# passwd -S feng32022-02-27 0 99999 7 -1
设置强度较高的随机密码
-l 长度
-d 数字
-c 小写
-C 大写
-s 特殊字符
yum install -y expect
[root@serv-test home]# mkpasswd -l 25 -d 5 -c 6 -C 7 -s 3
DVJsez&SSjzfu0u81>9Ajz"R6
5,groupadd 新建组
groupadd只能一次新建一个组,不能一次新建多个组
[root@localhost lianxi2]# groupadd nongda
[root@localhost lianxi2]# groupadd gongda
[root@localhost lianxi2]# groupadd wenli
groupdel 删除组
删除gongda组,验证是否可以成功删除?
不能,group只能删除空的组,如果里面有人的话是不能删除的
如果想删除需要将里面用户的组换到别的组
[root@localhost lianxi2]# groupdel gongda
--用户创建流程--
系统创建用户参考的两个配置文件
/etc/login.defs
/etc/default/useradd
如果在创建时,我们自行指定了参数,那么优先使用定义的;
如果没有定义,则使用默认配置(/etc/login.defs | /etc/default/useradd)
[root@serv-test home]# grep -vEn "^#|^$" /etc/login.defs
15:MAIL_DIR /var/spool/mail
25:PASS_MAX_DAYS 99999
26:PASS_MIN_DAYS 0
27:PASS_MIN_LEN 5
28:PASS_WARN_AGE 7
33:UID_MIN 500
34:UID_MAX 60000
39:GID_MIN 500
40:GID_MAX 60000
54:CREATE_HOME yes
58:UMASK 077
62:USERGROUPS_ENAB yes
65:ENCRYPT_METHOD SHA512
[root@serv-test home]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes