質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

3回答

4274閲覧

コマンドにNOPASSWDを指定しているのにsudoでパスワードを要求される

kuma3

総合スコア60

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2016/04/23 11:56

一般ユーザでnginxを起動させることができるように下記のように
/etc/sudoers.d/nginx_fooを作成しnginxをパスワードなしでsudoできるように設定しました。

foo ALL=(ALL) NOPASSWD:/usr/local/nginx/sbin/nginx

しかし、sudo nginxとfooで実行してもパスワードを要求されてしまいます。
#includedir /etc/sudoers.dの記載はsudoersにあります。

修正点等あれば教えて頂きたく。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

自己解決

sudo実行時に環境変数が初期化されpathが通っていなかったのが問題のようです。
次の1行をnginx_fooに追加したら実行できました。
secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/nginx/sbin
こちらが参考になりました。

投稿2016/04/23 12:46

編集2016/04/23 12:52
kuma3

総合スコア60

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

実は、sudo nginxの後に引数を指定していませんか?

sudoersは、引数の有無やその値によっても別のコマンドとみなします。
例えばnginxnginx -c nginx.confは、sudoersからは別のコマンドとみなされます。

その場合、引数付きのコマンドをsudoersに設定するか、
以下のようにコマンドの末尾に正規表現の量指定子をつけてやる必要があります。

sh

1foo ALL=(ALL) NOPASSWD:/usr/local/nginx/sbin/nginx *

量指定子については以下のリンクのQuick guide to EBNFという項を参照してください。
http://www.sudo.ws/man/1.8.16/sudoers.man.html

上の予想が外れている場合、一度、/etc/sudoers.d/nginx_fooが本当にsudoersに読み込まれているか確認してみることをお勧めします。

わざと/etc/sudoers.d/nginx_fooに構文エラーを仕込み、sudoしてみることで確認できます。
もし、正しくファイルが読み込まれていれば、警告メッセージが表示されるはずですので。

投稿2016/04/23 12:49

KiyoshiMotoki

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KiyoshiMotoki

2016/04/23 12:51

回答を入力中に、自己解決されたようですね(^^;
kuma3

2016/04/23 12:51

回答ありがとうございます。 ちょうど自己解決できたところです。 今後の参考にさせて頂きます。
guest

0

http://www.mk-mode.com/octopress/2014/04/17/linux-sudo-no-password/

ちなみに、 “/etc/sudoers” ファイル内に %admin 等の設定があるが、"hoge" ユーザが “admin” グループに属している場合は、まず %admin の設定が有効になり、それから追加の設定が有効になる。

という記述があるのですが、、、
グループの設定に引っかかっているということはないでしょうか?

投稿2016/04/23 12:14

takasima20

総合スコア7460

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kuma3

2016/04/23 12:37

回答ありがとうございます。 fooはfooグループにしか所属していないのでグループ設定という線はなさそうです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問