Services
嘗試從非 root 使用者執行“service nginx restart”
我對部署世界很陌生,但這就是正在發生的事情。我有一個來自 DigitalOcean 的新 Ubuntu(Ubuntu 16.04.4 LTS)液滴。我安裝並配置了 nginx,一切正常。我使用以下命令打開和關閉它:
service nginx start
/service nginx stop
但我需要能夠使用另一個名為pepito
.當我嘗試執行
service nginx start
時,pepito
我得到:~# service nginx restart ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units === Authentication is required to restart 'nginx.service'. Authenticating as: pepito Password:
但是我要從 Capistrano 執行它,所以我不想被要求輸入密碼,所以我添加了
visudo
這個:pepito ALL=(ALL) NOPASSWD: /usr/sbin/service nginx*
再次嘗試,同樣的問題。繼續Google搜尋和閱讀,發現這
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
是一條消息,Polkit
所以我讀了一些關於它的資訊,並在其中創建了以下文件:/etc/polkit-1/localauthority/50-local.d/nginx.pkla
Identity=unix-user:pepito Action=org.freedesktop.systemd1.manage-units ResultInactive=yes ResultActive=yes
當然,當我嘗試從
pepito
. 我不知道還能嘗試什麼!
使用
visudo
您編輯文件的命令/etc/sudoers
,這僅適用於您的命令前綴sudo
,在您的情況下sudo service nginx start
。