文章目录
一、用户分类
- 超级用户/根用户/root 有最高权限,一般不使用
- 普通用户 可以根据实际情况赋予不同权限
二、用户(组)的三个文件
-
/etc/passwd
描述用户基本信息的文件
用户id:
root用户 0 系统用户 1-499
普通用户 500+
-
/etc/shadow
描述关于每个用户密码的文件
-
/etc/group
描述用户组基本信息的文件,组id策略与用户id策略一致
三、用户操作
1. 添加用户
useradd / adduser 用户名
注意:
- 通过以上命令添加用户,使用 passwd 用户名 修改密码,必须使用root权限
- 创建用户的同时会自动创建出一个与用户同名的用户组
- 创建用户的同时系统会自动更新以上三个文件和创建此用户的家目录
2. 修改用户
usermod
usermod -l 新用户名 原用户名 修改用户名
usermod -g 新用户组/组id 原用户名 修改用户的所属组
usermod -G 附属组 原用户名 添加用户附属组
注意:
- 此命令必须在root权限下操作
- 修改用户之前必须退出被修改用户的登陆状态
- 修改用户名的时候,组名和家目录不会改变,其他可以改变
- 修改所属组的时候,新用户组可以写组名也可以写组id
- -G添加附属组,每个用户有一个主组,0到多个附属组
3. 删除用户
userdel 用户名 非登录状态下删除用户,保留家目录
userdel -f 用户名 可以在登录状态下强制删除用户,保留家目录
userdel -r 用户名 非登录状态下删除用户,并删除所有相关内容
userdel -rf 用户名 可以在登录状态下强制删除用户,并删除所有相关内容
注意:
- 此命令必须在root权限下操作
- 在非登陆状态下可以被删除,如果在登陆状态下可以使用-f强制删除(强制删除会提示已登录,但是已经被删除)
四、用户组操作
1. 添加用户组
groupadd 组名 单纯添加一个组,与用户无关
2. 修改用户组
groupmod -n 新组名 原组名 修改组名
groupmod -g 新gid 原组名 修改组名的gid
3. 删除用户组
groupdel 组名 删除用户组
注意:
- 需要root权限操作
- 若该群组中仍包括某些用户,则必须先删除这些用户,才能删除群组
五、su / sudo
-
su
su 用户名 切换到指定用户
su root / su 切换到root用户
-
sudo
临时赋予普通用户root权限,不需要切换到root用户
原理:
- root必须赋予某个用户最高权限
- 在普通用户操作界面可以通过sudo命令获取5分钟的操作权限
- 第一次使用,需要输入普通用户密码,如果正确,5分钟之内不需要重新输入
- 距离上一次输入密码5分钟之后再使用,重新输入密码
- 如果密码输入错误,系统会以邮件形式发送给root用户
配置方法:
-
修改 /etc/sudoers 文件
查找root关键字
定位到 root ALL=(ALL) ALL
复制修改 user ALL=(ALL) ALL
-
切换为普通用户,使用 sudo 用户名 使用root权限
六、权限修改
-
chgrp 修改文件/目录的所属用户组
sudo chgrp [-R] 新用户组名 文件/目录名
-
chown 修改文件/目录的所属用户
sudo chown [-R] 新用户名 文件/目录名 sudo chown [-R] 新用户名:新用户组名 文件/目录名
-
chmod 修改文件/目录的三个角色权限
1)使用数字修改权限,必须把三个角色同时表示
chmod [-R] 777 文件/目录名
2)使用字母+加减号修改权限,可以每个角色分别修改,也可以一起修改
u:user g:group o:other a:all chmod [-R] u+r / go+rw / a-x 文件/目录名
3)使用字母+等号修改权限,可以每个角色分别修改,也可以一起修改
chmod [-R] u=rwx / ug=rw / a=rx 文件/目录名