【问题标题】:SELinux: Allow a bash script to run in Strict modeSELinux:允许 bash 脚本在严格模式下运行
【发布时间】:2011-09-06 07:24:37
【问题描述】:

我有一个安装了 SELinux 的 RHEL 5.5 服务器,以strict 模式安装。系统当前处于permissive 模式。我正在尝试编写一个简单的 shell 脚本,比如 setest.sh 并希望从 bash 终端显式运行它。

在许可模式下我可以这样做,但它在审核日志中被记录为拒绝:

Sep  6 12:49:58 rhel-vm-003 kern 5 kernel: type=1400 audit(1315293598.916:45417): 
avc:  denied  { execute_no_trans } for  pid=26602 comm="bash" path="/var/tmp/setest.sh"
dev=sda1 ino=1017036 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023
tcontext=system_u:object_r:test_policy_exec_t:s0 tclass=file

这显然意味着一旦我将 SELinux 切换到强制模式,我将无法从 bash 控制台运行脚本。我应该在我的策略模块中添加什么允许/域转换规则,以便在执行 SELinux 时它可以工作?

问候,
纳根德拉 U M

【问题讨论】:

    标签: rhel5 selinux


    【解决方案1】:

    当我在“test_policy_exec_t”上运行网络搜索时,我得到的唯一结果就是这个线程,所以我认为它是您创建的自定义上下文。只需将上下文更改为正常的内容,您就可以运行脚本。

    在我使用默认 sepolicy 的 RHEL 5 服务器上,以下内容不会在审核日志中生成任何内容。

     $ echo -e '#!/bin/sh\necho Hi!' > /var/tmp/setest.sh
     $ ls -Z /var/tmp/setest.sh
     -rw-r--r--  polgar users user_u:object_r:tmp_t            /var/tmp/setest.sh
     $ /var/tmp/setest.sh
     Hi!
    

    【讨论】:

      猜你喜欢
      • 2013-05-15
      • 2016-08-21
      • 1970-01-01
      • 2019-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-31
      • 2021-08-18
      • 1970-01-01
      相关资源
      最近更新 更多