我的系统运行 CentOS 6.4 和 apache2.2.15。SElinux 正在执行,我正在尝试通过我的 python/wsgi 应用程序连接到 redis 的本地实例。我收到错误 13,权限被拒绝。我可以通过以下命令解决这个问题:
setsebool -P httpd_can_network_connect
但是,我并不完全希望 httpd 能够连接到所有 tcp 端口。如何指定允许 httpd 连接的端口/网络?如果我可以制作一个模块来允许 httpd 连接到端口 6379 ( redis ) 或 127.0.0.1 上的任何 tcp,那将是可取的。不知道为什么我的偏执如此强烈,但是嘿...
有人知道吗?
在StackOverflow 上的这个问题和我们这里完全不同的人群中,我想知道:您禁用 SELinux 的原因是什么(假设大多数人仍然这样做)?您想保持启用状态吗?离开 SELinux 后,您遇到过哪些异常情况?除了 Oracle 之外,还有哪些供应商在支持启用 SELinux 的系统时遇到问题?
额外问题:有人设法让 Oracle 在 RHEL5 和 SELinux 上以强制目标模式运行吗?我的意思是,严格会很棒,但我认为这还遥不可及,所以让我们先保持有针对性的 ;-)
有人可以告诉我在哪里可以找到 RedHat 和 SELinux 上的 SSHD 日志....我想查看日志以查看谁正在登录我的帐户..
我想暂时让 SELinux 在服务器上运行以提高安全性。
我通常禁用 SELinux 以使其正常工作。
如何告诉 SELinux 允许 MySQL 连接?
我在文档中找到的最多的是来自 mysql.com 的这一行:
如果您在 Linux 下运行并且启用了安全增强 Linux (SELinux),请确保您已禁用 mysqld 进程的 SELinux 保护。
哇...这真的很有帮助。
在我设置的配置中,我希望允许 samba 和 apache 访问 /var/www 我能够设置上下文以允许 samba 访问,但是 httpd 没有访问权限。使用 setenforce 到 0 可以消除问题,所以我知道它是 SELinux。
另外:如何查看文件夹的上下文,一个文件夹可以有多个上下文吗?
(CentOS)
正如标题所说,如何查看 SELinux 策略包的内容?生成的文件以 .pp 结尾。我在 centos 6 上运行,但我想在“所有”发行版上也是如此。
例如
cp /usr/share/selinux/targeted/cobbler.pp.bz2 ~
bunzip2 cobbler.pp.bz2
MAGIC_SELINUX_CMD cobbler.pp
Run Code Online (Sandbox Code Playgroud) 尝试通过 SSH 连接到远程计算机,但仍要求输入密码。
我有多台运行 SElinux 的计算机,其中只有一台让我在没有密码的情况下很难使用 ssh。
我做了一个 ssh-copy-id,我可以在 .ssh/authorized_keys 中看到我的密钥。
我 chmod 700 .ssh 和 chmod 600 ./ssh/* 中的所有文件
如果我执行 ssh -v 这是我的输出:
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to wcmisdlin05 [10.52.208.224] port 22.
debug1: Connection established.
debug1: identity file /home/jsmith/.ssh/identity type -1
debug1: identity file /home/jsmith/.ssh/id_rsa type 1
debug1: identity file /home/jsmith/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 …
Run Code Online (Sandbox Code Playgroud) 什么是.autorelabel
位于文件根目录的文件/
在Linux下怎么办?
我知道它与 SELinux 有关,但我找不到关于它实际作用的任何信息。我正在运行 CentOS 6。
提前致谢。
我一直在尝试为端口 5000 上的 apache 添加一个例外到 SELinux。所以我使用了命令:
# semanage port -a -t http_port_t -p tcp 5000
Run Code Online (Sandbox Code Playgroud)
但返回错误,
ValueError: Port tcp/5000 already defined
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下命令检查是否是这样:
semanage port -l |grep 5000
Run Code Online (Sandbox Code Playgroud)
这给出了输出,
http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000
Run Code Online (Sandbox Code Playgroud)
如您所见,5000 不在列表中。
有什么明显的我遗漏了吗?预先感谢您的努力
所以我发现另一个服务对 TCP 端口 5000 有一个定义的状态。
但是通过将-a
选项替换-m
为 for modify,将 tcp 端口 5000 添加到http_port_t
我不知道在哪里使用了 SELinux 以及它从攻击者那里保存了什么。我浏览了 SELinux 网站并阅读了基本但仍然没有获得有关 SELinux 的线索。对于提供 SSH shell、Apache 前端、基于角色的 Web 应用程序、MySQL DB、memcached 的 Linux 系统,几乎所有系统都有密码保护,那么我们为什么需要 SELinux?