簡體   English   中英

Ubuntu:使用root用戶運行upstart服務時,它將返回未知作業

[英]Ubuntu: When upstart service is run with user root, it returns Unknown job

從下面的輸出中可以看到(不限於mysql,其他服務也提供類似的結果),當使用sudo運行service / status時,它給出正確的結果,但是當直接用root運行時,則給出“未知作業”。

我在Google上搜索了很多,但是諸如“狀態/服務”之類的關鍵字具有多種含義,因此我發現與該問題無關,只有一些類似的問題可以回答為什么在使用“ sudo服務...”時會出現“未知的工作”。

root@ubuntu-user:/etc/init# status mysql
status: Unknown job: mysql

root@ubuntu-user:/etc/init# sudo status mysql
mysql stop/waiting

root@ubuntu-user:/etc/init# service mysql status
status: Unknown job: mysql

root@ubuntu-user:/etc/init# sudo service mysql status
mysql stop/waiting

我檢查了strace ,沒有發現任何東西(輸出太長),並且我認為這是對statusservice的限制,但是在手冊頁中沒有關於rootsudo

問題:為什么在沒有sudo情況下運行服務時服務會給未知工作?

操作系統:Ubuntu 14.04 LTS

如果您使用新貴v1.4 +,請嘗試使用setuid和setgid。 此處有更多詳細信息: http : //upstart.ubuntu.com/cookbook/#run-a-job-as-a-a-different-userhttp://upstart.ubuntu.com/cookbook/#setuid

這可能是因為initctl(是新貴的一部分,有時在后台被稱為)正在查看用戶會話,而不是系統會話中的僅系統服務腳本。 嘗試使用sudo -ssu -成為root用戶,然后運行的service的命令,因為這將導致UPSTART_SESSION被刪除變量...

有關詳細信息,請參見將initctl作為root破壞程序運行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM