Articles of selinux

启用S​​ELinux策略; httpd作为上下文运行unconfined_u:system_r:httpd_t:s0

当我启动apache http服务器2.2时,我在apache日志中不断得到以下通知: 启用S​​ELinux策略; httpd作为上下文运行unconfined_u:system_r:httpd_t:s0 即使我已经禁用了selinux。 怎么了?

从fail2ban运行Expect脚本的SELinux问题

我有一个Expect脚本工作正常,如果我手动运行,但失败时,作为从Fail2ban行动运行。 错误消息如下所示: spawn /usr/bin/telnet 192.168.242.1 The system has no more ptys. Ask your system administrator to create more. while executing "spawn /usr/bin/telnet $hostname" 在audit.log中有相应的消息: type=AVC msg=audit(1407894085.867:54862): avc: denied { read write } for pid=14748 comm="ciscoacl.exp" name="ptmx" dev=devtmpfs ino=5288 scontext=unconfined_u:system_r:fail2ban_t:s0 tcontext=system_u:object_r:ptmx_t:s0 tclass=chr_file 脚本以root身份运行(通过从脚本运行whoami确认),所以我预计不会有任何问题。 如果有的话,我能做些什么来解决这个问题? (不,我不想禁用SELinux!) 我不认为脚本本身在这里有所作为,但如果需要,我可以发布它。

Apache无法连接到远程MySQL,但从同一台服务器的MySQL命令行可以

症状: 我正在运行CentOS 6。 我可以从命令行连接到远程MySQL: mysql -h abcd -u user -p -D db 。 运行在本地命令行上的Laravel artisan命令也可以连接: artisan migrate 。 但是,通过Apache运行时相同的Laravel代码无法连接。 错误是: SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'abcd' (13) MySQL帮助“拒绝访问”的原因没有帮助。 我究竟做错了什么? (我为自己的后代回答。)

由于selinux,Varnish 4服务将无法启动

我已经在我的新的centos 6.5盒子上安装了清漆4。 我已经激活EPEL回购从http://repo.varnish-cache.org/redhat/varnish-4.0/安装清漆安装和configuration我的default.vcl后,我无法启动服务清漆,我总是得到/ var / log / audit / audit.log告诉我,selinux阻止varnishd启动: type=AVC msg=audit(1412184576.830:242): avc: denied { getattr } for pid=4623 comm="varnishd" path="/etc/hosts" dev=vda1 ino=17248 scontext=unconfined_u:system_r:varnishd_t:s0 tcontext=system_u:object_r:file_t:s0 tclass=file type=SYSCALL msg=audit(1412184576.830:242): arch=c000003e syscall=5 success=no exit=-13 a0=3 a1=7fff399e8290 a2=7fff399e8290 a3=0 items=0 ppid=4620 pid=4623 auid=0 uid=498 gid=497 euid=498 suid=498 fsuid=498 egid=497 sgid=497 fsgid=497 tty=pts0 ses=1 comm="varnishd" exe="/usr/sbin/varnishd" subj=unconfined_u:system_r:varnishd_t:s0 key=(null) 我试图使用audit2allow,但除了安装产生的模块,我得到相同的错误…

SSH工作,但隧道或SFTP不。 为什么?

自2014年以来,我从SoYouStart和Centos 7获得了一台服务器。它运行良好,但是现在我不得不再次安装操作系统。 现在我正在configuration所有的服务再次工作。 我需要使用SSH隧道连接到服务器到Mysql(现在是MariaDB)并使用SFTP传输文件。 问题是,我可以成功地连接SSH到服务器(从任何主机),但当我尝试使用Cyber​​duck或Navicat连接到服务器使用SSH隧道时,我得到一个错误(“服务器意外closuresnetworking连接”或“有在连接到端口22上的服务器时出现问题。“)。 我尝试从iPhone与SSH壳,我可以成功连接与SSH和SFTP,但不是与SSH隧道的数据库。 我不明白问题在哪里。 我已经禁用了iptables,firewalld(我用iptablesreplace了它)和selinux直接连接到允许远程连接的数据库。 服务器有一个静态的IP地址,从提供商,我的作业netwkor在最后几个小时没有改变,所以我不认为这个问题在这里。 谁能帮我? 非常感谢你 安德里亚 编辑@TheCompWiz sshd_config已经允许Tcp转发。 这些是未注释的行: PermitRootLogin yes PasswordAuthentication yes ChallengeResponseAuthentication no AllowTcpForwarding yes X11Forwarding yes UsePrivilegeSeparation sandbox PermitTunnel yes Subsystem sftp /usr/libexec/openssh/sftp-server 而奇怪的是,我可以从一个移动应用程序SFTP,但我不能从电脑做.. MySQL的SSH隧道仍然无法正常工作 非常感谢你

