您的位置:首页 > 运维架构 > Linux

Linux ACL权限设置

2015-08-04 18:22 399 查看
ACL权限命令用于给一个目录附加一个用户或者用户组以读、写、执行权限,此用户或者用户组非此目录的所有者和所属组。

1、查看分区ACL权限是否开启

[root@localhost ~]# dumpe2fs -h /dev/sda1(要更改的目录所在的分区)

列出的信息中有这一行的表示支持:

Default mount options: user_xattr acl

现在的linux版本一般默认都支持ACL,基本可以忽略.

2、查看文件或文件夹是否用有ACL权限

[root@localhost ~]#getfacle 目录名

如查看tmp目录下test文件夹是否有ACL权限

[root@localhost tmp]# getfacl test

# file: test

# owner: root

# group: root

user::rwx

group::r-x

other::r-x

表示test文件夹没有额外的ACL权限

3、设定ACL权限

(1) 添加用户的ACL权限

[root@localhost~]setfacl -m u:用户名:权限 目录

如给test文件夹添加用户prudery的读写执行权限

[root@localhost tmp]setfacl -m u:prudery:rwx test

然后查看ACL权限

[root@localhost tmp]# getfacl test

# file: test

# owner: root

# group: root

user::rwx

user:prudery:rwx

group::r-x

mask::rwx

other::r-x

可以看到多了一个用户名为prudery的读写执行权限

(2) 添加用户组的ACL权限

[root@localhost~]setfacl
-m g:用户组:权限 目录 (用法一样,只是把参数u换成g,后边跟组名)

4、ACL一些其他常用的参数

[root@localhost tmp]# setfacl -x u:用户名 目录 #删除指定用户的ACL权限

[root@localhost tmp]# setfacl -k u:用户名 目录 #删除指定用户默认的ACL权限

[root@localhost tmp]# setfacl -x g:组名 目录 #删除指定用户组的ACL权限

[root@localhost tmp]# setfacl -k g:组名 目录 #删除指定用户组默认的ACL权限

[root@localhost tmp]# setfacl -b 目录 #删除文件的所有的ACL权限

[root@localhost tmp]# setfacl -m u:用户名:权限 -R 目录名 #递归设定ACL权限,父目录下所有子目录和子文件都将更改

[root@localhost tmp]# setfacl -m d:u:用户名:权限 -R 目录名 #递归设定默认的ACL权限,此目录下所有新建的子目录和子文件都将拥有指定的ACL权限

以上命令中的"目录"也可以是文件,但是用递归命令时,必须是对目录操作
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: