每个Linux终端都拥有一个umask属性,umask熟悉可以用来确定新建文件、目录的默认权限,默认系统权限掩码为022。在系统中每创建一个文件或者目录,文件默认权限是666,而目录权限则为777,权限对外开放比较大,所以设置了权限掩码之后,默认的文件和目录权限减去umask值才是真实的文件和目录的权限。
- 对应目录权限为:777-022=755;
- 对应文件权限为:666-022=644;
查看系统当前的默认权限掩码:
更改系统默认权限掩码:
因为我们的修改权限可以对目录或者文件使用,但是修改一些特殊权限,对两者的的影响不一样!
权限 | 对文件的影响 | 对目录的影响 |
suid | 以文件的所属用户身份执行,而非执行文件的用户 | 无 |
sgid
| 以文件所属组身份去执行 | 在该目录中创建任意新文件的所属组与该目录的所属组相同 |
sticky
| 无 | 对目录拥有写入权限的用户 该目录下的文件,他只能删除他自己的文件,不能删除别人的文件 |
Linux中设置特殊权限方法如下:
- 设置suid: chmod u+s jfedu.net
- 设置sgid: chmod g+s jfedu.net
- 设置sticky: chmod o+t jfedu.net