Nginx静的ビルド - root以外のユーザーとしてrootとして実行する

Nginx静的ビルド - root以外のユーザーとしてrootとして実行する

nGinxを静的にコンパイルしましたが、うまくいきます。通常のユーザーからnginx static binを起動したときに、通常のユーザーを作成してrootとして実行するにはどうすればよいですか?

ありがとう

ベストアンサー1

あなたが要求するのは、Nginxが特権ポートにバインドできるようにsudoではなくユーザー権限を付与する方法だと思います。

この場合、/etc/sudoersファイルvisudoに次の行を追加します(ショートカットキー)。

Cmnd_Alias   NGINX = /path/to/binary/nginx
username ALL=NOPASSWD: NGINX

もちろん、上記の例では、/path/to/binary/システムの場所と一致するように変更し、usernameコマンドを実行するユーザー名に変更する必要があります。

ユーザー名だけを使用する代わりにNGINXグループを作成すると、そのグループ内のすべてのユーザーがその権限を持つようになり、同じ結果が得られます。

groupadd groupnamehere
usermod -G groupnamehere usertoaddtogrouphere

次に、sudoersファイルでusername上記の行を次の行に置き換えます。

%groupnamehere ALL=NOPASSWD: NGINX

これをテストするには、ユーザーになり、次のコマンドを実行します。

1)Become the user =>  su - usernamehere
2)Check groups user is in => groups
3)Run command => sudo nginx restart
4)In case nginx isn't a global command run => sudo /path/to/binary/nginx restart

おすすめ記事