Linux对目录和文件权限的管理是安全管理的重要内容。特殊许可。SUID不知道大家有没有想过这个问题:/etc/passwd文件保存了使用的用户的信息,它的拥有者是root用户。为什么其他用户可以通过passwd命令修改密码?$ls-l/etc/passwd-rw-r--r--1rootroot1718Mar162017/etc/passwd通过对passwd工具的探索,我发现了一些奇怪的内容——所有者的'x'位authority屏幕显示's'权限,即SUID权限。$whichpasswd/usr/bin/passwd$ls-l/usr/bin/passwd-rwsr-xr-x。1rootroot30768Feb172012/usr/bin/passwdSet-UserIdentification,简称SUID权限,其作用是:在工具执行过程中,将所有者的权限赋予执行者。如上例,当用户修改密码时,实际上是具有root权限的,因此可以对/etc/passwd文件进行操作;另一个很好的例子是su命令。$whichsu/bin/su$ls-l/bin/su-rwsr-xr-x.1rootroot34904Oct172013/bin/su如何设置SUID权限$chmodu+sfile$chmod4xxxfile以上两种方式都可以设置文件的SUID权限。第一种方式使用符号方式,给文件的owner用户加上s权限(SUID);第二种方法使用八进制方式,特殊权限SUID、SGID、StickBit依次排列。占用一个二进制位,构成一个八进制位,其中4(100)表示设置SUID位,同时清除SGID和sticky位,xxx分别表示属主、组的权限,和文件上的其他用户。SUID权限的存在,可以在不修改文件所有者或组的情况下,释放文件的执行权限。它仅对二进制文件有效,并且仅在执行过程中有效。但也容易造成安全漏洞,不宜轻易设置。.SGID当目录存在's'权限时,称为Set-GroupIdentification权限。SGID权限的作用是:如果一个目录设置了GID权限,则该目录下用户创建的文件与该目录属于同一组。SGID权限常用于文件共享$mkdirtestdir$ls-ltotal0drwxr-xr-x2rootroot6Oct2520:58testdir$chgrpsharedtestdir/$ls-ltotal0drwxr-xr-x2rootshared6Oct2520:58testdir$chmodg+stestdir/$umask002$cdtestdir/$touchtestfile$lltotal0-rw-rw-r--1rootshared0Oct2521:01testfile给共享文件夹添加SGID权限通过umask002使用户创建的文件对组用户可写,共享文件夹下用户生成的文件所在的组不再是用户默认的组,而是共享文件组,从而实现文件共享。如何设置SGID权限$chmodg+sdir$chmod2xxxdirStickyBite观察linux文件系统中的/tmp文件夹,其他用户权限中的'x'权限被't'权限代替,即StickBite,也称为粘钻。$ls-ld/tmpdrwxrwxrwt.9rootroot195Oct2521:01/tmpstickybit的作用是:对目录设置stickybit后,只有文件的所有者和root权限才有删除文件的权限。这让我们回到tmp目录的使用。作为临时文件目录,rwx权限对所有用户开放。写权限的缺点是所有用户都可以删除目录中的文件,包括其他用户的文件。如何允许用户同时添加文件但不能删除文件?您可以在目录上设置粘滞位,以便只有文件的所有者和root用户才能删除该文件。如何设置粘性位$chmodo+tdir$chmod1xxxdirnotes$mkdirtest$touchtestfile$chmod-xtesttestfile$ls-ldrw-r--r--2rootroot4096Oct2521:24test-rw-r--r--1rootroot0Oct2521:26testfile$chmod+stesttestfile$ls-ldrwSr-Sr--2rootroot409610月25日21:24test-rwSr-Sr--1rootroot0Oct2521:26testfile$chmod+ttest$ls-ldrwSr-Sr-T2rootroot4096Oct2521:24test-rwSr-Sr--1rootroot0Oct2521:26testfile$chmod+xtesttestfile$ls-ldrwsr-sr-t2rootroot4096Oct2521:25test-rwsr-sr-x1rootroot0Oct2521:26testfile文件或目录有'x'权限,然后's''权限;当没有'x'权限时分别为'S''T'权限粘滞位仅存在于目录的特殊权限中
