linux ACL权限控制


一. 概念:

      ACL是Access Control List(访问控制列表)的缩写,用于linux复杂的用户权限控制当中。

      Cent7系统之前,只有系统安装时创建的文件系统支持ACL,后来创建的文件系统则不支持。

   Cent7系统后,不管文件系统是否在安装系统时被建立,都支持ACL。

 

二. 命令:

  getfacl:用于查看ACL权限。

  setfacl:用于设置ACL权限。

 

三. 用法:

   1. 查看文件或目录权限

   getfacl  文件/文件夹名

   例如:

      

 

   2.修改用户对文件或目录的权限

   setfacl -m u:uname:access  文件/文件夹名

  

  我将我个人对/root文件夹的访问权限改成了可读可写,而组内用户有读权限,组外用户无任何权限。

  接下来进行测试:

  

  

  的确,young用户由于被赋权。所以可以在/root目录下进行读写;而mysql用户由于未被赋权,且不在root组内,故什么权限都没有。

  测试完毕后,我们使用setfacl -b /root取消刚才添加的ACL权限。

  

  测试完毕。

Tips:

  setfacl -m u:uname:access -R 文件夹名:递归修改文件夹下所有子目录和文件的访问权限。

 

  3. 修改组对文件或目录的权限:

  setfacl g:gid:access 文件/目录路径,用法与给用户赋权一致,故不再赘述。

 

  4. 移动/复制文件或目录时需要注意的点:

  移动文件/目录时,默认连带ACL权限一起移动。

  复制文件时,默认不保留权限;需要加使用cp -p命令,才保留权限。

 

  5. 挂载时需要注意的点:

  如原来的文件系统不支持ACL权限,我们可以将其重新挂载。

  mount -o remount, acl 挂载点

 

  

  

 

 

  

   

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM