在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

请注意,我的帐户设置为使用 shell /bin/bash,.而服务帐户则不然。

$ getent passwd nginx
nginx:x:987:978:Nginx web server:/var/lib/nginx:/sbin/nologin

要更改与此服务相关的任何文件,您需要使用sudo权限来编辑它们。只需执行以下操作sudo vim </path/to/file>即可编辑它们,并保留这些文件的原始用户。

如果您需要创建新文件,则还需要注意chown <user>.<group>服务帐户及其默认 Unix 组的新文件。

相关内容