db_*_*_ch 5 security linux unix sudo
我阅读了关于 serverfault 的所有 sudo 帖子,但我仍然无法弄清楚我做错了什么。通常我终于找到了解决方案,但这次不是:
我希望 apache 用户能够以用户“hremotessh”的身份执行此命令:
sudo /home/hremotessh/scripts/redirect.sh 8892 8893
Run Code Online (Sandbox Code Playgroud)
因此我在 visudo 中添加了这个:
apache ALL=(hremotessh) NOPASSWD: /home/hremotessh/scripts/redirect.sh
Run Code Online (Sandbox Code Playgroud)
但是 sudo 仍在询问密码?
sudo /home/hremotessh/scripts/redirect.sh
[sudo] password for apache:
Run Code Online (Sandbox Code Playgroud)
我试过这个,但不是更好:
sudo -u hremotessh /home/hremotessh/scripts/redirect.sh
hremotessh is not in the sudoers file. This incident will be reported.
Run Code Online (Sandbox Code Playgroud)
任何想法都会受到热烈欢迎:-)
丹尼斯
除非你想以 root 身份运行命令,否则你需要指定用户名,所以
su - apache -s /bin/bash
sudo -u hremotessh /home/hremotessh/scripts/redirect.sh 8892 8893
Run Code Online (Sandbox Code Playgroud)
是测试 sudo 命令的正确语法。
由于没有提示您输入 apache 用户的密码,因此 sudo 似乎配置正确。
结果警告:hremotessh is not in the sudoers file.
表示sudo
在redirect.sh 脚本中使用了另一个命令。并且该用户没有(有效的)sudo 政策。
归档时间: |
|
查看次数: |
8429 次 |
最近记录: |