上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应用