文件权限
1、rwx的含义
r w x
目录 ls mkdir/mv/rm cd
文件 cat/head/less vim/vi 执行
2、ugo的含义
u:文件的所有者/创建者
g:文件所属组里的用户
o:非U非G
此外,a表示所有用户,包含ugo
3、修改文件权限(chmod)
用法:chomd [选项] 模式 文件名
常见选项:-R
1)通过字母的形式更改文件权限
chmod o+w /tmp/dir1/file1 给file1的other添加w权限
chmod g-r /tmp/dir1/file2 给file2的group去掉r权限
chmod u+rwx,g+rwx /tmp/dir1/file3 给file3的u和g添加rwx权限
chmod a-x /tmp/dir1/file4 给file4的ugo去掉x权限
chmod -R a=rw dir1 给dir1目录及目录下的所有文件所有组改为rw权限
2)使用数字形式修改文件权限
chmod 644 file1 rw-r--r--
chmod -R 755 dir1 rwxr-xr-x
4、文件的属主和属组
1)chown命令既可以修改文件的属主,也可以修改文件的属组
chown username filename 修改文件属主
chown username.groupname filename 修改属主和属组
chown username:groupname filename
chown username. filename 没有指定组名,默认是用户主组
chown .groupname filename 只修改文件的属组
chown :groupname filename
2)chgrp命令只能修改文件的属组
chgrp groupname filename
4、高级权限
1)冒险位(SETUID)
指文件操作者(用户)临时拥有文件拥有者的权限,一般针对的是命令或者脚本文件。
字母表示是s或S,文字表示是4。
用法:
chmod u+s filename
chmod 4xxx filename
2)强制位(SETGID)
一般针对的是目录,如果一个目录拥有强制位,那么任何用户在该目录里创建的
任何文件的属组都会继承该目录的属组。
表示为字母s或S,数字为2;
用法:
chmod g+s filename
chmod 2xxx filename
3)粘滞位(STICKY)
一般针对公共目录,控制删除,只有root和文件的创造者可以删除,其他人只能管理自己
字母表示为t或T,数字表示是1
用法:
chmod o+t filename
chmod 1xxx filename
5、默认权限
1)临时控制
umask命令临时设置,只在当前终端当前进程中生效;
linux系统中,默认创建目录的最大权限是0777,文件的最大权限是0666
用法:
umask 查看umask的值
umask xxxx 更改umask的值
默认权限 = 最大权限 - umask
此外,linux系统中创建文件默认没有可执行(x)权限如:
0666 - 0003 = 0663 rw-rw--wx 实际权限:rw-rw-r--
0666 - 0005 = 0661 rw-rw---x 实际权限:rw-rw--w-
2)永久控制
通过修改配置文件,对用户的所有终端所有进程生效
对所有用户生效:
vim /etc/bashrc
最后增加内容:umask 0007
source /etc/bashrc 重新读取后生效
对某个用户生效
vim ~/.bashrc
最后增加内容:umask 0007
6、ACL访问控制策略
可针对某个用户,多个用户或一个组,设置其在文件上的相应权限
常用选项:
-m 修改或设置ACL策略
-R 针对目录递归授权,新建文件没有
-x 去掉某个用户或者组的权限
-b 删除文件所有acl策略
-d 默认acl策略,针对目录,新建的目录和文件也继承
如:
setfacl -m u:coder01:rw /tmp/students/file1 指定coder01对file1有rw权限
setfacl -m g:coding:rwx /tmp/students/dir1 指定coding组所有成员对file1有rwx权限
getfacl file1 查看file1的acl策略
setfacl -x u:coder01 file1 删除fiel1上coder01的单个acl策略
setfacl -x m: file1 删除file1上的mask
setfacl -b file1 删除fiel1的所有acl策略

浙公网安备 33010602011771号