アプリケーションサーバーとして使用するために、CentOSボックスにTomcatをインストールしています。私のシステム管理者は、Tomcatを実行するためのTomcatユーザーサービスアカウントを作成しました。私は一般的に このページ の指示に従いますが、起動スクリプトを調整して、Tomcatの起動コマンドとシャットダウンコマンドをユーザーTomcatとして実行する手順に到達すると(手順6、項目4) Tomcatアカウントのパスワードを求められます。これはサービスアカウントなので、/bin/su Tomcat
パスワードを入力せずにTomcatユーザーとして特定のコマンドを実行するには?
私は通常、Tomcatをサービスアカウントで実行するように設定することに慣れていません。誰かがこれに関するベストプラクティスを持っているなら、私に知らせてください。
Update:低特権ユーザーの下でTomcatをサービスとしてインストールすることをカバーする良い記事を見つけました ここ 。その記事に従って、最終的にインストールを機能させました。
Rootとしてログイン/昇格しておらず、「通常の」ユーザーである場合は、別のユーザーアカウントのパスワードを入力する必要があります。
ただし、Sudo
を調べて、達成しようとしていることを達成したい場合があります。必要なアクセス権を付与するために、システム管理者に相談してsudoers
ファイルを正しく設定する必要がある可能性があります。
このようなサービスアカウントは通常、ログインするように構成されていません。これは、ファイル_/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>
_新しいファイルに注意する必要があります。