繁体   English   中英

如何在没有sudo的情况下运行命令?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM