一、背景
我们的情况是这样的,我们要对 Tomcat 的网页目录配置 FTP 用户,有的用户使用 A 路径,有的使用 B 路径,但是都在 Tomcat 的管理目录下面,针对权限我们也不能全部改成某个用户的,那怎么样才可以是用户自由的再自己的家目录进行上传下载呢,那我们就会用 Linux 的 ACL 控制。
二、ACL 的使用
ACL 即 Access Control List 主要的目的是提供传统的 owner,group,others 的 read,write,execute 权限之外的具体权限设置,ACL可以针对单一用户、单一文件或目录来进行 r,w,x 的权限控制,对于需要特殊权限的使用状况有一定帮助。如,某一个文件,不让单一的某个用户访问。
ACL使用两个命令来对其进行控制。
getfacl:取得某个文件/目录的ACL设置项目
setfacl:设置某个文件/目录的ACL设置项目
setfacl 参数
-m:设置后续acl参数
-x:删除后续acl参数
-b:删除全部的acl参数
-k:删除默认的acl参数
-R:递归设置acl,包括子目录
-d:设置默认acl
假如 test1 的家目录是网页目录下面的 /var/www/html/test1,那我们创建 test1 用户。
useradd -d /var/www/html/test1 test1
然后给 test1 用户设定密码,我们再对此目录设定 acl 权限。
setfacl -m u:test1:rwx /var/www/html/test1
之后我们就可以再这个目录里面自由的上传下载了。
查看目录的 acl 属性使用如下命令查看。
getfacl /var/www/html/test1
问题:setfacl提示 Operation not supported
我们在设定权限的时候,可能会遇到这种问题。
解决方法:重新修改/etc/fstab文件,加入acl 选项
/dev/sda5 /var ext4 defaults,acl 0 0
然后:mount -o remount /var 重新挂载,再执行上面的命令,成功!
本文转自 wzlinux 51CTO博客,原文链接:http://blog.51cto.com/wzlinux/2052990,如需转载请自行联系原作者