[英]How to run a command without sudo?
我想在crontab(在我的本地机器上)添加一行,每隔五分钟运行一次。 我的问题是我要使用的命令需要sudo:
sudo indexer --config /usr/local/etc/sphinx.conf --all --rotate
有没有办法在不使用sudo而不提示输入密码的情况下运行命令?
谢谢!
把它放在root的crontab中
sudo crontab -e
你可以放
indexer --config /usr/local/etc/sphinx.conf --all --rotate
此crontab中的所有命令都将以root身份执行。 如果您只是du crontab -e
作为当前用户,它们将在您的用户权限下执行。
只需使用cmd visudo将此命令附加到sudoer文件列表(此cmd需要root权限),如下所示:
<YOUR_USER_NAME> ALL = NOPASSWD:<ABSOLUTE-PATH-TO-CMD>
照顾ABSOLUTE-PATH-TO-CMD,它可能成为一个安全漏洞。
将应用程序放在root的crontab中是非常危险的,除非该盒子能够很好地抵御黑客攻击。 如果有人替换了二进制文件(包括库),你就走了!
更好的方法是将二进制文件访问的所有文件chown给非特权用户,并以非特权用户身份运行作业。
除root之外的任何人都不应该写任何应用程序使用的二进制文件。
以root身份运行它? 还是狮身人面像用户? 试着找出你需要它运行的用户,并将其添加到用户cron
您可以配置sudo不要求密码。 阅读男人sudoers如何做到这一点。 搜索NOPASSWD字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.