『回复列表(4|显示机器人聊天)』
这个文件原本就是755权限
这种表述方式(前面没有0),说明你不了解setuid
权限。
/usr/bin/pkexec
的正常权限是4755
(-rwsr-xr-x
),开头的4
表示setuid
(设置uid,也就是切换用户)。
解决方案是将权限设为0755
(-rwxr-xr-x
),取消了setuid
,这样这个命令就不能用于切换到root
用户了,所以不再有危害,当然,也不再有作用。任何使用pkexec
请求root权限的图形界面应用程序都会失败。
不过,服务器上没有图形界面应用程序,而命令行程序通常都用sudo
请求root权限,所以几乎没有影响。
不要在Linux桌面系统内修改pkexec
权限!
在GNU/Linux中,su
/sudo
/pkexec
等请求root权限的应用程序都依赖setuid
权限,所以这些文件的权限都是4755
(-rwsr-xr-x
)。
安卓的su
命令是个例外,因为安卓全面禁止了setuid
权限,所以su
命令根本无法自行切换到root。安卓的su
实际进行的操作是,“远程连接”到以root权限运行的su守护进程,然后以类似于ssh远程登录的方式执行命令。实际的命令都是在su守护进程(相当于ssh服务器)上运行的,所以安卓的su命令本身(相当于ssh客户端)不需要任何特殊权限。