2、Centos7用户与组管理
1、用户与用户组概念
用户UID | 系统含义 |
---|---|
0 | 超级用户,拥有系统的最高权限 |
1-200 | 系统用户,系统分配给系统程序使用,不需要登陆系统 |
201-999 | 系统用户,用来运行服务,不需要登录系统 |
1000+ | 普通用户 |
用户组分为:根用户组、普通用户组、系统用户组、虚拟用户组、附属用户组、访客用户组
主要组(主组):每个用户只有一个,创建用户默认创建
附属组(补充组):可以零个或者多个
1.1 查看用户和组的配置文件
#1查看用户配置文件
cat /etc/passwd
#2查看用户密码配置文件
cat /etc/shadow
#3查看用户组配置文件
cat /etc/group
#4查看用户组密码配置文件
cat /etc/gshadow
#5查看SMB用户账户
pdbedit -L
#6查看当前登陆用户信息id命令
[root@localhost ~]id
uid=0(root) gid=0(root) groups=0(root)
#7 w 命令显示当前登录到系统的用户信息,以及他们正在执行的进程
[root@localhost ~] w
21:33:56 up 4:59, 3 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 15:54 5:00m 0.87s 0.87s -bash
root pts/0 desktop-0cq6v50. 20:36 4.00s 0.21s 0.00s w
root pts/1 192.168.10.30 18:12 1:59m 0.07s 0.07s -bash
#8查看系统可以登陆的用户,/sbin/nologin表示不能登陆
[root@localhost ~] cat /etc/passwd | grep /bin/bash
root:x:0:0:root:/root:/bin/bash
#9 将ccq的shell改为/sbin/nologin,即不让ccq账号登陆
usermod -s /sbin/nologin ccq
#10查看用户加入的组
groups cq
#11 查看用户的详细信息
finger cq
#12 查看我是谁
whoami
#13查看当前系统运行进程信息
ps
#14 su切换用户身份
su cq
2、用户
2.1 创建用户useradd命令
1命令格式:useradd [选项] 用户名
2可能直接用useradd --help查看命令帮助
option | 说明 |
---|---|
-b | 新账户主目录的基础目录 |
-c | 新账户的注释(用户信息) |
-d | 新账户的主目录 |
-D | –defaults 打印或更改默认的 useradd 配置 |
-e | 新账户的过期日期 |
-f | 新账户密码的不活跃周期 |
-g | 新账户的主要组的名称或 ID |
-G | 新账户的补充组列表 |
-m | 创建用户的主目录(默认创建) |
-M | 不创建用户的主目录 |
-N | 不创建与用户同名的组 |
-o | 允许创建具有重复(非唯一)UID 的用户 |
-p | 新账户的加密密码 |
-r | 创建一个系统账户 |
-s | 新账户的登录 shell |
-u | 新账户的用户 ID,不得小于999 |
-U | 创建与用户同名的组 |
例如:创建账号名为:cq的账号,指定创建的基础目录为/home/Admin,真实姓名为Jonathon ,电话139999、组ID为10000(该组已经创建),指定不能登陆。
useradd -b /home/Admin -s /sbin/nologin -g 1000 -c "jonathon 139999" cq
查询结果如下:
[root@localhost Person-dir]# finger cq
Login: cq Name: jonathon 139999
Directory: /home/Admin/cq Shell: /sbin/nologin
Never logged in.
No mail.
No Plan.
2.3 管理密码passwd命令
命令格式:passwd [选项] [用户名称] --查看密码状态
命令格式:passwd [用户名称] --更改密码
2.4 修改用户usermod命令
1命令格式:usermod [options] LOGIN
2可能直接用usermod --help查看命令帮助
option | 说明 |
---|---|
-c | 修改注释说明文字 |
-d | 用户账户的新主目录 |
-e | 将账户过期日期设置为 EXPIRE_DATE |
-f | 密码过期后设置为不活跃状态的时间为 INACTIVE |
-g | 强制使用 GROUP 作为新的主要组 |
-G | 新的补充组列表 |
-a | 追加用户到 -G 选项提到的补充组,而不从其他组中删除用户 |
-l | NEW_LOGIN 登录名的新值 |
-L | 锁定用户账户 |
-m | 将主目录的内容移动到新位置(仅与 -d 一起使用) |
-o | 允许使用重复(非唯一)的 UID |
-p | 使用加密密码作为新密码 |
-s | 用户账户的新登录 shell |
-u | 用户账户的新 UID |
-U | 解锁用户账户 |
-v | 添加从属 UID 的范围 |
-V | 删除从属 UID 的范围 |
-w | 添加从属 GID 的范围 |
-W | 删除从属 GID 的范围 |
-Z | 用户账户的新 SELinux 用户映射 |
例如:将用用户cq的主目录从/home/Renshi/Person-dir移动到/home/Renshi下:
#cq用户的当前目录
[cq@localhost ~]$ pwd
/home/Renshi/Person-dir/cq
#登陆root用户改变其主目录:cq文件夹不用存在
usermod -md /home/Renshi/cq cq
[cq@localhost ~]$ pwd
/home/Renshi/cq
2.4 删除用户userdel命令
基本用法:userdel [options] LOGIN
选项 | 说明 |
---|---|
-f | 强制进行一些原本会失败的操作,例如:移除仍在登录的用户或文件 |
-r | 移除主目录和邮件池 |
-P | 存放/etc/*文件的前缀目录 |
-Z | 移除用户的任何SELinux 用户映射 |
2.4 修改密码期限chage命令(加固命令)
基本用法:chage [options] LOGIN
从其他用户切换到root需要重新输入密码,从root切换到其他用户则不需要密码
option | 说明 |
---|---|
-d | 将上次密码更改的日期设置为 |
-E | 将账户过期日期设置为 |
-I(大写I) | 在密码过期后将其设置为多少天不活跃 |
-l(L的小写) | 显示账户老化信息 |
-m | 将更改密码前的最小天数设置为 |
-M | 将更改密码前的最大天数设置 |
-R | 要切换根目录到的目录 |
-W | 将过期警告天数设置为 |
3、用户组
3.1 添加组groupadd命令
基本用法: groupadd [options] GROUP
option | 说明 |
---|---|
-f | 如果组已存在则成功退出,如果 GID 已被使用则取消 -g 选项 |
-g | 为新组使用 GID --gid 2000 |
-o | 允许创建具有重复(非唯一)GID 的组 无 |
-p | 为新组使用此加密密码 |
-r | 创建一个系统账户 |
3.2 管理组groupmod命令
基本用法: groupmod [options] GROUP
option | 说明 |
---|---|
-g | 将组 ID 更改为 |
-n | 将组名更改为 |
-o | 允许使用重复(非唯一)的 GID 无 |
-p | 将密码更改为此(加密的) |
3.3 删除组groupdel命令
基本用法:groupdel [options] GROUP
#删除用户组
groupdel Admin
#-f即使组是某用户的主要组,也强制删除该组
groupdel -f Admin
3.4 维护组成员gpasswd命令
基本用法:gpasswd [option] GROUP
option | 说明 |
---|---|
-a | 将用户USER添加到组GROUP --add user1 |
-d | 从组GROUP中移除用户USER --delete user2 |
-r | 移除组GROUP的密码 |
-R | 限制组GROUP的访问仅限于其成员 |
-M | 设置组GROUP的成员列表 |
-A | 设置组GROUP的管理员列表 |
3.5 查看用户所在组groups命令
[root@localhost Person-dir]# groups cq
cq : Renshi