CentOSでTomcatサービスアカウントでTomcatを実行します。

CentOSでTomcatサービスアカウントでTomcatを実行します。

私はアプリケーションサーバーとして使用するためにCentOSシステムにTomcatをインストールしています。私のシステム管理者は、Tomcatが実行されるTomcatユーザーサービスアカウントを作成しました。私は通常、以下の指示に従います。このページただし、tomcatユーザーとしてtomcat開始および終了コマンドを実行するように起動スクリプトを調整するステップ(ステップ6、項目4)に達すると、tomcatアカウントのパスワードを求めるメッセージが表示されます。サービスアカウントなので、/bin/su tomcatパスワードを入力せずにtomcatユーザーとして特定のコマンドを実行できる必要がありますか?

私は通常、サービスアカウントで実行するようにTomcatを設定することに慣れていません。これに関するベストプラクティスがある人がいる場合は、教えてください。

修正する: 低特権のユーザーとして Tomcat をサービスとしてインストールする方法に関する良い記事を見つけました。ここ。その記事以降、ついにインストールが機能するようになりました。

答え1

rootとしてログイン/権限がないが「一般」ユーザーの場合は、他のユーザーアカウントのパスワードを入力する必要があります。

sudoただし、達成したいことを達成するためにいくつかの調査をしたい場合があります。sudoers必要なアクセス権を付与するには、システム管理者に連絡してファイル内のユーザーを正しく設定する必要があります。

答え2

このようなサービスアカウントは通常、ログインするように構成されていません。ファイルを見るとこんな内容が出てきます/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

このサービスに関連するファイルを変更するには、そのファイルを編集する権限が必要ですsudosudo vim </path/to/file>ファイルを編集してそのファイルの元のユーザーを維持するには、次のようにします。

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

関連情報