2.9. 更改 tomcat 用户和组的 UID 和 GID
在 Red Hat Enterprise Linux 中,tomcat 用户的用户 IDentifer (UID)和 tomcat 组的组标识符(GID)都保留了 53。根据您的设置要求,您可以将 tomcat 用户和组的 UID 和 GID 更改为其他值。
为避免 SELinux 冲突,请使用小于 500 的 UID 和 GID 值。如果 SELinux 设置为 enforcing 模式,则大于 500 的 UID 和 GID 值可能会导致意外问题。
先决条件
流程
-
如果 JBoss Web 服务器已在运行,请以
tomcat用户身份停止 JBoss Web Server。如需更多信息,请参阅从 存档文件安装时从命令行停止 JBoss Web Server。 要查看
tomcat用户和组的当前 UID 和 GID,请以 root 用户身份输入以下命令:id tomcat前面的命令显示用户帐户和组详细信息。例如:
uid=53(tomcat) gid=53(tomcat) groups=53(tomcat)要为
tomcat组分配一个新的 GID,请以 root 用户身份输入以下命令:groupmod -g <new_gid> tomcat例如:
groupmod -g 410 tomcat要为
tomcat用户分配一个新的 UID,请以 root 用户身份输入以下命令:usermod -u <new_uid> -g <new_gid> tomcat例如:
usermod -u 401 -g 410 tomcat要将文件和目录权限分配给新 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>在前面的命令中,将 < original_uid> 替换为旧的 UID,并将 < ;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要将文件和目录权限分配给新的 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>在前面的命令中,将 < 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-
要以
tomcat用户身份重新启动 JBoss Web 服务器,请参阅从存档文件安装时从命令行启动 JBoss Web Server。