Attr 权限 和 ACL 访问控制列表


  • Attr 权限里的 “a” 权限和 “i” 权限
a :全名append only    
   只允许追加数据,不允许任何用户改动文件(超级用户也不行) 
   甚至不能正常的删除文件
   只能读取文件内容,只能用 “echo” 追加内容
   chattr +a xxx  #增加 a 权限
   chattr -a xxx  #取消 a 权限
   lsattr   #查看权限
[root@deng-120 /test]# touch abc    #自行创建一个 abc 文件
[root@deng-120 /test]# chattr +a abc/   #给 abc 加上 “a” 权限
[root@deng-120 /test]# lsattr       #查看 “a” 权限
-----a---------- ./abc      
[root@deng-120 /test]# echo "hello" >> abc  #可用“echo”把内容追加到 abc 文件中
[root@deng-120 /test]# vim abc      #编辑文件 

abc保存退出的时候会发现无法保存,只能退出不做修改;表示 “a” 权限只能对文件的追加而不能进行修改
这里写图片描述

i :全名immutable  
    不允许对这个文件进行任何的修改(超级用户也不行)
    不能正常的删除文件
    只能读取文件内容,不能用 “echo” 追加内容
    chattr +i xxx  #增加 i 权限
    chattr -i xxx  #取消 i 权限
    lsattr  #查看权限
[root@deng-120 /test]# chattr +i abc    #给 abc 加上 “i” 权限
[root@deng-120 /test]# lsattr       #查看 “i” 权限
----i----------- ./abc
[root@deng-120 /test]# echo "hello" >> abc  #用“echo”把内容追加到 abc 文件中
-bash: abc: 权限不够        

权限不够,表示 “i” 权限的特性就是不允许做任何的修改删除,只能读取

  • ACL:访问控制列表

使用语法: setfacl -[选项] [权限设置] 操作对象
查看语法: getfacl 加路径

-m   设置一个ACL权限
-x   取消一个ACL权限
-b   清除所有的 ACL 权限

举个栗子:允许用户 rosen1 对 “/test/abc” 文件有读和写的权限;用户 rosen2 对 “/test/abc” 文件没有任何权限,其他人只有读的权限(用户自行创建)

[root@deng-120 /test]# setfacl -m u:rosen1:rw- /test/abc    # rosen1 读和写权限
[root@deng-120 /test]# setfacl -m u:rosen2:--- /test/abc    # rosen2 没有任何权限
[root@deng-120 /test]# chown zhang3 abc     #修改所有者为zhang3
[root@deng-120 /]# getfacl /test/abc 
# file: test/abc    #文件所在的路径
# owner: zhang3     #文件附加所有者
# group: root       #文件所属组
user::rw-           #用户权限
user:rosen1:rw-     # rosen1 读和写权限
user:rosen2:---     # rosen2 没有任何权限
group::r--          #用户所属组权限
mask::rw-           #除了 root 集体控制附加所有者的最大权限
other::r--          #其他人只读权限

mask 值作用:除了 “root 用户” 权限之外,其他的 ACL 用户和组(包括默认组),都会被mask 作用到

修改 “mask” 值: setfacl  -m  m:rwx /test/abc

上述的权限也是相当重要的,对linux中的用户以及文件都起到了非常关键提高安全的作用效果,不一样的权限有着不一样的设置规范作用效果也是相当不一样。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