![Yosemite 在启动时以 Root 身份运行命令(无需密码)](https://linux22.com/image/1464200/Yosemite%20%E5%9C%A8%E5%90%AF%E5%8A%A8%E6%97%B6%E4%BB%A5%20Root%20%E8%BA%AB%E4%BB%BD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%88%E6%97%A0%E9%9C%80%E5%AF%86%E7%A0%81%EF%BC%89.png)
我运行的是 OS X Yosemite,并且我想在启动时始终以 root 身份运行该命令:
tcpdump -i en0 'icmp and icmp[icmptype]=icmp-echo' >> /var/vtcakavsmoace/Desktop/ping_information.txt
有没有办法以 root 身份在启动时或登录时执行此操作任何用户?
答案1
找到了答案——它与我预期的有点不同,但是,嘿,它有效。
以下是我按照操作顺序编写的代码。
su
Password:
sh-3.2# crontab -e
这将编辑 root 的 cron 任务。运行此命令时,它将打开 vi 编辑界面。
要使进程在启动时并在后台运行,您需要点击i并输入以下内容:
@reboot <command> & echo Doing the command.
这使得它<command>
以 root 身份在后台运行,而不会停止启动过程。我输入了以下内容:
@reboot tcpdump -i en0 'icmp and icmp[icmptype]=icmp-echo' >> /var/vtcakavsmoace/Desktop/ping_queries.txt & echo Now Returning Ping...
然后敲击esc键盘上的 ,然后ZZ(需要大写)。这保存了 cron 作业,并且在启动时,它运行得非常顺畅!
资料来源:
https://stackoverflow.com/questions/15395479/why-ive-got-no-crontab-entry-on-os-x-when-using-vim
http://www.raspberrypi-spy.co.uk/2013/07/running-a-python-script-at-boot-using-cron/