问题标签 [selinux]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1189 浏览

apache - Apache Daemon 尝试在 CentOS 上 Ping 但无法正常工作(SELinux 问题)

我在 php 中开发了一个应用程序。它的功能之一是 ping 外部服务器。然而,当这个动作被触发时,什么也没发生。我检查了 SELinux 日志并生成了一个允许 apache 守护进程 ping 的策略(如果以 apache 用户身份登录,ping 工作正常)。安装该策略后,SELinux 日志上没有显示错误,但在 httpd 日志上出现了很多次:

我知道这是一个 SELinux 配置问题(可能是套接字连接?),因为如果我禁用它,它工作得很好,但这不是我的选择。

我已将 ping 命令的输出重定向到一个文本文件,并且在触发操作后,结果如下:

所以我有点卡在这一点上。任何人都可以帮助我吗?

非常感谢。

0 投票
2 回答
2342 浏览

centos - 将完整的文件系统恢复到默认的安全上下文

我是一个 selinux 新手,必须更改 CentOS 机器上的 mercurial repo 和配置文件的安全上下文才能从 httpd 获取它。

不小心我发出了“chcon -Rv --type=httpd_sys_script_exec_t /”,只有在已经修改了大量文件和目录时我才能停止。

我阅读了有关 restorecon 将某些内容恢复到其默认上下文的信息,但它对我不起作用,我得到“权限被拒绝”。

我该怎么做才能将整个文件系统恢复到其 selinux 默认值?

0 投票
1 回答
6282 浏览

java - “setenforce 0”如何以及为什么允许 Java 7 运行?

我对正在开发的程序进行了一些更改,并将 Java 从 Java 6 更新到 Java 7。

我在 CentOS 5.8 32 位 VM 上运行该程序。

在 Java 更新之前它运行良好。

现在这个过程不是从错误开始的:

我已经在线检查过,解决方案/解决方法是运行命令:

它会起作用的。

阅读有关setenforce命令的文档,我不明白它的作用以及它是如何解决问题的。

所以我的问题是:

  1. 什么可能导致阻止我启动进程的错误?
  2. 为什么setenforce命令可以解决它?
  3. 请简要说明setenforce一般情况。
0 投票
5 回答
35548 浏览

php - file_put_contents 未创建 txt 文件

我目前有一个在浏览器浏览器浏览网页时正在运行的 php 脚本。我要做的是在脚本运行时编写一个文本文件来存储变量。该文件夹的所有者是apache,但每个人都有读写权限,严格用于测试目的。(我认为这可能是权限问题)在服务器上启用了 SELINUX,当我从控制台运行脚本时,它会在正确的目录中创建文本文件。

我正在使用这一行来尝试编写和创建文本文件,我知道我的文件位置有效,因为我可以运行它并在离线模式下创建它,IE 通过控制台运行它。问题是我试图写入的变量是通过 HTTP Post 填充的,当我通过浏览器运行脚本时,或者当 apache 运行脚本时,它不会写入或创建文件。我需要做什么才能允许访问写入/更改语法明智地让这个脚本写入这个文本文件?

0 投票
2 回答
6415 浏览

php - 告诉 SELinux 授予 Apache 对文档根目录外 PHP 文件的执行访问权限

我有一个保存共享 PHP 脚本的目录(名称是任意的,但不是 /var/、/usr/ 或任何 SELinux 具有特定设置的东西):
/whatever/scripts/

这些脚本可以由 cronjobs 执行,也可以由 Apache 或 Tomcat 执行,因此输出可以包含在网页中。

SELinux 拒绝许可:

type=AVC msg=audit(1363205612.276:476923): avc: denied { execute } for pid=6855 comm="sh" name="script.php" dev=sda3 ino=4325828 scontext=system_u:system_r:httpd_t:s0 tcontext =unconfined_u:object_r:etc_runtime_t:s0 tclass=文件

类型=SYSCALL msg=audit(1363205612.276:476923):arch=c000003e syscall=59 成功=没有退出=-13 a0=2431d10 a1=2431d70 a2=24301e0 a3=50 项= 0 ppid=23100 pid=6855 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(无) ses=4294967295 comm="sh" exe=" /bin/bash" subj=system_u:system_r:httpd_t:s0 key=(null)

type=AVC msg=audit(1363205612.277:476924):avc: denied { execute } for pid=6855 comm="sh" name="script .php" dev=sda3 ino=4325828 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:etc_runtime_t:s0 tclass=文件

