Linux中是有自己的权限系统的,比如常用的755,655这样的权限。如果需要满足更高级的权限,比如我们需要让/root/test.file这个文件可以被一个普通账号test有所有权限的话,可以单独设置具体的权限,这里需要应用到ACL的权限策略。在Linux的2.6内核版本中已经自带了ACL的安全策略如果想要启用的话非常简单。
vi /etc/fstab
可以看到基本的磁盘分区表,如:
LABEL=/ / ext3 defaults,acl 1 1
我们可以将/目录加入ACL策略如图所示,修改完成后重启服务器。
这样的/目录就启用了ACL的安全策略
下面是设置/root/test.file文件,赋予test用户rwx权限
setfacl -m u:test:rwx test.file
这里的u代表用户,g代表组
test代表用户
rwx代表赋予的权限
test.file是文件名
getfacl test.file 可以看到如下:
# file: test.file
# owner: root 所属用户
# group: root 所属组
user::rw- 所属用户权限
user:test:rwx 所属特定用户test的权限
group::r-- 所属特定组的权限
mask::rwx mask权限计算掩码,如果mask为r 表示无论权限设置为多少,最大只能是r
other::r--
setfacl -x u:test test.file 删除test.file的test的ACL信息
setfacl -b test.file 删除全部ACL信息
getfacl -R test.file > acl.bak 备份ACL信息
setfacl -restore acl.bak 还原 ACL信息