用户和用户组
用户分类
管理员用户 | 虚拟用户(伪用户) | 普通用户 |
---|---|---|
用户名固定为root UID 固定值为,拥有系统最高管理权限 | 不能登录系统,仅用于系统管理或系统服务 | 可以登录系统,在系统中只有有限 |
查看用户和切换用户
-
id
命令名称:id 用户名
命令功能:用于显示用户的ID,以及所属群组的
-
su
命令名称:su 用户名
命令功能:变更用户身份,切换用户。
• - 变更工作目录为新用户的家目录
su后无用户名表示切换至root用户从root用户切换至普通用户无需输入密码
-
sudo
命令格式: sudo command
命令功能:允许普通用户能够执行只有root用户才有权限执行的命令
用户管理命令
增加用户命令
-
user add
命令格式: useradd [ 选项 ] 用户名
命令功能:增加用户
• -g 用户组:为指定用户组创建用户
• -d 目录 :指定用户主目录
• -m 指定新建用户登入目录
• -c 对用户进行备注
管理用户命令
-
passwd
命令格式:passwd [ 选项 ] 用户名
命令功能:指定和修改用户口令
• -l 锁定密码
• -u 解锁密码
• -d 删除密码
删除用户命令
-
userdel
命令格式:userdel [ 选项 ] 用户名
命令功能:删除用户
• -r 将用户的主目录一并删除
-
usermod
命令格式:usermod [ 选项 ] 用户名
命令功能:修改用户相关信息
• 修改用户名: -l 新用户名 原用户名
• 锁定账户: -L 用户名
• 解锁账户: -U 用户名
-
示例:在Linux系统中增加用户demo,为其设置密码,再删除此用户
运行如下
[root@localhost ~]# useradd demo [root@localhost ~]# passwd demo Changing password for user demo. New password: Retype new password: passwd: all authentication tokens updated successfully. [root@localhost ~]# ll /home/ total 8 drwx------. 3 demo demo 78 Nov 3 05:17 demo drwx------. 3 xiaoli test-g 78 Oct 27 01:32 xiaoli drwx------. 3 xiaowang network-g 78 Oct 27 01:32 xiaowang drwx------. 3 xiaozhao project-g 78 Oct 27 01:33 xiaozhao [root@localhost ~]# grep demo /etc/passwd demo:x:1007:1007::/home/demo:/bin/bash [root@localhost ~]# userdel -r demo [root@localhost ~]# grep demo /etc/passwd [root@localhost ~]# ll /home/ total 8 drwx------. 3 xiaoli test-g 78 Oct 27 01:32 xiaoli drwx------. 3 xiaowang network-g 78 Oct 27 01:32 xiaowang drwx------. 3 xiaozhao project-g 78 Oct 27 01:33 xiaozhao
用户影子文件
sadow文件中各个域的含义如表所示
域 | 含义 |
---|---|
username | 用户登录名 |
passwd | 加密的用户口令 |
lastchg | 表示从1970年1月1日起到上次修改口令所经过的天数 |
min | 表示两次修改口令之间至少经过的天数 |
max | 表示口令还会有效的最大天数,如果是99999则表示永不过期 |
warn | 表示口令失效前多少天内系统向用户发出警告 |
inactive | 表示禁止登录前用户还有效的天数 |
expire | 表示用户被禁止登录的天数 |
flag | 保留域,暂未使用 |
用户组管理命令
增加用户组
-
groupadd
命令格式:groupadd [ 选项 ] 用户组名
命令功能:增加新用户组
• -g 用户组ID 用户组名:指定新用户组的组标识
修改用户信息
-
groupmod
命令格式:groupmod 用户组
命令功能:修改用户组信息
• -g 新GID值 用户组名:为用户组的指定新标识
• -n 新用户组名 原用户组名:修改用户组名
删除用户组
-
groupdel
命令格式:groupdel 用户组
命令功能:删除用户组
用户组配置
-
gpasswd
命令格式:gpasswd [ 选项 ] 用户 用户组
命令功能:设置用户组的用户
• -a 用户名 用户组名: 为用户组添加用户
• -d 用户名 用户组名: 移除用户组中的用户
批量增加用户
Step1:按照 /etc/sudoersetc/etc/sudoerspasswd 的文件格式做一个文本文件,假设命名为user .txt。
user001::1010:1000:user:/home/user001:/bin/bash
user002::1011:1000:user:/home/user002:/bin/bash
user003::1012:1000:user:/home/user003:/bin/bash
user004::1013:1000:user:/home/user004:/bin/bash
user005::1014:1000:user:/home/user005:/bin/bash
user006::1015:1000:user:/home/user006:/bin/bash
Step2:执行 newusers<user.txt
命令 导入用户信息,可以查看文件/etc/sudoersetc/etc/sudoerspasswd 确认是否添加成功。
[root@localhost ~]# newusers<user.txt
[root@localhost ~]# cat /etc/passwd | grep user00
user001:x:1010:1000:user:/home/user001:/bin/bash
user002:x:1011:1000:user:/home/user002:/bin/bash
user003:x:1012:1000:user:/home/user003:/bin/bash
user004:x:1013:1000:user:/home/user004:/bin/bash
user005:x:1014:1000:user:/home/user005:/bin/bash
user006:x:1015:1000:user:/home/user006:/bin/bash
Step3:编辑密码文本文件, 假设密码文件名passwd.txt。
user001:123456
user002:123456
user003:123456
user004:123456
user005:123456
user006:123456
Step4:执行命令chpasswd<passwd.txt,写入密码。
[root@localhost ~]# chpasswd<passwd.txt
[root@localhost ~]# cat /etc/shadow | grep user00
user001:$6$xOO4Zj4ECJis6x/D$JsKjiZCMjp0nKYukOuY6XB61ZvD9Ol/77C0BpmKVhGo0ySDROgX25n4CBdOwu.hpwQEKlB7n3wbtiiHnKft7q.:18569:0:99999:7:::
user002:$6$eZaS6zkLsNOOV$vXiA5ffvV342hYXHSphvlf28ph2NBO/E8k7XBNy/iJ4QXJq9f69rYqxbCzL5TxEWjKQCuzTOuSgZiVE5Kwc0W/:18569:0:99999:7:::
user003:$6$63dZh/vVUyt/j$MCjibrnaZwjx3Ugy38AawJjt3nWs6oO4SXrpl9UAinOlqnmbgyy0RPBsfzhZdsKnmni/IsuHko3h.6Y/jY6IA1:18569:0:99999:7:::
user004:$6$LqF/3/plaeN$YtyuLY1de5aILF7msssI3.5WnO9X9khC03G8ZXSAS2Elwh/Z/TYwckcAfOfl153b4/xLLE4dIrTnX7H7NapG0.:18569:0:99999:7:::
user005:$6$nmZHpTEKHrkwjCP/$RNKxZ59Cr50dcT4Pevn4cftIIlFd8mY1mvKhDcbDmfuM0gZzITNxSnIq3JKDYXcPD3iRaAY3zA9gquwJlyQh3/:18569:0:99999:7:::
user006:$6$Km.a3/nH$uk9LJZFpsjCSmkIT6T1oypiX3PiBGs.9DFSsAXnxWEgmseGAflsivbCJfmXLhv2LOGyUq3Ar3AVT.Xk11n0gP1:18569:0:99999:7:::