文件权限
权限 链接 所有者 所属组 容量(默认单位B) 修改的日期 文件名
文件的权限:所有者,所属组,其他人
rwx,分别是读、写、执行,没有权限就是-
第一个组rwx:文件所有者的权限
第二个组rwx:文件所属组的权限
第三个组rwx:文件其他人的权限
特点
文件的拥有者,即使没有w权限,也可以强制写入。所属组和其他用户不行。
目录权限
r:具有读取目录结构列表的权限,可以查看目录下有哪些文件(可以使用ls命令)
w:该权限对于目录来说很大
1、可以在该目录下新建新的文件和目录
2、可以删除已经存在的文件和目录
3、将已经存在的文件和目录重命名
4、移动该目录内的文件和目录的位置
x:是否可以进入该目录(可以使用cd命令)
注:
如果一个用户对一个目录没有w的权限,这个用户仍然可以编辑该目录中拥有者是自己的文件。
修改权限
chown:修改文件的拥有者,前提是要有该拥有者
chown 拥有者 文件/目录
-R 递归修改
chgrp:修改文件所属组,前提是要有该组
-R 递归修改
chmod:修改拥有者、所属组、其他用户的权限
- 加减法:u/g/o +/-/= r/w/x
- 数字法:r=4 w=2 x=1
rwx=4+2+1=7
rw-=4+2=6
r–=4
r-x=4+1=5
默认权限-umask
umask:查看当前用户的umask权限
0022:拿走的权限
第一个数字表示特殊权限
022=rwxr-xr-x
默认创建文件和目录的权限,文件会拿走x权限
临时修改:umask 0000
永久修改:/etc/bashrc(不建议)
-S选项:
在什么情况下,要使用umask
假设你和你的同事在同一个目录下进行同一个项目的工作,如果使用默认权限022,那么你创建的文件,你的同事将无法编辑。因此我们可以将权限调整为002
特殊权限
1、当s出现在拥有者的x权限位置时,表示被设置了SUID(Set UID)
2、当s出现在所属组的x权限位置时,表示被设置了SGID(Set GID)
3、当t出现在其他人的x权限位置时,表示被设置了SBIT的权限(Sticky Bit)
SUID
1、临时获取文件拥有者的权限-只针对于文件
2、chmod u+s 文件名
3、如果属主位没有x权限,会显示为大写S,表示有故障(权限无效)
SGID
1、文件:临时获取文件所属组的权限
2、目录:若该目录被设置为SGID,则新建的子目录、孙目录会继承父目录的SGID权限;此目录下所有用户新建文件、目录都会自动继承此目录的用户组
3、chmod g+s 文件名/目录名
4、如果属主位没有x权限,会显示为大写S,表示有故障(权限无效)
SBIT
1、对于一个多人可写的目录,如果设置了Sticky,则每个用户只能删除、移动、重命名拥有者是自己的文件
2、只能作用在目录上
3、用户在设置Sticky权限的目录下新建的目录不会自动继承Sticky权限
4、chmod o+t 目录名
5、如果other位没有x权限,会显示为大写T,表示有故障(权限无效)
数字添加权限
SUID=4 SGID=2 SBIT=1
设置SUID:chmod 4755 文件名
设置SGID:chmod 2755 文件名/目录名
设置SBIT:chmod 1755 目录名