1.问题:
在/data/testdir里创建的新文件自动属于g1组,组g2的成员如: alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。
[root@wen-7 testdir]# mkdir -p /data/testdir [root@wen-7 testdir]# ll -d /data/testdir drwxr-xr-x 2 root root 6 8月 4 10:58 /data/testdir [root@wen-7 testdir]# chmod g+s /data/testdir [root@wen-7 testdir]# groupadd g1 [root@wen-7 testdir]# groupadd g2 [root@wen-7 testdir]# groupadd g3 [root@wen-7 testdir]# chown :g1 /data/testdir/ [root@wen-7 testdir]# touch /data/testdir/f1 [root@wen-7 testdir]# ll /data/testdir/f1 -rw-r--r-- 1 root g1 0 8月 4 10:59 /data/testdir/f1 [root@wen-7 testdir]# setfacl -m d:g:g2:rw /data/testdir/ root@wen-7 testdir]# setfacl -m d:g:g3:r /data/testdir/ [root@wen-7 testdir]# getfacl /data/testdir/ getfacl: Removing leading '/' from absolute path names # file: data/testdir/ # owner: root # group: g1 # flags: -s- user::rwx group::r-x other::r-x default:user::rwx default:group::r-x default:group:g2:rw- default:group:g3:r-- default:mask::rwx default:other::r-x [root@wen-7 testdir]# chmod o= /data/testdir/ [root@wen-7 testdir]# ll -d /data/testdir/ drwxr-s---+ 2 root g1 15 8月 4 10:59 /data/testdir/
2、三种权限rwx对文件和目录的不同意义
文件:
r:可获取文件的数据
w:可修改文件的数据 (不可删除文件)
x:可将此文件运行为进程(针对二进制程序或脚本)
X:不会增加X(前提本身无X权限)
目录:
r:可使用ls命令获取其下的所有的文件列表
w:可修改此目录下的文件列表:即创建或删除文件 不看文件权限
x:可cd至此目录中,且可使用ls -l来获取所有文件的详细属性信息
X:不会增加X(前提本身无X权限)
3、umask和acl mask 的区别和联系
区别:
1.本质不同.umake是文件权限的反向掩码,屏蔽最大权限位,反向得出文件的默认权限,而make是直接定义文件权限的最大值.某些用户不能超过mask权限.
2.对象不同,umake针对的是属主,属组和other,但mask针对的对象是排除属主和other的所有人
3.标识不同.umake只是单纯的对比数值,没有相对的权限表达位.而mask会替代属组的权限位
4计算方式不同.umake是用最大权限减去umake值得到文件实际权限,而mask是直接用mask的权限与指定用户权限最对比,屏蔽最大权限.
联系:
1.都是文件的默认权限.
2.都能针对某个对象实现权限控制
4、三种特殊权限的应用场景和作用
SUID:
应用场景:默认情况下,用户发起的进程,进程的属主是其发起者,因此,其以发起者的身份在运行,想使用更大的权限运行程序
功用: 用户运行某程序时,如果此程序拥有SUID权限,那些二进制程序运行为进程时,其属主不是发起者,而是程序文件自己的属主
SGID:
应用场景:同一属组的用户,可以更改或删除组内其他用户的文件
功用:当某目录属组有写权限,且有SGID权限时,那么所有属于此目录的属组的用户,且以属组身份再此目录中新建文件或目录时,新文件的属组不是用户的基本组,而是此目录是属组;
STICKY:
应用场景:同一属组的用户,可以更改或阅读组内其他用户的文件,但不可删除
功用:对于属组或全局可写的目录,组内所有用户或系统上的所有用户对在此目录中都能创建新文件或删除所有的已有文件;如果为此类目录设置Sticky权限,则每个用户都能创建新文件,且只能删除自已的文件
5、设置user1,使之新建文件权限为rw——-
[user1@wen-7 ~]$ umask 0002 [user1@wen-7 ~]$ touch asd [user1@wen-7 ~]$ ll asd -rw-rw-r-- 1 user1 user1 0 8月 4 13:50 asd [user1@wen-7 ~]$ umask 066 [user1@wen-7 ~]$ umask 0066 [user1@wen-7 ~]$ touch asdf [user1@wen-7 ~]$ ll asdf -rw------- 1 user1 user1 0 8月 4 13:51 asdf
6、设置/testdir/f1的权限,使user1用户不可以读写执行,g1组可以读写
/testdir/dir的权限,使新建文件自动具有acl权限:user1:rw,g1:—
备份/testdir目录中所有文件的ACL,清除/testdir的所有ACL权限,并利用备份还原
root@wen-7 testdir]# touch f1 [root@wen-7 testdir]# setfacl -m u:user1:0 f1 [root@wen-7 testdir]# setfacl -m g:g1:rw f [root@wen-7 testdir]# getfacl f1 # file: f1 # owner: root # group: root user::rw- user:user1:--- group::r-- group:g1:rw- mask::rw- other::r-- [root@wen-7 testdir]# mkdir dir [root@wen-7 testdir]# setfacl -m d:u:user1:rw dir/ [root@wen-7 testdir]# setfacl -m d:g:g1:0 dir/ [root@wen-7 testdir]# getfacl dir # file: dir # owner: root # group: root user::rwx group::r-x other::r-x default:user::rwx default:user:user1:rw- default:group::r-x default:group:g1:--- default:mask::rwx default:other::r-x [root@wen-7 testdir]# touch dir/qwe [root@wen-7 testdir]# cd dir/ [root@wen-7 dir]# getfacl qwe # file: qwe # owner: root # group: root user::rw- user:user1:rw- group::r-x #effective:r-- group:g1:--- mask::rw- other::r-- [root@wen-7 testdir]# getfacl /testdir/* > acl.txt getfacl: Removing leading '/' from absolute path names [root@wen-7 testdir]# setfacl -R -b /testdir/* [root@wen-7 testdir]# getfacl f1 # file: f1 # owner: root # group: root user::rw- group::r-- other::r-- [root@wen-7 testdir]# getfacl dir # file: dir # owner: root # group: root user::rwx group::r-x other::r-x [root@wen-7 testdir]# setfacl -R --set-file=acl.txt /testdir/* [root@wen-7 testdir]# getfacl -R /testdir/* getfacl: Removing leading '/' from absolute path names # file: testdir/acl.txt # owner: root # group: root user::rw- user:user1:--- group::r-- group:g1:rw- mask::rw- other::r-- # file: testdir/dir # owner: root # group: root user::rw- user:user1:--- group::r-- group:g1:rw- mask::rw- other::r-- default:user::rwx default:user:user1:rw- default:group::r-x default:group:g1:--- default:mask::rwx default:other::r-x # file: testdir/dir/qwe # owner: root # group: root user::rw- user:user1:--- group::r-- group:g1:rw- mask::rw- other::r-- # file: testdir/f1 # owner: root # group: root user::rw- user:user1:--- group::r-- group:g1:rw- mask::rw- other::r--
原创文章,作者:wencx,如若转载,请注明出处:http://www.178linux.com/28732