若我用root修改了/etc/crontab,加了如下行 指定root用户
@reboot root sh A.sh(A脚本发送当前用户信息到服务器)
然后重启计算机,不登录任何用户,仅重启
该脚本能否执行,是以root执行吗?
(自己做了实验,是按我要求的root执行,并向服务器发送了当前用户为空,不确定是不是这样,特请教,谢谢!)
若我重启后登入了X用户,
那么A脚本仍然以root执行吗? 那权限怎么办?
其实核心问题是:crontab是在登陆前 还是登录后 执行的……?谢谢
若我用root修改了/etc/crontab,加了如下行 指定root用户
@reboot root sh A.sh(A脚本发送当前用户信息到服务器)
然后重启计算机,不登录任何用户,仅重启
该脚本能否执行,是以root执行吗?
(自己做了实验,是按我要求的root执行,并向服务器发送了当前用户为空,不确定是不是这样,特请教,谢谢!)
若我重启后登入了X用户,
那么A脚本仍然以root执行吗? 那权限怎么办?
其实核心问题是:crontab是在登陆前 还是登录后 执行的……?谢谢
先说结论:登录前执行的
其实系统中有很多服务是不依托于任何用户的,比如显示器的驱动程序,总不能说用户登录了它才开始显示吧,那登录之前用户怎么看东西
类似的服务后台还有很多
你可以写个脚本让它先于登录执行,但是最好还是把它声明为服务,这样更容易管理,比如可以随时重启或者停止服务,而不用去进程列表里杀进程
而且注册成服务之后系统会帮你自动保管日志
而你自己启动的脚本挂了就挂了,没人知道它什么时候挂的
如果你的脚本并不一直运行,而是执行一次立即退出,你也可以把它加入计划任务里,这样比较便于管理