2.9. 更改 tomcat 用户和组的 UID 和 GID
在 Red Hat Enterprise Linux 中,tomcat 用户以及 tomcat 组的用户标识器(UID)和组标识符(GID)均保留值为 53。根据您的设置要求,您可以将 tomcat 用户和组的 UID 和 GID 更改为其他值。
为了避免 SELinux 冲突,请使用小于 500 的 UID 和 GID 值。如果 SELinux 设置为 enforcing 模式,则大于 500 的 UID 和 GID 值可能会导致意外问题。
先决条件
流程
-
如果 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 要为
tomcat组分配一个新的 GID,请以 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 要为
tomcat用户分配一个新的 UID,请以 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,并将 & lt;new_uid& gt; 替换为新 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& gt; 替换为新的 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 -
要以
tomcat用户身份重启 JBoss Web Server,请参阅 从存档文件 安装时从命令行启动 JBoss Web Server。