找出应用程序以哪个帐户运行

找出应用程序以哪个帐户运行

我正在尝试在开发机器上设置 tomcat 环境。我无法运行应用程序,看起来是文件权限问题。包含应用程序的目录位于我的主目录中。我如何找出原因:

  • tomcat 以哪个账户运行
  • 如何为 tomcat 创建新组
  • 如何将 tomcat 添加到该组

为了能够向我的主目录添加特定于应用程序的权限。

答案1

查找运行 tomcat 的用户

如果您当前正在运行 tomcat,那么您可以运行 ps 并查看程序以哪个用户身份运行。

ps auxw | grep tomcat

这应该会列出名为 tomcat 的进程(以及 grep 进程,但请忽略它)。第一列数据是运行命令的用户。例如,apache在我的计算机上查找:

user@hostname ~$ ps auxw|grep apache
root       <numbers> ?        Ss   Nov10   0:03 /usr/sbin/apache2 -k start
www-data   <numbers> ?        S    Nov10   0:00 /usr/sbin/apache2 -k start
www-data   <numbers> ?        Sl   Nov10   0:00 /usr/sbin/apache2 -k start
www-data   <numbers> ?        Sl   Nov10   0:00 /usr/sbin/apache2 -k start
user       <numbers> pts/2    S+   11:22   0:00 grep --color=auto apache

因此,您感兴趣的用户是www-data

创建新的 tomcat 组

您想要的程序是addgroup

addgroup tomcat_group_name

将运行 tomcat 的用户添加到组

在这一步中,我们将使用usermod。用户名将是我们从第一步获得的(在我的示例中www-data)。在这一部分中,我将称之为tomcatuser

usermod -a -G tomcat_group_name tomcatuser

相关内容