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