所以我想能夠上限:部署時不必輸入任何密碼。我已經設置了所有私鑰,所以我可以很好地到達遠程服務器,並且現在通過ssh使用svn,因此沒有密碼。重新啓動nginx沒有sudo?
我有最後一個問題,我需要能夠重新啓動nginx。現在我有sudo /etc/init.d/nginx重新加載。這是一個問題b/c它使用capistrano密碼,我剛剛刪除b/c我正在使用密鑰。有關如何重新啓動nginx w \ out密碼的任何想法?
所以我想能夠上限:部署時不必輸入任何密碼。我已經設置了所有私鑰,所以我可以很好地到達遠程服務器,並且現在通過ssh使用svn,因此沒有密碼。重新啓動nginx沒有sudo?
我有最後一個問題,我需要能夠重新啓動nginx。現在我有sudo /etc/init.d/nginx重新加載。這是一個問題b/c它使用capistrano密碼,我剛剛刪除b/c我正在使用密鑰。有關如何重新啓動nginx w \ out密碼的任何想法?
我剛剛花了一個小時看着sudoer通配符等試圖解決這個確切的問題。事實上,你真正需要的是一個重啓nginx的root可執行腳本。
一下添加到在/ etc/sudoers文件
username hostname ALL=NOPASSWD: /path/to/script
寫腳本根
#! /bin/bash
/bin/kill -HUP `cat /var/run/nginx.pid`
使腳本可執行
測試。
sudo /path/to/script
這是...美麗!多麼驚人的解決方案!我一直在使用capistrano兩年,並沒有意識到這是可能的。 – ndbroadbent 2012-06-15 11:08:25
@ nathan.f77這正是我所需要的。 – phoolish 2012-10-22 07:54:29
如果有人破壞運行該應用程序的帳戶,他們是否可以編輯此腳本並以root身份運行任意命令? – 2013-04-16 00:33:44
有一個better answer on Stack Overflow不涉及編寫自定義腳本:
最好的做法是使用
/etc/sudoers.d/myuser
的
/etc/sudoers.d/
文件夾可以包含多個文件,使用戶 調用東西使用sudo而不是根。該文件通常包含一個用戶以及用戶 可以運行而不必指定密碼的命令列表。
說明:
在所有的命令,與您要使用nginx的重新啓動沒有sudo您的用戶名替換爲myuser。爲用戶
打開sudoers文件:
$ sudo visudo -f /etc/sudoers.d/myuser
編輯器將打開。你粘貼下面的行。這將允許用戶運行nginx的啓動,重新啓動和停止:
$ myusername ALL=(ALL) NOPASSWD: /usr/sbin/service nginx start,/usr/sbin/service nginx stop,/usr/sbin/service nginx restart
保存擊中CTRL +Ø。它會詢問您要保存的位置,只需按輸入即可確認默認設置。然後退出編輯器,按ctrl + x。
現在你可以重新啓動(並啓動和停止)nginx沒有密碼。我們來試試吧。
打開新的會話(否則,你可能根本不會被要求爲你的sudo密碼,因爲它沒有超時):
$ ssh [email protected]
停止nginx的
$ sudo /usr/sbin/service nginx stop
通過檢查您的網站或正在運行確認nginx已停止ps aux | grep nginx
開始nginx的
$ sudo /usr/sbin/service nginx start
確認Nginx已經通過檢查您的網站或運行ps aux | grep nginx
PS開始:確保使用sudo /usr/sbin/service nginx start|restart|stop
,而不是sudo service nginx start|restart|stop
。
偉大的解決方案。看起來你可以忽略'/ usr/sbin /'。至少它在我的env沒有。 – 2018-01-10 18:34:37
這種類型的問題將是更好的地址http://www.serverfault.com。另外,請查看http://courtesan.com/sudo/man/sudoers.html#nopasswd_and_passwd以瞭解如何使用sudo刪除某些命令的密碼。 – randombits 2010-06-10 01:24:21
你確實需要重新啓動Nginx嗎?如果您使用Passenger服務Rack應用程序(例如Rails),則在release目錄中運行'touch tmp/restart.txt'應該讓Passenger知道它需要重新啓動。 – Leo 2013-10-27 12:42:40