它是一个生产服务器 - CentOS 6.1
一些过去拥有 root 访问权限的用户登录到服务器并从 /bin/su 文件中删除 SUID 位,然后退出 root。现在我们无法切换回 root。此外,服务器上禁用了 root 的 ssh 访问,因此 root 无法直接登录到机器。由于我们既不能 su 到 root 也不能 ssh 为 root,我们不能为 /bin/su 文件设置回 suid 位。(我们也不能使用 su 在用户之间切换)
本来应该是这样的:
$ ll /bin/su
-rwsr-xr-x. 1 root root 30092 Mar 10 2011 /bin/su
Run Code Online (Sandbox Code Playgroud)
现在的情况:
$ ll /bin/su
-rwxr-xr-x. 1 root root 30092 Mar 10 2011 /bin/su
Run Code Online (Sandbox Code Playgroud)
有什么办法可以切换回 root 或以任何方式设置 SUID 位?
注意:我们希望避免在无网络用户模式下重新启动,因为服务器 24x7 都在使用,并且停机有点困难。如果可以重新启动,那么我们可以简单地使用单用户模式以 root 身份登录并重置该位。
随意给出有创意的答案。我可以在我们的测试环境中测试您的答案。