文件权限
文件或目录可存取的身份分为3类,owner/group/others (所属者/所属组/其他人) ,所以访问一个文件或目录的权限分为三种, 所有者权限,所属组权限,其他人权限 (通过ll text.log查看)。 在linux系统中常用的权限分为3种 r(read) w(write) x(excute)。
对文件或目录的权限进行修改时,要用到chmod命令
-
模式法
chmod WHO OPT[PER] FILE 修改文件权限 WHO:u g o a OPT:+ — = PER:r w x 例:chomd suer1+w file1 特殊权限X 只对目录加x 对文件:无执行权限,不会增加x权限 任意3种人有执行权限,则都加
-
数字法
将rwx由二进制转换为8进制: r:4 w:2 x:1 chmod NUMBER FILE --reference a b 将b的权限设置为和a一样 例:chmod 762 file1
-
权限对目录的意义
读:只能查看目录文件列表,不能访问,也不能cd(查看,删除)
执行:可以cd,不能ls,可以访问目录中的文件。执行时基础权限
写权取:配合x权限才生效
新建文件和目录的默认权限
umask值 可以用来保留在创建文件权限,非特权用户umask的值为:002;特权用户 (root)的umask的值为:022。
新建文件(file)的默认权限:666-unmask
新建目录(dir)的默认权限:777-umask
文件权限(file)所得结果某位存在执行权限(奇数),结果+1
UMASK掩码:将文件对应的权限位去除
umask 查看 umask # 设定umask值 umask 022 umask -S 输出方式显示 umask -p 输出可被调用 /etc/bashrc 全局设置 ~/.bashrc 用户设置
特殊权限
- 任何一个可执行程序文件能不能启动为进程,取决发起者 对程序文件是否拥有执行权限
- 进程的属主为发起者,进程的属组为发起者所属的组
- 进程访问文件时的权限,取决于进程的发起者
-
SUID(4):作用于文件所属者,只能放在二进制可执行文件才有意义。
功能:继承所有者权限运行该文件。
chmod u+s file1 chmod u-S file1 chmod 4777 file1
-
SGID(2):作用于文件所属组。放在二进制可执行程序才有意义
功能:
- 任何用户都将继承所属组权限运行该文件。
-
chmod g+s file1/dir1 chmod g-s file1/dir1 chmod 2777 file1/dir1
-
Sticky(1):作用于其他人。作用在目录上才有意义。
功能:只有自己才能删除自己的文件。
chmod o+s dir1 chmod o-s dir1 chmod 1777 dir1
Access Control List
-
除了文件的所有者,所属组和其它人,可以对更多的用户设置权限
-
CentOS7 默认创建的xfs和ext4文件系统具有ACL功能,之后的没有
-
ACL生效顺序:所有者,自定义用户,自定义组,其他人
-
添加ACL之后的文件或目录的权限后会有“+”标记
-
关于文件ACL的查看,设置和更改
getfacl file 查看 setfacl [options] [u/g]:[name]:[rwx] file 设置 -m -Rm -M -m -x -X
-
mask掩码
mask只影响除所有者和other的之外的人和组的最大权限。Mask与用户的权 限进行逻辑与运算后,变为有限的权限(Effective Permission)
- mask更改 setfacl -m mask::rwx file
原创文章,作者:kstg5663294,如若转载,请注明出处:http://www.178linux.com/77309