sudo命令出错 must set be suid
特殊权限 4,2 ,1
4 suid,控制用户执行的文件,以文件所属用户的身份执行。当一个可执行的文件拥有suid时,会将文件拥有者的x位变成s(---s--x--x),这时称为set uid,简写就是suid。而android root时.
suid权限仅对二进制程序(系统中的一些命令)有效,不能用在脚本上,因为脚本是将很多程序集合到一起来执行,而不是脚本本身在执行;suid放在目录上是无效的;suid权限仅在执行该程序的过程中有效(run-time);程序执行者对于该程序来说,需要具备x的权限。
2 sgid,对目录的控制是以目录所属群组的身份运行,在目录中创建的任何子目录或文件的所属群组都与目录所属群组一致。
sgid同样对二进制程序有效;程序执行者对于该程序来说,需要具备x的权限;sgid主要用在目录上。
1 sbit,主要针对其他用户(others)来设置的,只对目录有效,当用户在该目录下建立文件或目录时,仅有自己与root才有权利删除。例如/tmp目录,任何人都可以在/tmp内增加,修改文件,因为权限都是rwx,但仅有该文件或目录的建立者与root才能够删除自己的目录或文件。
```
cd /usr/bin
ll
#可以看到sudo文件的权限是755(被更改),系统默认4111
chmod 4111 /usr/bin/sudo
#此时文件权限变为 ---s--x--x问题解决
chmod 4011 /usr/bin/sudo
# ---S--x--x
```