システムユーザーのポイントは何ですか?

システムユーザーのポイントは何ですか?

さて、システムユーザーを見ると、システムユーザーのポイントは、最小限の権限でサービスを実行し、パスワードやSSHを持たないユーザーを持つことです。私が持っている問題は、実際に何かをするにはサービスを実行するためにユーザーにシェルを提供する必要がありますが、そうすることでユーザーにシェルを提供しないという目的が失われることです。私が間違ったアプローチを使用しているのではないか、そうであればシステムユーザーにサービスを実行させる正しい方法は何ですか?このコマンドを使用してユーザーを作成し、adduser --system --disabled-login --disabled-password --home /usr/local/appname appname このコマンドを使用して実際にuser / issueコマンドを使用します。sudo su -s /bin/bash appname -C <command>

答え1

実際に何かをするには、そのユーザーにサービスを実行できるシェルを提供する必要があります。

sudo -u appname <command>

あなたがやっていることは非常に間違っています。ほとんどのシステムには、サービスを開始するサービス管理者が必要です(sudo service apache2 start)。多くのサービスには、正しいユーザー()で手動で起動できるツールがすでに含まれていますsudo apachectl start

デフォルトでは、これはユーザーがログインシェル、パスワード、ホームディレクトリ、またはSSHアクセスを持っているかどうかに関係ありません。共有システムのユーザーはこれらすべてを持つことができますが、どの組み合わせでも有効です。

最も安全な組み合わせはなしです。これにより、人々がそのユーザーとしてコンピュータにログインするのを防ぎます。このユーザーで何でも実行できる唯一の方法は、すでにrootアクセス権を持っていることです。

関連情報