1.1 用户配置sudo权限(visudo)
sudo的工作过程如下:
1,当用户执行sudo时,×××会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限
2,确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认
3,若密码输入成功,则开始执行sudo后续的命令
4,root执行sudo时不需要输入密码(eudoers文件中有配置root ALL=(ALL) ALL这样一条规则)
5,若欲切换的身份与执行者的身份相同,也不需要输入密码
visudo使用vi打开/etc/sudoers文件,但是在保存退出时,visudo会检查内部语法,避免用户输入错误信息
visudo需要root权限
1)使用visudo命令打开sudo配置文件
# visudo
2)使用100gg快捷键跳转至第100行
3)配置介绍
配置 | 含义 |
---|---|
root | 表示有权限使用sudo命令的用户 |
ALL=(ALL) | 第一个ALL表示可执行的主机,第二个ALL表示可切换的用户 |
ALL | 表示可执行的权限 |
4)使用实例
# oldboy用户可以在所有主机上切换任意用户,并且可以执行所有命令
oldboy ALL=(ALL) ALL
# oldboy用户可以在所有主机上切换oldboy01和oldboy02用户,并且只能执行ls和ip命令
oldboy ALL=(oldboy01,oldboy02) /usr/bin/ls,/usr/sbin/ip
1.2 文件权限
1.2.1 查看文件信息
在 Linux 中我们可以使用 ll 或者 ls –l 命令来显示一个文件的权限以及文件所属的用户和组
其中除去开头的 - 字符后面的9位字符便是文件的权限
# ls -l /root
-rw-------
1.2.2 文件权限介绍
在Linux中,权限位共9个字符。去掉开头的文件类型,每3个相邻的字符位一组。前3位表示所属用户权限,中3位表示所属用户组权限,后3位表示其他用户权限。
1)文件权限:
权限 | 八进制数 | 含义 |
---|---|---|
r | 4 | read 代表可读权限 |
w | 2 | write 代表可写权限(删除目录下文件需要该权限) |
x | 1 | execute 代表可执行权限 |
- | 代表没有权限 |
2)特殊权限位
权限 | 八进制数 | 含义 |
---|---|---|
suid | 4000 | 让普通用户以root或其他的用户角色运行只有root或其他账号才能运行的命令或程序 |
sgid | 2000 | 执行命令的用户可以获得该程序执行期间所属组的权限 |
sticky | 1000 | 可以往里面放内容但是却不能对这个目录进行操作 |
1.3 chmod 修改文件权限
参数:
参数 | 含义 |
---|---|
u | (user) 用户位 |
g | (group)用户组位 |
o | (other)其他用户位 |
a | (all)所有用户位,默认为对所有用户位修改 |
- | 减少权限 |
+ | 增加权限 |
= | 赋予新的权限 |
1)对单独权限位修改
# 对用户权限位增加权限
chmod u+r oldboy01.txt
# 对用户组权限位减少权限
chmod g-w oldboy01.txt
# 对其他用户权限位赋予权限
chmod o=x oldboy01.txt
2)对所有权限位修改
对用户权限位赋予rwx权限 对用户组权限位赋予rx权限 对其他用户权限位赋予rx权限
# 以字符方式授权
chmod u=rwx,g=rx,o=rx oldboy01.txt
# 以数字的方式授权,权限对应八进制可相加
chmod 755 oldboy01.txt