我的机器上没有安装 sudo,但我有一个第三方程序以 root 以外的其他用户身份运行并尝试执行 sudo 命令。有没有办法让这个程序运行 sudo?
我已以 root 身份登录并在 /usr/bin 中创建了 sudo bash 脚本,内容如下,因为我知道 root 密码,是否有办法修改脚本以 root 权限运行命令。或者还有其他方法吗?是的,这很愚蠢,但我只需要它来进行测试。
#!/bin/sh
$@
答案1
你似乎在问SUID 位;如果您chown root:root /usr/local/bin/foo; chmod 4755 /usr/local/bin/foo
这样做,那么从理论上讲,无论谁运行/usr/local/bin/foo
它,都会以 root 身份运行它。但是这个概念存在很大的安全问题,以至于有些操作系统根本不遵守 SUID 位,而其他操作系统在某些可执行文件(例如 shell 脚本)上也不遵守它。
既然您有 root 密码,为什么不直接安装sudo
?它具有良好的安全记录,并且您不仅可以将以 root 身份运行的能力限制为某个可执行文件,还可以限制为某个用户。
如果你确实必须使用 suid 位,不要授予上述脚本 suid-root 权限,否则您将授予任何人以 root 身份执行任何操作的权力。