我在CentOS 5.8最后 我最近yum install audit通过yum install audit但我无法启动它。 我编辑了configuration文件,给出了一个详细的错误输出,它是在启动时收到的错误,这是输出: # service auditd start Starting auditd: Config file /etc/audit/auditd.conf opened for parsing log_file_parser called with: /var/log/audit/audit.log log_format_parser called with: RAW log_group_parser called with: root priority_boost_parser called with: 4 flush_parser called with: INCREMENTAL freq_parser called with: 20 num_logs_parser called with: 4 qos_parser called with: lossy dispatch_parser called with: […]
我正在运行CentOS 6.4。 # cat /etc/centos-release CentOS release 6.4 (Final) 经过一些更新和重新启动后,OpenVPN无法启动。 # service openvpn start Starting openvpn: [FAILED] / var / log / messages在openvpn上显示以下输出: Nov 13 14:09:58 host kernel: type=1400 audit(1384344598.334:39761): avc: denied { read write } for pid=5777 comm="openvpn" name="openvpn" dev=dm-0 ino=54527865 scontext=unconfined_u:system_r:openvpn_t:s0 tcontext=unconfined_u:object_r:openvpn_var_log_t:s0 tclass=dir Nov 13 14:09:58 host openvpn[5777]: Options error: –status fails with […]
我有一个Zabbix的自定义用户参数,它调用一个硬件RAID CLI工具(arcconf / megacli)并检查是否有任何arrays降级。 由于这些工具是纯粹的,所以我configuration了sudoers来允许zabbix用户无需密码的访问: Defaults:zabbix !requiretty Cmnd_Alias ZABBIX_MEGACLI_CMDS = /opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -aALL zabbix ALL = (ALL) NOPASSWD: ZABBIX_MEGACLI_CMDS 在CentOS 5上,zabbix_agentd运行不受限制,一切正常。 在CentOS 6上,该代理现在在独立的zabbix_agent_t域中运行。 这造成了问题。 最初,sudo二进制文件本身无法执行,但是我添加了这个策略: sudo_exec(zabbix_agent_t) 现在它以不同的方式死亡了: type=AVC msg=audit(1407137597.193:157): avc: denied { create } for pid=3145 comm="sudo" scontext=unconfined_u:system_r:zabbix_agent_t:s0 tcontext=unconfined_u:system_r:zabbix_agent_t:s0 tclass=unix_dgram_socket type=SYSCALL msg=audit(1407137597.193:157): arch=c000003e syscall=41 success=no exit=-13 a0=1 a1=80002 a2=0 a3=1 items=0 ppid=3121 pid=3145 auid=0 […]
基于评论中的build议,我已经根据可读性进行了重新格式化。 我有一个使用google authenticator的RADIUS服务器,SELinux阻止了RADIUS访问用户主目录(这些也是winbind用户, /home/API dir在/home/API )中的.google_authenticator文件。 我试图通过build立以下策略文件来访问它: $ cat ./google-authenticator.fc /home/API(/.*)?/\.google_authenticator gen_context(system_u:object_r:radiusd_google_authenticator_t,s0) $ cat ./google-authenticator.te policy_module(radiusd_google_authenticator, 0.0.10) require { type radiusd_t; type user_home_dir_t; type admin_home_t; } type radiusd_google_authenticator_t; role object_r types radiusd_google_authenticator_t; allow radiusd_t radiusd_google_authenticator_t:file { rename create unlink rw_file_perms }; files_type(radiusd_google_authenticator_t) filetrans_pattern(radiusd_t, user_home_dir_t, radiusd_google_authenticator_t, file, ".google_authenticator") filetrans_pattern(radiusd_t, admin_home_t, radiusd_google_authenticator_t, file, ".google_authenticator") 安装这些显示在semanage fcontext -lpath,但它不起作用: […]
我试图得到mod_security,并击中了非常常见的主机名错误 [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "computername.domain.com" 这通常意味着在主机文件中需要一个条目。 不过,我已经尝试了主机名的所有组合; 本地主机(127.0.0.1),本地IP地址(192.168 ….)和公共IP地址(“122.56.11.156”)。 我也尝试了Apache的ServerName的所有组合; computer.domain,域名,IP地址,并没有设置它。 没有什么似乎为我工作。 目前我的/ etc / hosts文件看起来像: # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 computername.domain.com computername localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 192.168.0.102 computername.domain.com computername […]
我在虚拟机的/ var树中需要更多的空间,所以我分配了一些,引导进入运行级别1并将其复制到新的空间。 更改/ var的fstab条目以反映我重新启动的新位置。 (你可以看到会发生什么) 启动过程非常好。 我必须禁用selinux才能正常工作。 鉴于这个系统的性质,我想重新启用selinux,但我不清楚如何让所有的设置正确。 使用ls -Z来查看perms,它们看起来都是一样的(就像原始的/ var文件夹一样),但显然有些不对劲。 我错过了哪些步骤? 编辑:这是(相关)输出的ls -alZ / : drwxr-xr-x root root ? var drwxr-xr-x. root root system_u:object_r:var_t:s0 var.old 看起来像一个有希望的途径 – 虽然我注意到/ sys,/ dev和/ proc都有'?' 那里。
我试图设置一个LXC容器进行testing,在启用SELinux的情况下运行CentOS 7,以满足我试图运行的testing的要求。 尽pipe我的努力,我仍然无法得到getenforce的输出返回除“禁用”之外的任何东西。 容器最初使用以下lxc命令创build: sudo lxc-create -n <name> -t download — -d centos -r 7 -a amd64 我已经设置了容器configuration文件来使用fedora.common.conf来解决缓慢启动的问题,并且执行了一些其他的bootstrapping,但是我没有想到会影响SELinux。 我试过/检查以下尝试启用它(可能还有一些我忘记的东西!) 设置SELINUX =在/ etc / selinux / config中强制执行 删除模板指向/ usr / sbin / selinuxenabled的/ bin / false的符号链接并恢复原始文件 设置/ selinux /强制为1 安装了以前缺less的selinux-policy-targeted软件包 检查了我的内核支持SELinux 创build/.autorelabel来尝试重新标记文件系统,该文件系统在重启容器时看起来没有被拾取(文件仍然存在) 试图使用fixfiles手动重新标记为fs,这会导致错误,指出SELinux未启用。 我还没有在主机上启用SELinux,因为我非常确定我已经看到运行CentOS7的docker容器,它可以在没有安装或运行SELinux的主机的情况下运行它。 我search了一切我能想到的,并在这里search,找不到任何其他的build议,为什么我不能让SELinux在这个LXC容器内启用,任何人都可以帮忙吗? 我只是准备放弃并创build一个CentOS7主机来运行我的CentOS7容器,但我真的希望这不是必要的。
我们的开发机器有多个用户,他们的各个站点都存储在/home/username/apache 。 在这些文件夹中,像conf这样的子文件夹包含虚拟主机configuration,包含日志的日志,包含实际networking文件的public等。 我想更改日志,而不是单个日志文件: CustomLog "/home/user/apache/domain.tld/logs/web.log" combined 我们把日志分成日志: CustomLog "|/usr/sbin/rotatelogs -l /home/user/apache/domain.tld/logs/%Y%m%d_web.log 86400" combined 但是,当我把这个configuration,重新启动apache,然后重新加载页面,同时拖尾audit.log ausearch ,我看到像这样的错误: —- type=SYSCALL msg=audit(06/06/2014 14:16:51.401:406272) : arch=x86_64 syscall=open success=no exit=-13(Permission denied) a0=7fff70a92460 a1=80441 a2=1b6 a3=7fff70a92110 items=0 ppid=64542 pid=64617 auid=root uid=root gid=root euid=root suid=root fsuid=root egid=root sgid=root fsgid=root tty=(none) ses=1193 comm=rotatelogs exe=/usr/sbin/rotatelogs subj=unconfined_u:system_r:httpd_rotatelogs_t:s0 key=(null) type=AVC msg=audit(06/06/2014 14:16:51.401:406272) : avc: denied […]
我有nginx通过/run/gunicorn/socket上的unix套接字将请求转发到gunicorn。 默认情况下,SELinux不允许这种行为: grep nginx /var/log/audit/audit.log type=SERVICE_START msg=audit(1454358912.455:5390): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=nginx comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' type=AVC msg=audit(1454360194.623:7324): avc: denied { write } for pid=9128 comm="nginx" name="socket" dev="tmpfs" ino=76151 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=sock_file type=SYSCALL msg=audit(1454360194.623:7324): arch=c000003e syscall=42 success=no exit=-13 a0=c a1=1f6fe58 a2=6e a3=7ffee1da5710 items=0 ppid=9127 pid=9128 auid=4294967295 uid=995 gid=993 euid=995 suid=995 fsuid=995 egid=993 […]
有没有办法查看所有适用于SELinux的自定义策略,最好将它们全部整合到一个策略“包”中? 我刚刚花了一个星期左右的时间,通过一系列的SELinux错误,当一个特定的进程(从logrotate脚本,FWIW awstats更新)试图运行。 在SELinux处于许可模式下,我会等待logrotate运行,查看审计日志中的SELinux块,运行audit2allow创build一个允许策略,然后在第二天重复这个过程,并提供一个全新的相关错误列表。 最后,今天上午,审计日志变得干净了,所以我认为我有所有必要的规则来允许脚本正常运行。 当然,我没有考虑到这个过程,所以我没有创build所有的.pp / .te文件。 所以我想要做的就是将所有当前活动的自定义策略从SELinux中取出,这样我就可以拥有一个用于其他机器或恢复的备份副本。 这可能吗? 编辑:这是在运行CentOS 6.7的机器上,如果这有所作为