特殊权限 - SUID GUID STICKYBIT
◆ SUID ( Set User ID ) Linux里,用户的ID被称作UID。在实际生产中,可能需要临时借用别的用户执行程序,因此需要能够临时变更自己UID的机能叫做SUID。借助SUID权限,用户可以临时调用root权限。 ※ 通常,文件的执行是由所属者发起,然而,赋予SUID权限后可临时继承所有者的权限(来执行文件)。通常用于二进制可执行文件上,文件夹赋予该权限无意义。 举个例子,假如我们要变更密码、需要编辑/etc/shadow文件,然而这个文件一般用户并没有修改权限。但由于更改密码的命令 passwd拥有SUID权限、一般用户就可以通过该命令来(继承root的权限进而)更改密码。同时我们也可以看到在ll命令下,拥有SUID权限的文件,执行权限的位置会由x变为s。 $ ls -l /usr/bin/passwd -rwsr-xr-x. 1 root root 25980 Sat 07 2018 /usr/bin/passwd 从上面的命令中可以看到,所有者的权限显示为rws,其中,执行权变成了s。也就是说,有执行该命令权限的而用户可以临时继承所有者(root)的权限。 需要通过chmod来赋予(二进制可执行)文件SUID时,可通过添加数字“4000”来赋予权限。比如,原来的权限为755(rwx r-x r-x),赋予SUID权限后变成4755,即(rws r-x r