1、umask
umask默认权限是Linux权限的一种,主要是让Linux的新建文件和目录拥有默认权限
而Windows是通过继承上级目录的权限给文件和目录赋予初始权限
umask
0022
第一位0
表示文件的特殊权限
第二位0
表示R
读取权限
第三位2
表示W
写入权限
第四位2
表示X
执行权限
目录dir1
初始权限为755
新建目录默认最大权限为777
,减去umask
默认权限022
,即得目录dir1
初始权限755
文件file1
初始权限为644
新建文件默认最大权限为666
,减去umask
默认权限022
,即得文件file1
初始权限644
2、umask
默认权限的修改
临时修改
umask 033
目录dir2
初始权限为744
文件file1
初始权限为644
因为新建文件默认最大权限为666
,没有X
权限,文件file1
初始权限为644
永久修改
修改/etc/profile
系统配置文件
vim /etc/profile
系统默认umask
为022
修改成033
source /etc/profile
修改立即生效
修改/etc/bashrc
shell
配置文件
vim /etc/bashrc
修改成033
source /etc/bashrc
修改立即生效
3、特殊权限
sticky
—粘制位
chmod o+t
或chmod 1XXX
针对目录生效,当目录有sticky
权限时,在这个目录中的文件只能被文件所有者删除
chmod o+t file1
chmod o+t dir1
t
表示已增加粘制位
切换zhangyukai
用户,在dir1
里建立file1
文件
切换leon
用户,无法删除zhangyukai
用户建立的file1
文件
sgid
—强制位
chmod g+s
或chmod 2XXX
对文件:
只针对二进制可执行文件,当文件有sgid
权限时,任何人执行此文件产生的进程都属于文件的组
使用leon
用户建立文件file3
chmod g+s file3
对目录:
当目录有sgid
权限时,任何人在此目录中建立的文件都属于目录的所有组
chmod 2777 /dir1
切换用户zhangyukai
建立文件file5
文件file5
所有者为用户zhangyukai
(未改变),所属组为root
(已改变)
suid
—冒险位
chmod u+s
或chmod 4XXX
只针对二进制可执行文件,,当文件有suid
权限时,任何人执行这个文件中的程序产生的进程都属于文件的所有人
4、acl
权限
对权限更加细化的设置,除了文件的所有者,所属组和其它人,可以对更多的用户设置权限
getfacl
—查看acl
权限
getfacl f1
setfacl
—设置acl
权限
-m
设定acl
权限
setfacl -m u:zhangyukai:rwx f1
setfacl -m g:leon:rwx f1
setfacl -Rm u:zhangyukai:rwx /dir2/dir3
递归修改目录里所有子目录及文件的权限
修改之前目录dir3
文件f1
、f2
、f3
只有r
权限
修改以后为rxw
权限
setfacl -m d:u:zhangyukai:rwx /dir4
只对新建目录或文件权限生效,原有目录或文件权限不变
setfacl -m m:rw f1
在权限列表中mask
标示能生效的权力值
当用chmod g-w
减小开启acl
的文件权限时mask
值会发生变化
需要恢复mask
值
-x
删除用户
setfacl -x u:zhangyukai f1
-b
关闭ACL
setfacl -b f1
-k
关闭defult
模式
setfacl -k d1
已开启
已关闭