RHEL8 selinux不允许服务从systemctl启动,而tomcat/bin/startup.sh拒绝权限[关闭]

Posted

技术标签:

【中文标题】RHEL8 selinux不允许服务从systemctl启动,而tomcat/bin/startup.sh拒绝权限[关闭]【英文标题】:RHEL8 selinux not allowing service to start from systemctl while tomcat/bin/startup.sh denied permission [closed] 【发布时间】:2022-01-21 03:58:52 【问题描述】:

我正在使用 aws rhel 8 linux 实例和从 AWS 中的 EFS 安装的 tomcat 文件夹并使用 对 nfs 挂载数据(tomcat 文件夹)具有完全权限的用户 ec2-user 能够在 /opt/mytomcat 上创建删除文件。 (目录)

当我尝试直接从 bin /opt/mytomcat/tomcat/bin/startup.sh 启动时工作正常,但是当我尝试从 /etc/systemd/system/tomcat.service 运行时它没有工作我确定我的设置是正确的,如果我禁用我的 selinux tomcat.service 工作正常。

错误:sudo systemctl start tomcat.service

tomcat.service:执行命令失败:权限被拒绝 12 月 14 日 10:58:02 ip-xxxxxxxx-2.compute.internal systemd[8827]: `

tomcat.service: Failed at step EXEC spawning

` `/opt/mytomcat/bin/startup.sh: Permission denied`

/opt/mytocmat/tomcat/startup.sh 有上下文 system_u:object_r:nfs_t:s0,应该是 system_u:object_r:usr_t:s0

当运行 audit2allow 以查找更多详细信息时,它会在下面显示以启用 nfs_t 文件

sudo audit2allow -a

#============= init_t ==============

allow init_t nfs_t:file  execute open read ;

基于上述,我尝试更改我的 nfs(efs aws 驱动器)驱动器的权限

[星期二 16:48] 拉杰什·丹达穆迪 sudo semanage fcontext -a -t init_t "/opt/mytomcat(/.*)?"

sudo restorecon -R -v /opt/mytomcat/

上面的命令运行,但检查时没有任何变化

system_u:object_r:nfs_t:s0。而不是 init_t 不确定如何修复它我是新的 selinux

我的 nfs 驱动器安装和工作正常,能够毫无问题地编辑/更新文件

[ec2-user@ip-10-xxxxx ~]$ ls -lZ /opt/mytomcat
total 2273208
drwxr-x---. 2 ec2-user ec2-user system_u:object_r:**nfs_t**:s0       6144 Dec 10 18:11 audit
-rw-r-----. 1 ec2-user ec2-user system_u:object_r:nfs_t:s0 7727677 Dec  9 21:58 mytomcat

可以帮帮我吗,因为我是 selinux 安全位的新手

【问题讨论】:

【参考方案1】:

您可以尝试做的一些事情是:

    startup.sh 文件是否可由 root 用户执行。 (chmod +x startup.sh) 考虑更改您的 tomcat 文件的所有者或组,以便服务可以访问它。 (使用 chown) 检查tomcat服务配置,看看有没有问题。

根据我的经验,这些类型的问题似乎有一个可能被忽视的非常简单的根本原因。

【讨论】:

以上是关于RHEL8 selinux不允许服务从systemctl启动,而tomcat/bin/startup.sh拒绝权限[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Linux搭建NFS服务(基础)

Android : 为系统服务添加 SELinux 权限 (Android 9.0)

Linux配置本地YUM源(RHEL8)

在 RHEL8 配置静态 IP 地址的不同方法

在 RHEL8 配置静态 IP 地址的不同方法

centos7安装cockpit图形管理界面