目录
目录及文件的权限管理
权限作用:linux为确保系统和用户的安全所采取的安全措施,普通用户只能不受限制的操作家目录下的所有文件 对系统中其他 目录/文件的访问受到限制
超级用户具有一切的权限 无需特殊说明
三种基本权限
读权限r 写权限w 执行权限 x
对文件来说
r:可读取文件的内容
w:可修改文件的内容
x:可执行文件的内容
对目录来说
r:可列出目录中的文件列表
w:可在该目录中创建或删除文件/子目录
x:可使用cd命令进入该目录
长格式去显示
d | rwx rwx rwx | 3 | root | root | 6 | 6月11日 15:25 | dir
d :文件类型
rwxrwxrwx: 九位权限信息 每三个分一组 顺序表示为 所有者权限 所属组权限 其他用户权限
3:硬链接数
root:所属用户
root:所属组
6:文件大小
6月11日 15:25:日期
dir:文件/目录名称
使用chown/chgrp改变文件/目录 所属用户以及所属组
1 使用chown命令改变所属用户以及所属组
chown 【-R】 用户名:组名 文件/目录
-R代表递归设置所有者以及所属组
2 使用chgrp 只能修改所属组
chgrp 【-R】组名 文件/目录
只有root用户才能改变所有者
只有root用户或所有者才能改变所属组
使用chmod进行数值设定法修改权限
chmod n1n2n3 文件或目录名
n1:所属用户 n2:所属组 n3:其他用户
权限r -> 4 w->2 x->1 - ->0
eg :
rwx rw- r-- 对应着 764
chmod 764 /opt
使用chmod进行字符设定法修改权限
chmod [who] [+ | - | =] [permission] 文件或者目录名
操作对象 操作方法 访问权限
u 属主(user) + 添加某权限 r 读
g 属组(group) - 删除某权限 w 写
o 其它(others) = 赋予某权限 x 执行
a 所有 (all) - 无权限
在命令行中可给出多个权限模式 期间用逗号间隔
eg:
chmod u+x /opt
文件访问控制列表
文件访问控制列表(FACL)作用:用于针对任意指定的用户或组分配rwx权限,linux中从2.6内核开始提供了对EXT2/3/4 XFS 等文件系统的FACL支持
FACL类型
存取ACL -> 是对指定文件或者目录 的存取控制列表
默认ACL -> 只能对目录设置 若目录中的文件没有存取ACL 就会使用该目录的默认ACL
获取ACL getfacl
设定ACL setfacl
改变ACL chacl
setfacl [-R | -d] {-m | -x} <ACL规则> 文件/目录
-R表示递归设置
-d表示给目录添加默认ACL 设置以后目录新增文件和子目录会被设置上FACL
-m 用来添加ACL
-x 用来删除ACL
意思就是给特定的用户进行授予权限 要不然只能修改 所属组所属用户和其他的权限 这样达不到我们想要的要求
强制位与粘滞位
三种特殊权限
强制位 SUID 和 SGID 粘滞位 sticky bit
只能对可执行文件/目录设置特权位 不同文件是不可以设置特权位的
对于可执行文件来说
1SUID 执行文件的用户会以文件的所属用户的权限去执行文件
2SGID 执行文件的用户会以文件的所属组的权限去执行文件
对于目录来说
1在设置了SGID权限的目录中创建的文件会与该目录的所属组一致
2在带有粘滞位的目录中的文件只能被文件所属用户和root用户删除(如果一个目录对其他用户是可写的我们就可以设置粘滞位 普通用户就不能删除别人创建的文件)
SUID:用s表示 占用所属用户的x位置来表示
SGID:用s表示 占用所属组的x的位置表示
sticky:用t表示 占用替他用户的x位置来表示
使用数值方法设置目录/文件的强制位与粘滞位
语法
chmod n0n1n2n3 文件/目录
SUID对应数字4
SGID对应数字2
sticky对应数字1
无权限对应数字0
使用字符方法设置目录/文件的强制位与粘滞位 和上面 权限设置的字符方法相似 就是把 rwx 换成了 s或者t