感谢支持
我们一直在努力

Linux ACL应用学习

教到Linux 的acl ,只是大致地讲了一下,结合我自己之前的认识,在这里记录一下。


(当初我之所以知道 Linux也有acl这工具,是因为我在学习cisco路由时,学到ACL访问控制列表的内容,突发其想,想着Linux有没有访问控制之类 的东西?就上网搜了一下,结果真搜到了,当时真兴奋。哈哈。这是题外话)


首先先模拟一下环境,先创建一个文件系统。


Linux ACL


割一块大小512字节大小的文件出来 。


然后,将它与循环设备/dev/loop0连接在一起。



  1. losetup /dev/loop0 /opt/test 
  2.  
  3. losetup将循环设备与文件连接在一起,针文件模拟 成整个文件系统,让用户 
  4. 得以将其视为硬盘驱动器,光驱或软驱,并挂入当前指定目录来使用。 
  5. 好处是,即使这个文件系统崩溃,也不会影响到我们整个系统的正常动作。 
  6. 也可以设备一个密码:
  7. losetup -e 1234 /dev/loop0

 



  1. mke2fs /dev/loop0 
  2. mount -o rw,acl /dev/loop0 /mnt 

这样子,环境就做好了,以后的实验操作都在这个文件系统上做。


设置ACL的命令是这样的:


setfacl -m u:用户:rwx file


做个实验看看效果 :


Linux ACL


这样子,对于由root创建的文件,用户test1也有了可读可写的权限了。


Linux ACL

配置起来比较简单,但是其中有一个重点 ,就是图中的那个mask,这个是做什么用的?其实就是umask 的作用


umask:限定用户所能得到的最大权限 。


默认情况下,这个umask的值随着你的setfacl所配置的值一起改变,以使你的配置能达到你的意想之中。


例如:


Linux ACL


如图中所示,没有setfacl之前是mask::rw-,配置了setfacl之后 ,变成了rwx。


Linux ACL


不过这个值必须确定你想要什么,如果这个时候你再:


setfacl -m u:test2:rwx file


那么,这个mask又会变成rwx了


那么,上面那个#effective:r–是什么意思?


这个是说,对于用户test1,它对file文件的真实权限是r–,虽然我们设置 的是rwx,但是因为mask的关系,我们所能得到的最大权限 是r–。所以实际上,就只有r权限。


要删除ACL,可以这样:


Linux ACL


也可以:


Linux ACL


备份ACL:


Linux ACL


ACL 的大致功能应该差不多了。

赞(0) 打赏
转载请注明出处:服务器评测 » Linux ACL应用学习
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