我有一個隔夜腳本執行給定的用戶家務,然後關閉。關機需要root權限,但是管理任務需要以正在清理文件的用戶身份運行。清理運行需要不確定的時間,因此清理和關閉都必須位於同一個腳本中。我的問題是,如何用這兩個命令cron腳本,第一個命令需要由普通用戶(比如Bob)運行;並且只有在第一次完成之後才需要以root身份運行(shutdown)。我已經嘗試過使用系統crontab(它可以作爲Bob運行管理員,但不能關閉);並作爲root crontab(可以關閉,但不能像Bob一樣運行管理任務)。幫助將不勝感激。系統crontab:如何以root用戶身份運行腳本並以用戶身份運行
0
A
回答
0
您可以使用sudo
作爲另一個用戶執行命令。
我在Debian上試過以下內容。
寫了一個包含以下內容的腳本。
#!/bin/bash
echo $HOME
並執行如下命令根。
sudo -u nonrootuser ./script && some-admin-command
哪個印刷/home/nonrootuser
和執行的some-admin-command
這表明根能夠既作爲普通用戶和作爲根來執行。因此,請將您的用戶看守腳本保存在script
中,用Bob替換nonrootuser
,用shutdown命令替換some-admin-command
並以root用戶身份運行。
0
在文件的cronjob,你可以執行以下命令命令:
0 5 * * * sudo -u nonrootser -H bash script.sh && some-command-another
,你可以寫,其中包括以下內容作爲文件script.sh:
#!/bin/bash
echo "Hello World"
相關問題
- 1. 以非root用戶身份運行Nginx
- 2. 以非root用戶身份運行Docker
- 3. 以非root用戶身份運行ntpdate
- 4. 如何以root用戶身份運行shell腳本(sudo)?
- 5. 以root身份運行php腳本
- 6. python腳本中的身份驗證以root用戶身份運行
- 7. 以root用戶身份運行codeigniter腳本
- 8. 以root用戶身份運行結構腳本
- 9. Apache以用戶nobody身份運行php腳本,cron以用戶身份運行php腳本
- 10. 以root用戶身份運行本機android可執行文件?
- 11. 如何以用戶身份運行以webapp發佈的腳本?
- 12. 以oracle用戶身份與ssh連接時以root用戶身份運行腳本
- 13. 如何以系統用戶身份運行jenkins作業?
- 14. 以root身份運行時以用戶身份啓動外部進程
- 15. 以普通用戶身份執行程序(以root身份)
- 16. 如何以root身份運行Google Chrome?
- 17. 檢查bash腳本是以root用戶還是普通用戶身份運行?
- 18. 如何以非root用戶身份運行docker映像?
- 19. 如何以非root用戶身份運行node.js?
- 20. 如何以非root用戶身份運行Kafka?
- 21. 如何在Docker中以root用戶身份運行Elasticsearch 5.2.1
- 22. 如何以root用戶身份運行Asterisk?
- 23. 以root身份運行crontab,嘗試以root訪問權限運行cmd。幫助
- 24. 以root用戶身份以編程方式運行C程序
- 25. 以root用戶身份運行bash腳本後,如何讓腳本自動強制用戶退出root?
- 26. websphere以用戶身份運行servlet
- 27. 以新用戶身份運行rvm/ruby?
- 28. 使Hadoop以Kerberos用戶身份運行
- 29. 以當前用戶身份運行IIS
- 30. 以用戶「hudson」身份運行jenkins