问题 linux“sudo crontab -e”和“crontab -e”之间的区别


当我输入时我注意到了 sudo crontab -e 我没有看到我的cron命令,但是当我只做的时候 crontab -e 有我的命令。

2之间有区别吗?如果有,我应该在哪里放置我的cron命令,它应该在sudo中还是没有sudo?

谢谢!


5009
2018-04-05 17:07


起源

我认为这属于 unix.stackexchange.com 因为它与编程无关。 - Skynet
@Skynet哦,我明白了。这就是其他人贬低的原因? :( - PinoyStackOverflower
我猜。但经过一些研究后我发现这个问题实际上是这个问题的重复: serverfault.com/questions/817499/when-to-use-sudo-with-crontab (它偶然也有一个downvote) - Skynet


答案:


2之间有区别吗?

是的,确实他们是不同的。 不同之处在于 sudo crontab -e 这些命令是安排的 root 用户的凭据。这样sudo的cron表中的命令就会以root用户身份执行。

但随着 crontab -e,这些命令是与登录的普通用户一起安排的。

我应该把我的cron命令放在哪里,如果它在sudo或没有sudo?

嗯,答案取决于您要运行的命令类型。
如果需要命令 sudo 访问然后 sudo crontab -e 应该使用。
否则,如果cron命令不需要任何特殊权限,则使用 crontab -e

 
如果是以太网网络接口 eth0 应该在特定时间禁用或启用,然后您将使用该命令
ifconfig eth0 up 要么 ifconfig eth0 down 
由于上述命令需要特殊权限(sudo),因此应该添加这些命令 sudo's cron标签

任何其他需要最小权限或没有权限的命令,例如从中删除文件 tmp 像目录一样 $ rm /tmp/somefile 使用常规用户的crontab。


11
2018-04-05 17:28



感谢您提供非常丰富的答案! - PinoyStackOverflower
@PinoyStackOverflower欢迎。很高兴我能够回答:) - Santosh A