1.使用useradd命令新增用户,注意: adduser命令软链接指向useradd命令
#选项
# -u 指定要创建用户的UID,不允许冲突
# -g 指定要创建用户默认组 (老婆) <--如果没有指定 国家派送一个与你同名的组
# -G 指定要创建用户附加组,逗号隔开可添加多个附加组 (妾 N多个)
# -c 指定要创建用户注释信息
# -s 指定要创建用户的bash shell /bin/bash /sbin/nologin
# -d 指定要创建用户家目录 (默认都在/home下)
# -M 给创建的用户不创建家目录
# -r 创建系统账户,默认无家目录
#1.创建bgx用户,UID5001,基本组students,附加组sa 注释信息:2019 new student,登陆shell:/bin/bash
创建组
[root@oldboy ~]# groupadd students
[root@oldboy ~]# groupadd sa
创建用户(指定属性)
[root@oldboy ~]# useradd bgx -u 5001 -g students -G sa -c "2020 new student" -s /bin/bash
检查bgx用户
[root@oldboy ~]# id bgx
uid=5001(bgx) gid=1110(students) groups=1110(students),1111(sa)
过滤配置文件,检查用户详情(在这里面不显示附加组信息,只显示基本组)
[root@oldboy ~]# grep "bgx" /etc/passwd
bgx:x:5001:1110:2020 new student:/home/bgx:/bin/bash
#1.创建mysql系统用户,-M不建立用户家目录 -s指定nologin使其用户无法登陆系统
#2.-r创建一个系统用户,系统用户默认就没有家目录,-s 在指定不运行登陆系统
[root@oldboy ~]# useradd mysql -r -s /sbin/nologin
#3.-M不给用户创建家目录,并指定登陆的bash是/sbin/nologin
[root@oldboy ~]# useradd mysql2 -M -s /sbin/nologin
2.如何使用usermod命令修改用户信息
#选项
# -u 指定要修改用户的UID
# -g 指定要修改用户基本组
# -G 指定要修改用户附加组,使用逗号隔开多个附加组, 覆盖原有的附加组
# -d 指定要修改用户家目录
# -s 指定要修改用户的bash shell
# -c 指定要修改用户注释信息
# -l 指定要修改用户的登陆名
# -L 指定要锁定的用户
# -U 指定要解锁的用户
#1.检查此前创建的用户信息
[root@oldboy ~]# grep "bgx" /etc/passwd
bgx:x:5001:1110:2020 new student:/home/bgx:/bin/bash
#2.修改bgx用户uid6001、group:devops, groups:network,sa
[root@oldboy ~]# groupadd devops
[root@oldboy ~]# groupadd network
[root@oldboy ~]# usermod bgx -u6001 -g devops -G network,sa
-G > network,sa
-aG >> network
检查的操作
[root@oldboy ~]# grep "bgx" /etc/passwd
bgx:x:6001:5003:2020 new student:/home/bgx:/bin/bash
[root@oldboy ~]# id bgx
uid=6001(bgx) gid=5003(devops) groups=5003(devops),1111(sa),5004(network)
#3.修改bgx用户的注释信息 用户家目录 /opt/bgx 登录shell /bin/sh 登录名 bgx_new
[root@oldboy ~]# usermod bgx -c "2200 new student" -d /opt/bgx -s /bin/sh -l bgx_new
检查
[root@oldboy ~]# grep "bgx" /etc/passwd
bgx_new:x:6001:5003:2200 new student:/opt/bgx:/bin/sh
[root@oldboy ~]# id bgx_new
uid=6001(bgx_new) gid=5003(devops) groups=5003(devops),1111(sa),5004(network)
#4.锁定用户[扩展]
[root@bgx ~]# echo "123" |passwd --stdin username
[root@bgx ~]# usermod -L username #锁定后会无法登陆系统
#5.解锁用户[扩展]
[root@bgx ~]# usermod -U username
3.使用userdel命令删除账户
#选项 -r 删除用户的家目录,以及用户的邮件
#1.删除user1用户,但不删除用户家目录和 mail spool
[root@bgx ~]# userdel user1
#2.-r参数可以连同用户家目录一起删除(慎用)
[root@bgx ~]# userdel -r user1
#1.使用passwd命令修改用户密码
# passwd #给当前用户修改密码
# passwd root #给root用户修改密码(只能是root才有此权限,其他任何用户都没有该权限)
# passwd oldboy #给oldboy用户修改密码(root可以,或者oldboy用户自己给自己修改密码)
# 通过passwd --stdin读取输出的结果,将结果赋值给对应的用户
# echo "123" | passwd --stdin xuliangwei #非交互式修改密码
PS: 注意事项
1.普通用户只允许变更自己的密码,无法修改其他人密码,并且密码长度必须8位字符
2.管理员用户允许修改任何人的密码,无论密码长度多长或多短。
#1.系统内置变量生成随机字符串
[root@oldboy ~]# echo $RANDOM | md5sum | cut -c 2-10
d588c9112
#2.mkpasswd生成随机字符串
选项:
-l 设定密码长度,
-d 数子,
-c 小写字母,
-C 大写字母,
-s 特殊字符
[root@oldboy ~]# yum install expect -y
#注意:各种特殊字符的位数加起来,不能超过-l指定的长度
[root@oldboy ~]# mkpasswd -l 10 -d 2 -c 3 -C 3 -s 2
<uhKf-L73X
#能否删除用户,同时删除默认组的前提,该组是否有关联用户。
[root@localhost ~]# useradd liyu
[root@localhost ~]# id liyu
uid=6003(liyu) gid=6004(liyu) groups=6004(liyu)
[root@localhost ~]# userdel -r liyu
[root@localhost ~]# tail -1 /etc/group
network:x:1008:fanbinbin #liyu这个组被删除。
[root@localhost ~]# useradd lee
[root@localhost ~]# id lee
uid=6003(lee) gid=6003(lee) groups=6003(lee) #默认组为lee
[root@localhost ~]# useradd li -g lee #指定li的组为lee
[root@localhost ~]# id li #查看li信息
uid=6004(li) gid=6003(lee) groups=6003(lee) #组为lee
[root@localhost ~]# userdel -r lee
#userdel: group lee is the primary group of another user and is not removed.
#userdel:lee组是另一个用户的主要组,不会被删除。
[root@localhost ~]# id lee #用户lee被删除
id: lee: no such user
[root@localhost ~]# id li #查看用户li
uid=6004(li) gid=6003(lee) groups=6003(lee)
[root@localhost ~]# userdel -r li #删除用户li
[root@localhost ~]# tail -1 /etc/group #查看组信息
lee:x:6003: #该组还是存在的。
[root@localhost ~]#