作业:
在/data/testdir里创建的新文件自动属于g1组,组g2的成员如:alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。
#groupadd g1
#groupadd g2
#groupadd g3
#useradd -G g2 alice
#useradd -G g3 tom
#mkdir -p /testadir/data/testdir 在/testdir下新建/data /testdir 两个目录
#chgrp g1 /testadir/data/testdir/ 先把/data/testdir目录的默认属组更改为g1
#setfacl -m d:g:g2:rwx /testadir/data/testdir/
#setfacl -m d:g:g3:r /testadir/data/testdir/
#chmod g+s /testadir/data/testdir/ 设置/data/testdir的SGIU即可,新建的文件自动属于g1组
#chmod 660 /testadir/data/testdir/
2、梳理归结:三种普通权限、三种特殊权限、ACL、chattr
三种普通权限 |
属主:rwx(读、写、执行);对于目录上使用,r、w需与x一起使用,否则权限上的授予没有太大的意义;如果是在文件,可以不给予执行权限;管理员可以让文件或者目录的属主拥有一定的权限进行操作。 |
属组:rwx(读、写、执行);对于目录上使用,r、w需与x一起使用,否则权限上的授予没有太大的意义;如果是在文件,可以不给予执行权限;可以授予文件或者目录的属组成员相应的权限操作。 |
other:rwx(读、写、执行);对于目录上使用,r、w需与x一起使用,否则权限上的授予没有太大的意义;如果是在文件,可以不给予执行权限;可以让属主和属组之外的 其他用户拥有一定的权限进行操作。 |
文件: 目录: r(4):可读,可使用文件查看类工具获取其内容; 可以使用ls查看此目录中文件列表 w(2):可修改其内容:可写; 可在此目录中创建文件,也可删除此目录中的文件 x(1):可执行,可把此文件提请内核启动为一个进程。 可使用ls -l查看此目录中文件列表,可以cd进入此目录
|
三种特殊权限 |
SUID:只能作用于二进制文件,这时其他用户(对该文件无任何的操作权限)可以通过继承属主的权限去执行相应的操作。chmod u+s file(二进制文件) |
SGID:可以作用于二进制文件,也可以作用于目录;当作用于二进制文件时,这时其他用户(对该文件无任何的操作权限,同时也不是属组的成员)可以通过继承属组的权限去执行相应的操作。chmod g+s file(二进制文件) |
Sticky:也称为粘滞键;常用于other权限位,只能作用于目录,一般情况下当一个用户对一个目录用户写和执行的权限时,可以对目录下的任何文件进行删除,在一定的程度上出现误删除的风险或者恶意的删除,这时可以通过设置sticky来进行相应的保护,让目录下的文 件只有root、管理员、文件的属主才能够拥有删除的权限。chmod o+t file(二进制文件) |
ACL |
让除了文件的所有者,所属组和其它人,可以对更多的用户设置权限,可以为更加多的组对文件和目录赋予访问权限rwx,实现灵活的权限管理;一定程度上弥补了传统上的权限设置的不足。 |
chattr |
chattr+A(chattr-A):用于锁定文件在用户访问时时间上的刷新,可以一定程度上提高系统的性能,避免过度频繁操作。 |
chattr+i(chattr-i):用于保护在具有读写执行权限目录下的相应文件不让其他任何用户(含root)执行删除、读写等限制操作。 |
chattr+a(chattr-a):用于保护在具有读写执行权限目录下的相应文件,让其拥有写入权限的用户或者属组成员写入数据(注意:只能对文件追加新的数据,而不能更改旧的数据),其余的删除或者重命令等权限不能够执行。 |
原创文章,作者:Aaron_wang,如若转载,请注明出处:http://www.178linux.com/27989