文件管理
文件权限
当查看文件时前面有一堆编号

除了开头的-代表了文件类型,后面有9个位置

如图所示,不同字母代表文件对不同对象的权限
命令生效是从左到右进行判定,如果已得到权限判定,则不会再向右查询
对一个文件最低访问权限是r - - 400
对文件夹最低访问权限是- - x 001,
但这种情况是不符合常理的,所以文件操作最少权限 r - x 或 - w x
影响文件权限默认生成的是umask码,非权限用户umask默认是002 ,root默认值为022
当生成文件时,默认666减去mask值,如有奇数则加1(为了新生成文件不默认具有执行权限)文件夹则是777减去mask值
更改文件所属者
chown + OWNER + FILE

用户 :组 同时更改
:组 只更改组
-R 递归更改
--reference = RFILE 参考指定文件属性更改

修改文件组信息
chgrp

修改文件权限
chmod
修改一类所有权限
chmod u (文件所属者)= g(文件所属组)= o(其他用户) = a(全员) + filename
修改一类某些位权限
u+ u- g+ g- o+ o- a+ a-
MODE

除了这三种常见权限,还有三种特殊权限:SUID SGID Sticky
SUID,当文件拥有此属性(设置在目录上无意义),使用此文件的用户暂时拥有此文件所属者的权限,如

此时调用f3.txt文件的用户可暂时拥有root权限(所以有风险),但SUID只对二进制可执行程序有效
SGID 当文件夹拥有此权限时,其内创建的文件夹不再默认为创建者的组,而是此文件所属组
Sticky 指定文件内所有文件都只能由其所有者删除
设定文件特殊属性
此设置可以防止root误删除或修改
chattr +i 不可删除、修改、改名
chattr +a 只能追加内容
lsattr 显示特殊属性

ACL权限功能
ACL: Access Control List
对上述的三种类别以外的用户实行权限管理
setfacl 设置ACL权限
getfacl 查看设置的ACL权限
setfacl -m 增加ACL权限
setfacl -x 删除
setfacl -b 删除所有


mask权限
只影响所有者和other之外的人或组(包括ACL设定的),对权限进行追加,如同公路上的限高杆
范例 setfacl -m mask : : rx file

当有facl属性时chmod g更改的属性会直接影响mask


浙公网安备 33010602011771号