我的sudoers文件中有这个规则
user ALL = (root) NOPASSWD:/usr/bin/supervisorctl
现在我可以在没有root密码的情况下运行该命令。
例如:
sudo supervisorctl restart all
我的问题是,如果没有sudo命令,我如何运行该命令?
例如:
supervisorctl restart all
您应该能够通过设置粘性标志来实现这一点:
sudo chmod +s /usr/bin/supervisorctl
您可以使用whoami
:进行尝试
cp /usr/bin/whoami /tmp/whoami2
sudo chown root:root /tmp/whoami2
sudo chmod +s /tmp/whoami2
如果您以任何用户的身份运行./tmp/whoami2
,您将获得root
,即,在给定粘性标志的情况下,可执行文件以具有所有者的用户的身份执行。