Linux—下的权限设定

一:文件权限的查看

查看文件属性:
ls -l
Linux—下的权限设定_第1张图片
查看文件属性 :
ls -ld
在这里插入图片描述

二:文件用户,用户组

u:文件拥有者 (user)
g:文件所属组 (group)
o:其他人 (other)

三:文件权限的更改

方法1 : 通过字符方式修改
chmod <+|-|=> 目标
Linux—下的权限设定_第2张图片
方法2 : 通过数字方式修改
chmod 数字 目标
Linux—下的权限设定_第3张图片

*重要!****(r,w,x所对应的数字)

r:4 w:2 x:1
7:rwx 6:rw- 5:r-x 4:r- -
3:-wx 2:-w- 1:–x 0:- - -

四:umask

查看 umask 值 :umask
在这里插入图片描述
修改 umask 值 :
umask 002 // 临时修改 umask 值 第一位0不计入umask中
vim /etc/bashrc // 永久修改 bash 里创建文件的 umask 值
vim /etc/profile // 永久修改每个用户创建文件的 umask 值
注意 : 想要永久性的修改 umask 值 , 一定要重新读取两个配置文件后 , 才能生效

五:系统默认权限

当你创建一个新的文件或目录时 , 该文件或目录有默认权限
1:创建一个目录 默认权限为rwx rwx r-x 根据字母对应数值算得默认权限的数字表达形式为:775(775也可以用目录的最大权限减去umask值得到,即:777-002=775)
在这里插入图片描述
2:创建一个文件 默认权限为rw- rw- r-- 根据字母对应数值算得默认权限的数字表达形式为:664 (664也可以用目录的最大权限减去umask值再减去111得到,即:777-002=775,775-111=664)
在这里插入图片描述
总结 :在默认权限的属性上 , 目录与文件是不一样的,文件的最大权限为 666, 目录的最大权限为 777,因此只要知道umask就可以算出创建出的目录和文件的权限

特殊权限

1)o+t 权限 :sticky, 粘制位
效果 : 只针对于目录 , 当目录上有 o+t 的权限时 , 所有用户在该目录下均可创建文件 , 但只有文件所有人和 root 用户可以删除该目录下的文件。
设定方式 :
chmod o+t 目录
chmod 1777 目录

2)u+s 权限 :suid, 冒险位
效果 : 只针对于二进制可执行文件 , 该命令发起的程序是以该命令所有人的身份去执行。
设定方式 :
chmod u+s 二进制可执行文件
chmod 4755 二进制可执行文件

3)g+s 权限 : 强制位
效果 : 针对二进制可执行文件 : 该命令发起的程序是以该命令所有组的身份去执行 ; 针对目录 : 目录新建文件的所属组与该目录的所有组保持一致 。
设定方式 :
chmod g+s 文件 | 目录
chmod 2755 文件 | 目录

你可能感兴趣的:(Linux—下的权限设定)