NagEL Selinux上的RHEL7 equivelant上下文

我第一次安装了nagios核心和插件,并且无法与SElinux一起使用。 审计日志中的错误是, type=AVC msg=audit(1441480084.865:710): avc: denied { execute } for pid=5444 comm="httpd" name="statusjson.cgi" dev="dm-1" ino=135240040 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:httpd_sys_content_t:s0 tclass=file 系统: Scientific Linux 7 Nagios: 4.1.1 我按照这里的指示 它适用于SElinux处于宽容模式( setenforce 0 ) (对于想要弄清错误日志的人来说,SELinux策略默认情况下似乎没有审计httpd exec消息,我重build了SELinux策略,根据这篇文章启用所有的审计消息 #semodule –disable_dontaudit –build 并看着日志使用 #sealert -a /var/log/audit/audit.log > auditlog.log 另外,按照sealert的build议不适合我 )

允许远程主机连接到本地转发端口的SSH

目前,我正在面对RHEL7.0关于ssh选项-g(即远程主机连接到本地转发端口)的问题。 我正在使用通常的命令行从myserver_ip地址上的服务器build立与端口转发的连接: ssh -o StrictHostKeyChecking=no user@server_fqn -L9090:other_server_ip:9080 -g 当我指向我的浏览器(或尝试curl获取的东西,我得到一个连接拒绝exception): curl -X GET "http://myserver_ip:9090" curl: (7) Failed to connect to myserver_ip port 9090: No route to host 如果我在Ubuntu服务器上完成同样的工作,但是在RHEL上它却不起作用。 我怀疑防火墙,selinux,甚至networking连接。 为了解决/疑难解答,我已经尝试了以下内容: 禁用防火墙( service firewalld stop ) 检查selinuxpipe理9090作为有效的http端口( semanage port -l | grep 9090 ),它是好的 检查端口打开通过netstat( netstat -alptn | grep 9090 ),似乎没问题,我有一个ssh进程在9090 检查服务器是否接收到ehternet接口( tcpdump -i ens192 'port 9090' […]

一个套接字和PID的SELinux权限

我正在考虑在CentOS 7上安装rmilter 。 我试图找出哪些SELinux标签/权限需要守护进程绑定/写入以下pidfile = /run/rmilter/rmilter.pid; bind_socket = unix:/run/rmilter/rmilter.sock; pidfile = /run/rmilter/rmilter.pid; bind_socket = unix:/run/rmilter/rmilter.sock; 下面是redis和rmilter的比较,例如(在/ run下) drwxr-xr-x. redis redis system_u:object_r:redis_var_run_t:s0 redis drwxr-xr-x. root root unconfined_u:object_r:var_run_t:s0 rmilter drwxr-xr-x. redis redis system_u:object_r:redis_var_run_t:s0 redis drwxr-xr-x. root root unconfined_u:object_r:var_run_t:s0 rmilter

如果命令打印零行,我怎样才能运行一个盐状态?

我已经在CentOS7上运行了Salt和SELinux。 我想运行restorecon -Rv /path/to/something ,但只有在必要的时候。 我知道盐有唯一的, unless命令,但我有一个时间search我想要的东西。 我想写些东西来达到这个效果: Fix SELinux Permissions: cmd.run: – name: restorecon -Rv /path/to/something – onlyif: restorecon -Rv -n /path/to/something produces any lines 我已经尝试了返回码,但是这总是0.我实际上并不想每次运行状态都运行这个命令 – 只是当dir实际上需要更改时。 否则盐会报告它运行的命令,即使没有真正的变化 。 我怎样才能以我想要的方式工作?

服务php-fpm没有获得用户权限

我有一个php-fpm的问题。 它实际上是php7版本。 我有Drupal,它会抱怨某些目录不可写。 只有当我启动php-fpm作为这样的服务: #service php-fpm start 我使用nginx作为web服务器和php-fpm,在端口127.0.0.1:9000。 这是我在/etc/php-fpm.d/www.conf中的conf: ; Start a new pool named 'www'. [www] user = nginx group = nginx listen = 127.0.0.1:9000 web的所有文档 – drupal – 属于nginx:nginx。 如果我开始服务,也是 #service php-fpm start 要么 #systemctl启动php-fpm 它会抱怨权限,即使ps显示(ps aux | grep php-fpm): root 1591 0.0 0.8 528916 31260 ? Ss 07:49 0:00 php-fpm: master process […]