15 权限管理及作业(作业单独一篇)
一、杂项知识整理
1、访问控制列表:ACL:Access Control List,实现灵活的权限管理。
除了文件的所有者,所属组和其它人,可以对更多的用户设置权限。
centos7.0之后默认创建的ext4文件系统有ACL功能,centos7.x之前的版本,默认手工创建的ext4文件系统无ACL功能,需要手动添加:
查看磁盘acl权限:dumpe2fs -h /dev/sda#:
Filesystem flags: signed_directory_hash Default mount options: user_xattr acl Filesystem state: clean
tune2fs -o acl /dev/sdb1
mount -o acl /dev/sdb1 /mnt
二、命令详解及事例
1、setfacl命令
文件名 :查看acl权限
-m 设置acl权限
u:USER:rx /FILE
u:USER:rx -R /DIR/
d:u:USER:rx -R /DIR
d:default 使文件夹下的新建的文件或目录默认有此属性acl权限
-k DIR 删除默认的acl权限
即使默认的acl权限给了x,文件也不会继承x权限。
-Rm g:USER:rwX /DIR
设定支持X,使文件夹有而文件没有acl权限
-x 删除指定的acl权限
setfacl -x g:USER /FILE
-b 删除所有的acl权限
-d 设定默认的acl权限,清空所有acl权限
逐个用户删除acl时,文件属性上的+不会消除,用-d变为默认,+就会消除
-R 递归设定
-M 调用文件:按照格式写入后setacl -M file.acl FILE/DIR
格式例如: u:wang:0
g:g1:rwx
u:tom:rw
getfacl file1 | setfacl –set-file=- file2 复制file1的acl权限给file2
setfacl –set u::rw,u:wang:rw,g::r,o::- file1情况所有acl权限,用新的替代,必须包含所有ugo的设置。
2、getfacl FILE 查看acl权限属性:
其中mask是最大值限定,可以设置以保证acl权限不会过大,原理:mask与赋予的acl权限相与(屏蔽权限,与umask同样),mask与赋予的acl权限同时存在时才会赋予此权限,也就是两个为真才为真,但是当mask为rwx时,不论赋予的何种权限,结果都为赋予的权限本身。
设定mask权限:setfacl -m mask:rwx FILE
mask值影响的不包括u和o。
3、cp和mv都支持acl但是cp命令需要加-p,但是tar等常见的备份工具不会保留acl信息。
三、课后练习及作业
1、pdf 6最后一个问题:
[root@localhost testdir]# ll 总用量 72 -r---w-rw-. 1 root root 4 8月 3 17:04 a -r---w-rw-. 1 root root 4 8月 3 17:04 a~ dr---wxrw-. 2 root root 4096 8月 3 17:03 aa -r---w-rw-. 1 root root 0 8月 3 17:53 b drwxr-xr-x. 3 root root 4096 7月 30 13:50 copytest drwxrws---+ 2 root g1 4096 8月 3 17:42 data drwx------. 2 root root 16384 7月 19 21:07 lost+found drwxr-xr-x. 2 root root 12288 8月 1 13:54 shelltest -rw-r--r--. 1 root root 32 7月 29 18:20 string.txt -rw-r--r--. 1 root root 246 8月 2 22:45 user drwxr-xr-x. 3 root root 4096 8月 3 13:12 user.dir -rw-r--r--. 1 root root 195 7月 28 19:37 userinfo -rw-r--r--. 1 root root 78 8月 2 22:53 userpasswd [root@localhost testdir]# lsattr ---------------- ./string.txt ----------I----- ./shelltest ---------------- ./b ---------------- ./data ---------------- ./copytest ---------------- ./userinfo ---------------- ./user ---------------- ./lost+found ---------------- ./a~ ---------------- ./user.dir ----ia---------- ./aa -----a---------- ./a ---------------- ./userpasswd [root@localhost testdir]# getfacl data/ # file: data/ # owner: root # group: g1 # flags: -s- user::rwx group::-wx group:g2:rw- group:g3:r-- mask::rwx other::---
原创文章,作者:SilencePavilion,如若转载,请注明出处:http://www.178linux.com/28045