文件管理

文件权限

当查看文件时前面有一堆编号

除了开头的-代表了文件类型,后面有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

 

posted @ 2020-03-29 16:52  天际之上可有蓝天  阅读(164)  评论(0)    收藏  举报