系统权限
sudo命令
让普通用户使用超级管理员(root)的命令
给普通用户提升权限
减少登录次数提升安全性
很少再去使用root用户
1.选择性 如给一个用户设定可以改密码操作
2.sudo提供详细的日志文件,可以知道干了什么
3.时间戳 类似于检票 命令可以使用的有效时间
4.配置文件在/etc/sudoers
visudo 编辑sudo配置文件
root ALL=(all) ALL
用户名 主机(要使用谁的身份) 执行的命令
Linux系统权限:
权限对象 UGO模型
owner 属主 文件所有者
group 属组 文件的群组
others 其他
权限类型 字符表示方法 数字表示
read 读 r 4
write 写 w 2
execute 执行 x 1
属主: 用户若是文件的主人,则匹配属主的权限,权限在文件的左三位,即第一个rwx
属组: 用户和属组在同一个组,则匹配属组的权限,权限在文件的中三位 即第二个rwx
其他: 用户既不是属主也不是属组,权限在文件的右三位,即第三个rwx
rwx r-x r-x. 7 5 5
权限组合
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
rwx 111 7
1、对于文件而言
r: 可以获取文件的数据 读文件 cat more
w: 可以修改文件的数据
x: 可以将此文件运行成为进程
2、对于目录而言
r: 可以使用ls命令获取目录下的文件列表
w: 可以修改此目录下的文件列表, 可以删除和创建文件
x: 可以cd到此目录,可以使用ls -l 获取文件的详细属性信息
文件权限的判断逻辑
删除文件
判断ower group other有没有w权限
1、 先判断用户是以什么身份删除文件, ower--->group---->others
2、 判断用户是否为目录的属主。若是使用属主的权限位 看看权限位中有没有w权限
3、 如果不是属主,看是不是目录的属组,
4、 如果不是属组,则判断是不是oter
创建文件
和用户删除文件判断逻辑一致
修改文件
判断ower group other有没有w权限
1、先判断以什么身份(那个用户)修改
2、若是用户属主和目录属主,判断文件权限的前三位有没有w
3、若是用户属组和目录属组,判断文件权限的中三位有没有w
4、若是其他,判断文件权限中的后三位有没有w
目录权限的判断逻辑
删除目录
判断ower group other有没有w权限
1、 先判断用户是以什么身份删除文件, ower--->group---->others
2、 判断用户是否为上一级目录的属主。若是使用属主的权限位 看看权限位中有没有w权限
3、 如果不是属主,看是不是上一级目录的属组,若是使用属组的权限位 看看权限位中有没有w权限
4、 如果不是属组,则判断是不是oter
创建目录
和删除目录判断逻辑一致
修改目录
判断ower group other有没有w权限
1、先判断以什么身份(那个用户)修改
2、若是用户属主和目录属主,判断目录权限的前三位有没有w
3、若是用户属组和目录属组,判断目录权限的中三位有没有w
4、若是其他,判断文件权限中的后三位有没有w
权限管理类的命令
chomd命令
chmod:
-R:递归设置
chomd 777 file
mode表示法
u:属主 g:属组 o:其他 a:所有
赋权表示
u=rwx
g=r-x
o=rwx
a=rwx
授权表示
u+, u-
g+ ,g-
o+ ,o-
u+ , w-
chown chgrp
修改权限对象(修改文件或目录的属主或属组)
chown 既可以修改属主也可以修改属组
chgrp 只能修改属组
-R:代表递归修改
chown -R root file
进程的安全上下文
进程对文件的访问权限应用模型
进程的属主与文件的属主是否相同,如果相同,使用属主权限
否则,检查进程的属主是否与文件的属组相同,如果是,则应用属组权限 否则,只能应用other权限
基本权限acl
访问控制列表
getfacl:
setfacl: 针对用户和组来设定
-m:配置acl权限,不能和x结合使用
-R:递归配置
-d:默认的配置acl权限 对目录有效 而且是对目录下新建的文件或者目录有效
-x:删除acl权限
-b:清空acl权限参数
-k:移除默认的acl权限
权限继承
子文件目录继承父目录权限:父目录在被赋予权限之后才能继承给
之后再其下创建的文件或目录
d:u:用户:rwx是属主的权限继承
d:g:组:rwx是数组的权限继承
这两张图是递归配置为用户zhu属主,其下子目录也拥有了传承的能力,
但不代表他自己的属主被改变
权限总结
可以使用chmod直接赋予权限
也可以使用chown直接改变属主和属组来供不同用户使用的权限
还可以通过setfacl增加目录的继承来使得此目录之后的文件或目录拥有权限
备份和恢复
getfacl -R /path/acl > /path/file.acl
setfacl --restore /path/file.acl
权限掩码:umask
文件 666-umask 644
目录 777-umask 755
设置umask
# umask MASK 当前shell有效