Linux中的acl

POSIX访问控制列表(ACL)

ACL:允许向文件分配细化的权限

文件所有者可以在单个文件或目录上设置ACL,新文件和子目录自动从父目录默认acl中继承acl设置

文件系统挂载选项

文件系统需要挂在已启用的ACL支持:XFS文件系统内置有ACL支持,在红帽7中ext4文件系统默认启用了acl选项,而在红帽早期版本中创建的ext4文件系统可能会通过挂载请求包含acl选项,或在超级块中设置此选项

查看和解释ACL权限

 ls �Cl:仅输出最少的ACL设置详细信息

 + :表示此文件有相关联的ACL设置

  使用chmod更改具有ACL的文件的组权限,则不会更改组所有者权限,而是更改acl掩码,若想要更改组所有者权限则使用setfacl �Cm g::perms file

查看文件acl :getfacl  file

   1.打开注释条目:识别文件名、所有者、组所有者,若有其他标志,会出现第四行显示

   2.用户条目:

   3.组条目:

   4.掩码:显示指定用户,组所有者和指定组提供的最大权限

   5.其他条目:

查看目录acl:getfacl  /directory

   1:打开注释条目:与文件acl权限相似

   2:标准acl:与文件acl相似,区别:含有执行权限,以允许目录搜索权限

   3.默认用户条目:默认指定用户将会自动获取应用到新文件或子目录的默认acl

   4.默认组条目:指定组会自动获得默认acl

   5.默认acl掩码条目:默认掩码为所有新建文件或目录提供最大权限

   6.默认其他条目

●getfacl的输出可作为setfacl的输入,使用getfacl �CR /directory生成目录及其内容的输出,将此输出传递给setfacl �Cset-file=file

Acl掩码:可授予指定用户、指定组的最大权限

若未显示设置时,会自动添加,也可从父目录默认掩码中继承默认掩码

Acl权限优先级:决定一个进程能否访问文件

  若以文件所有者身份运行进程,则应用文件的用户acl权限

更改acl文件权限

  Setfacl:添加、修改、删除文件或目录的标准acl

  r:读取

  w:写入

  x:执行

  -:缺少相关权限

  X:以递归设置acl时,若文件还没有相关执行权限,则只应设置目录的执行权限

  m:通过命令行添加新的acl或修改acl

  R:以递归方式将acl应用到目录结构和文件上

  x:删除特定acl条目,其他acl条目不受影响

  b:删除文件或目录所有的acl,包括目录默认的acl

掩码只能在未设定其他acl的情况下删除,因此必须在最后删除

  --set 或 �Cset-file:完全替换文件的acl设置

添加或修改用户acl

   setfacl�Cm u:username:rwx file  若用户名为空,指文件的所有者,也可以是uid

添加或修改组acl或指定组acl

setfacl �Cm g:name:rwx file  name空,指组所有者 ,可以gid

设置明确的acl掩码

   Setfacl -m m::r flie 添加掩码值,为只读

   -n 或-m m::perms  避免重新计算掩码值

控制默认的acl文件权限

   目录默认acl由所有新文件和新子目录自动继承

   目录仍需要具备标准的acl才能进行访问权限,因为默认acl不会对目录实施访问权限控制,它们提供acl权限继承支持


你可能感兴趣的:(linux,File,用户,acl)