SELinux访问问题.以特定用户身份运行的进程无法更新由同一用户拥有但由单独进程创建的文件



我们有一个系统,Chef在该系统中部署了一个监控代理AppDynamics作为特定用户-为了本文的目的,让我们调用该用户sysXYZ。AppDynamics代理创建一个每日日志文件,所有日志文件都具有sysXYZ用户所有权。

Tomcat也以sysXYZ用户的身份运行,它承载着AppDynamics代理监视的应用程序。每天,Tomcat实例都会重新启动(项目有其原因(,启动过程包括重命名昨天的AppDynamics日志的步骤。但是,这是由于权限问题而被阻止的。以用户sysXYZ身份运行的Tomcat不能修改用户sysXYZ拥有但由非Tomcat创建的文件。

我知道SELinux是为了防止意外访问——比如说引入了恶意行为者——我对这个概念很满意。在这里,我们可以做些什么来允许Tomcat实例在每次重新启动时适当地重命名文件?

正确而困难的方法是修改Tomcat目录上的SELinux布尔值,以允许Tomcat修改其他用户创建的文件。请阅读此处。

简单而肮脏的解决方案是将start-up process includes a step for renaming yesterdays AppDynamics logs作为用户sysXYZ。这样你就可以避免这个问题。

使用su - sysXYZ <script>命令、sudo -iu sysXYZ <script>命令或sudo -t <Tomcat role> <script>

祝你好运。

相关内容

最新更新