1、创建组sales,gid 3000,passwd:centos,sales admins:user2
将用户user1,user2,user3加入到sales辅助组
希望user1 创建新文件 默认的所属组为sales
user2将用户user3从sales组移除
# groupadd -g 3000 sales
# gpasswd sales
# useradd -G sales user1
# useradd -G sales user2
# useradd -G sales user3
# gpasswd -A user2 sales
# su user2
# gpasswd -d user3 sales
2、在/data/testdir里创建的新文件自动属于g1组,组g2的成员如:alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。
# mkdir -pv /date/testdir
# groupadd g1
# groupadd g2
# groupadd g3
# chown :g1 /date/testdir
# chmod 750 /date/testdir
# chmod g+s /date/testdir
# setfacl -Rm d:g:g2:rw /date/testdir
# setfacl -Rm d:g:g3:r /date/testdir
# getfacl /date/testdir
# usermod -g g1 user1
# usermod -g g2 user2
# usermod -g g3 user3
# su user1
$ touch f1
$ ll
$ echo xxx > f1
$ cat f1
$ exit
# getfacl f1
3、三种权限,三种特殊,acl,chattr 总结
文件权限
文件:
r: 可使用文件查看类工具获取其内容
w: 可修改其内容
x: 可以把此文件提请内核启动为一个进程
目录:
r: 可以使用ls 查看此目录中文件列表
w: 可在此目录中创建文件,也可删除此目录中的文件
x: 可以使用ls -l 查看此目录中文件列表,可以cd进入此目录
Linux文件系统上的特殊权限
SUID, SGID, Sticky
SUID权限:
SUID只作用与可执行的二进制文件上
用户运行该程序时,自动继承该程序所属主的权限
SGID权限:
作用在二进制的程序上:
用户运行该程序时,自动继承该程序所属组的权限
作用在目录上:
该目录内新建的文件或目录的所属组自动继承与该文件的所属组
Sticky权限:
防止某些用户对该目录有权限,则胡乱删除该目录下的(属主是自己或属主不是自己)文件
在目录设置Sticky位,只有文件的所有者或root可以删除该文件,即除root用户外,其他用户只能删除属主是自己的文件
ACL:访问控制列表 Access Control List
除了文件的所有者,所属组和其它人,可以对更多的用户设置权限
比如设置某一用户能以rwx权限访问一指定文件,而其他用户按照u,g,o权限对文件进行访问
getfacl file |directory
查看文件或目录的访问控制列表
setfacl -m u:gao:rx file|directory
设置gao用户,对目录或文件,不以u,g,o所对应的权限访问文件,而是以rx权限访问文件
setfacl -m d:u:gao:rx directory
设置gao用户,对目录及以后该目录下此命令以后创建的文件,以rx权限访问
setfacl -M file.acl file|directory
以文本的形式,,对多个用户设置某一目录或文件的ACL
setfacl -m d:u:gao:rx directory
清除指定用户的ACL
setfacl -b file1
清除文件所有ACL权限
chattr
+i 不能删除,改名,更改,只能看
+a 不能删除,改名,更改,只能增加
+A FILE 锁定文件,可以防止root用户的误操作
原创文章,作者:megedugao,如若转载,请注明出处:http://www.178linux.com/28178