type=SYSCALL msg=audit(1363205612.277:476924):arch=c000003e syscall=21 成功=没有退出=-13 a0=2431d10 a1=1 a2=0 a3=50 项=0 ppid=23100 pid=6855 auid=4294967295 uid =48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="sh" exe="/bin/bash" subj=system_u:system_r: httpd_t:s0 key=(null)

我知道有一个命令可以用来告诉 SELinux 允许这样做,但它让我望而却步。

即使使目录和脚本所有者和组 apache 也不起作用,所以这不是典型的权限问题,而是 SELinux 特有的。

系统为CentOS 6.3。

0 投票
2 回答
1934 浏览

embedded-linux - 在沙盒中的 Linux 上运行不受信任的应用程序

我们有一台运行 Linux 的设备,我们需要在此设备上运行不受信任的应用程序。我们正在努力缓解以下安全问题 -

  1. 不受信任的应用程序不应对核心操作系统数据和二进制文件产生不利影响
  2. 不受信任的应用程序不应对另一个应用程序的数据和二进制文件产生不利影响
  3. 不受信任的应用程序不应消耗过多的 CPU、内存或磁盘,并导致核心操作系统或其他应用程序出现 DoS/资源不足的情况

从不受信任的应用程序的角度来看,它只需要能够读取和写入自己的目录,也许还需要挂载的 USB 驱动器

我们正在考虑使用以下方法之一 -

方法 1 - 将 SELinux 用作沙箱

  • 这可能吗?我已经阅读了一些 SELinux,它在设置策略文件和在运行时强制执行等方面看起来有点复杂。SELinux 可以做到这一点并将不受信任的应用程序限制为只读/写自己的目录,并且还能够设置配额限制?

方法 2 - 我们自己创建一个新的沙箱

  • 在安装期间

    • 为每个不受信任的应用程序创建一个新的应用程序用户
    • 给整个应用程序目录和文件加盖权限,这样只有应用程序用户可以读写
    • 使用 ulimit/quota 为应用程序用户设置配额
  • 在运行时,使用启动不受信任的应用程序

    • 关闭所有打开的文件描述符/句柄
    • 使用 chroot 将根设置为应用程序目录
    • 在应用程序用户的上下文中启动应用程序

对上面的想法?哪种方法比另一种更安全?还有另一种可能效果更好的方法吗?由于某些原因,我们无法选择迁移 Android,因此我们无法使用 Android 原生提供的沙盒功能......

让我知道

谢谢,

0 投票
3 回答
200 浏览

selinux - 在不禁用 selinux 的情况下将文件从 windows 服务器下载到 linux 服务器

我正在 Linux 服务器上用 PHP 开发一个站点,我需要将文件从 Windows 服务器下载到 Linux 机器。我可以通过 SeLinux 中的一些更改或设置它的一些属性(setsebool -P httpd_disable_trans=1)来做到这一点。但是我们的客户拒绝为此功能妥协任何安全性因此需要找到任何其他解决方法。任何人都可以帮忙吗?

提前致谢。

0 投票
1 回答
1166 浏览

apache - 使用从挂载读取的 Apache VirtualHost 设置 SeLinux 的正确方法?

我有一个需要从中设置 VirtualHost 的挂载。/opt/foo

当我使用 SeLinux 创建 VirtualHost 时,Apache 报告该目录不存在。

当我将 SeLinux 设置为许可模式时,它工作正常。

设置我的/opt/foo目录的正确方法是什么,以便在执行时它可以与 Apache 和 SeLinux 一起使用?

0 投票
5 回答
5055 浏览

android - Android 4.2 引入了内核默认启用的 SELinux

  1. 正如我正确理解的那样,Android 4.2 引入了内核默认启用的 SELinux。我对吗?反正有没有禁用它?

有一些应用程序可能无法正常工作。

前任。使用 mount 命令系统范围停止工作

  1. 反正有禁用它吗?我检查了 VZW Galaxy Nexus - 构建 JDQ39 - 我不确定 Linux 版本是什么 - SELinux 或 Linux。

  2. 在安卓设备上使用 SELinux VS Linux 有什么好处。

问候,

0 投票
2 回答
2785 浏览

centos - Selinux - 文件上下文看起来不错,但 Selinux 不允许写入

我正在尝试学习 Selinux。使用沙箱并使用 VSFTPD 进行试验,我有一个在 Centos 中运行的 vsfptd 服务器。我有匿名用户将文件放在 /var/ftp/incoming 中。在远程机器上,我可以让用户成功登录,但无法将文件放在删除 vsftpd 服务器上:

在 VSFTPD 服务器上,aureport -a 报告显示:

我检查了目录,文件上下文看起来不错,所以我不明白为什么 Selinux 不允许 vsftpd 写入传入目录: