2.8. Tomcat ユーザーおよびグループの UID および GID の変更
Red Hat Enterprise Linux では、tomcat ユーザーのユーザー識別子 (UID) と tomcat グループのグループ識別子 (GID) の両方に 53 という予約値があります。セットアップ要件に応じて、tomcat ユーザーおよびグループの UID と GID を他の値に変更できます。
SELinux の競合を回避するには、500 未満の UID および GID 値を使用します。SELinux が enforcing モードに設定されている場合は、UID および GID の値が 500 を超えると、予期しない問題が発生する可能性があります。
手順
-
JBoss Web Server がすでに実行されている場合は、
tomcatユーザーとして JBoss Web Server を停止します。詳細は、アーカイブファイルからインストールした場合のコマンドラインからの JBoss Web Server の停止 を参照してください。 tomcatユーザーとグループの現在の UID と GID を表示するには、root ユーザーとして次のコマンドを入力します。id tomcat
id tomcatCopy to Clipboard Copied! Toggle word wrap Toggle overflow 前述のコマンドは、ユーザーアカウントとグループの詳細を表示します。以下に例を示します。
uid=53(tomcat) gid=53(tomcat) groups=53(tomcat)
uid=53(tomcat) gid=53(tomcat) groups=53(tomcat)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい GID を
tomcatグループに割り当てるには、root ユーザーとして次のコマンドを入力します。groupmod -g <new_gid> tomcat
groupmod -g <new_gid> tomcatCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
groupmod -g 410 tomcat
groupmod -g 410 tomcatCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい UID を
tomcatユーザーに割り当てるには、root ユーザーとして次のコマンドを入力します。usermod -u <new_uid> -g <new_gid> tomcat
usermod -u <new_uid> -g <new_gid> tomcatCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
usermod -u 401 -g 410 tomcat
usermod -u 401 -g 410 tomcatCopy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルとディレクトリーのアクセス許可を新しい UID に再割り当てするには、root ユーザーとして次のコマンドを入力します。
find / -not -path '/proc*' -uid <original_uid> | perl -e '$ug = @ARGV[0]; foreach $fn (<STDIN>) { chomp($fn);$m = (stat($fn))[2];chown($ug,-1,$fn);chmod($m,$fn)}' <new_uid># find / -not -path '/proc*' -uid <original_uid> | perl -e '$ug = @ARGV[0]; foreach $fn (<STDIN>) { chomp($fn);$m = (stat($fn))[2];chown($ug,-1,$fn);chmod($m,$fn)}' <new_uid>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前述のコマンドで、<original_uid> を古い UID に置き換え、<new_uid> を新しい UID に置き換えます。たとえば、ファイルとディレクトリーのアクセス許可を UID
53から UID401に再割り当てするには、次のコマンドを入力します。find / -not -path '/proc*' -uid 53 | perl -e '$ug = @ARGV[0]; foreach $fn (<STDIN>) { chomp($fn);$m = (stat($fn))[2];chown($ug,-1,$fn);chmod($m,$fn)}' 401# find / -not -path '/proc*' -uid 53 | perl -e '$ug = @ARGV[0]; foreach $fn (<STDIN>) { chomp($fn);$m = (stat($fn))[2];chown($ug,-1,$fn);chmod($m,$fn)}' 401Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルとディレクトリーのアクセス許可を新しい GID に再割り当てするには、root ユーザーとして次のコマンドを入力します。
find / -not -path '/proc*' -gid <original_gid> | perl -e '$ug = @ARGV[0]; foreach $fn (<STDIN>) { chomp($fn);$m = (stat($fn))[2];chown(-1,$ug,$fn);chmod($m,$fn)}' <new_gid># find / -not -path '/proc*' -gid <original_gid> | perl -e '$ug = @ARGV[0]; foreach $fn (<STDIN>) { chomp($fn);$m = (stat($fn))[2];chown(-1,$ug,$fn);chmod($m,$fn)}' <new_gid>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前述のコマンドで、<original_gid> を古い GID に置き換え、<new_gid> を新しい GID に置き換えます。たとえば、ファイルとディレクトリーのアクセス許可を GID
53から GID410に再割り当てするには、次のコマンドを入力します。find / -not -path '/proc*' -gid 53 | perl -e '$ug = @ARGV[0]; foreach $fn (<STDIN>) { chomp($fn);$m = (stat($fn))[2];chown(-1,$ug,$fn);chmod($m,$fn)}' 410# find / -not -path '/proc*' -gid 53 | perl -e '$ug = @ARGV[0]; foreach $fn (<STDIN>) { chomp($fn);$m = (stat($fn))[2];chown(-1,$ug,$fn);chmod($m,$fn)}' 410Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
JBoss Web Server を
tomcatユーザーとして再起動するには、アーカイブファイルからインストールされた場合のコマンドラインからの JBoss Web Server の起動 を参照してください。