サービスコマンドと非rootユーザー

サービスコマンドと非rootユーザー

主要顧客のLinuxサーバーでは、長年にわたってルートでbashスクリプトを実行してきました。さて、セキュリティ上の理由でこれを変更したいと思います。

一部のスクリプトは、「service filescontrol start」などの「service」コマンドによってトリガーされます。

クライアントのデフォルト管理者はまた、これらのサービストリガースクリプトを通常のユーザーとして実行したいと考えています。

しかし、「service」コマンドの概念はrootユーザーに縛られていませんか?

答え1

service他と同じプロセスです。ほとんどの場合です/sbin/service。現在、独自の専門分野を持つ多くの「init」マネージャ(RC-Scripts、upstart、systemd、svcadm...)があるので、起動serviceスクリプトの管理に使用することをお勧めします。

変更する必要があるのは基本システムに関連付けられています。

/etc/init.d/crondたとえば、スクリプトを呼び出すことやinit-rcシステム(最も一般的なもの)を呼び出すservice crondことは同じです。

$ service crond status
crond (pid  1837) is running...
$ /etc/init.d/crond status
crond (pid  1837) is running...

しかし、systemdを使用すると、すべてがバイナリ「systemd」によって管理されるため、問題ははるかに難しくなります。

したがって、多くのシステムや例外を管理したくない場合は、使用を検討できますsudo。それ以外の場合は、ユーザーラムダでスクリプトを起動するか、「set-uid」スクリプトを使用できます。

関連情報