web-dev-qa-db-ja.com

起動時に特権ユーザーが不足しているデーモンを実行する可能性

テストDNSセットアップに信頼できるDNSデーモンがあり、最良の選択でホストIPを提供する責任があります。

このデーモン/プロセスは、setcapを使用していくつかの機能を設定することで実行でき、開発ユーザーはrootユーザーになることもSudoを使用することなくこれを開始または停止できます。

ただし、ボックスの起動中、このデーモン/プロセスはps出力でrootとして実行されているように見えます。

Root以外のユーザーからの最小限の機能/特権でこのプロセスを開始/停止できますか?次に、起動時に、これがrootユーザーとして実行されているのを見たくありません。

ゼロ以外のuidで特定のプロセスを実行するメカニズムがinitスクリプトにありますか?

3
Akaks

起動スクリプトでsuを使用できます。

su -s /bin/sh -c '/usr/bin/somedaemon' someuser

別の解決策は、デーモンを起動することです cronを使用

3
Marco

あなたはただ電話するべきです:

Sudo -u username your_daemon_name

initスクリプトでは、rootがinitスクリプトを実行するときに、パスワードを要求せず、ユーザー名としてスクリプトを実行します。

2
Timo

systemd を使用している場合(現在、Linuxディストリビューションの中でSlackware、Ubuntu、Debianのみが他のものを使用しています)、その.serviceファイルでユーザー/グループを設定できます(systemd.service(5を参照) )、systemd.exec(5)、および豊富なドキュメントを参照してください ここ )。

1
vonbrand