曝光:Linux企业运维实战
上QQ阅读APP看书,第一时间看更新

5.9 Linux特殊权限及掩码

Linux权限除了常见的rwx权限之外,还有很多特殊的权限,细心的读者会问,为什么Linux目录默认权限为755,而文件默认权限为644呢?这是因为Linux权限掩码umask导致。

每个Linux终端都拥有一个umask属性,um aks属性可以用来确定新建文件、目录的默认权限,默认系统权限掩码为022。在系统中每创建一个文件或者目录,文件默认权限是666,而目录权限则为777,权限对外开放比较大,所以设置了权限掩码之后,默认的文件和目录权限减去umask值才是真实的文件和目录的权限。具体说明如下:

□对应目录权限为777-022=755;

□对应文件权限为666-022=644;

□执行umask命令可以查看当前默认的掩码,通过umask-S 023可以设置默认的权限掩码。

在Linux权限中,除了普通权限外,还有如表5-2所示的三个特殊权限。

表5-2 Linux三种特殊权限

Linux中设置特殊权限方法如下:

□设置suid:chmod u+s jfedu.net

□设置sgid:chmod g+s jfedu.net

□设置sticky:chmod o+t jfedu.net

特殊权限与设置普通权限一样,可以使用数字方式表示:

□suid=4;

□sgid=2;

□sticky=1。

可以通过chmod 4755 jfedu.net对该目录授予特殊权限为s的权限,Linux系统中s权限的应用常见包括su、passwd、sudo,如图5-2所示。

图5-2 Linux特殊权限s应用