web-dev-qa-db-ja.com

CentOSのTomcatサービスアカウントでTomcatを実行する

アプリケーションサーバーとして使用するために、CentOSボックスにTomcatをインストールしています。私のシステム管理者は、Tomcatを実行するためのTomcatユーザーサービスアカウントを作成しました。私は一般的に このページ の指示に従いますが、起動スクリプトを調整して、Tomcatの起動コマンドとシャットダウンコマンドをユーザーTomcatとして実行する手順に到達すると(手順6、項目4) Tomcatアカウントのパスワードを求められます。これはサービスアカウントなので、/bin/su Tomcatパスワードを入力せずにTomcatユーザーとして特定のコマンドを実行するには?

私は通常、Tomcatをサービスアカウントで実行するように設定することに慣れていません。誰かがこれに関するベストプラクティスを持っているなら、私に知らせてください。

Update:低特権ユーザーの下でTomcatをサービスとしてインストールすることをカバーする良い記事を見つけました ここ 。その記事に従って、最終的にインストールを機能させました。

2
Tom

Rootとしてログイン/昇格しておらず、「通常の」ユーザーである場合は、別のユーザーアカウントのパスワードを入力する必要があります。

ただし、Sudoを調べて、達成しようとしていることを達成したい場合があります。必要なアクセス権を付与するために、システム管理者に相談してsudoersファイルを正しく設定する必要がある可能性があります。

0
Chipster

このようなサービスアカウントは通常、ログインするように構成されていません。これは、ファイル_/etc/passwd_を見るとわかります。 getentコマンドを使用して表示することもできます。

_$ getent passwd saml
saml:x:1000:1000:saml:/home/saml:/bin/bash
_

私のアカウントはシェル_/bin/bash_を使用するように設定されていることに注意してください。一方、サービスアカウントはそうではありません。

_$ getent passwd nginx
nginx:x:987:978:Nginx web server:/var/lib/nginx:/sbin/nologin
_

このサービスに関連するファイルを変更するには、Sudo特権を使用して編集する必要があります。 _Sudo vim </path/to/file>_を実行するだけで、これらのファイルの元のユーザーを保持したまま編集できます。

新しいファイルを作成する必要がある場合は、サービスアカウントとそのデフォルトのUnixグループに対しても_chown <user>.<group>_新しいファイルに注意する必要があります。

0
slm