我试图从mongodb.org存储库在CentOS 7.2上安装MongoDB。 到目前为止,这个主机已经为所有的MongoDB数据文件创build了一个辅助磁盘(/ mongo)。 这与SELinux权限冲突,使MongoDB无法启动。 我已经开始运行setenforce 0 ,但是这不是我想运行生产服务器的方式。 我有很多Linux的经验,但是我所有的SELinux经验都是closures的。 我发现这个CentOS SELinux教程 ,让我觉得运行 [user@machine lib]$ sudo chcon -Rv –type mongod_var_lib_t /mongo changing security context of '/mongo/mongod.lock' changing security context of '/mongo/journal/WiredTigerLog.0000000001' changing security context of '/mongo/journal/WiredTigerPreplog.0000000001' changing security context of '/mongo/journal/WiredTigerPreplog.0000000002' changing security context of '/mongo/journal' changing security context of '/mongo/WiredTiger.lock' changing security context of '/mongo/WiredTiger' […]
在迁移到新的VPS并尝试新服务器(Centos 7)上的网站后,Selinux以某种方式阻止http访问Postgresql: pg_connect():无法连接到PostgreSQL服务器:无法连接到服务器:权限被拒绝主机上运行的服务器“127.0.0.1”,并接受端口6432上的TCP / IP连接 是的,我的postgresql在端口6432,因为我们使用pgbouncer来减less服务器负载。 我search了一下,发现是因为Selinux,所以我使用selinux命令来允许httpd连接到db setsebool -P httpd_can_network_connect_db on ,它的工作方式与我在sel查看Selinuxconfigurationsestatus -b它已打开,但问题仍然存在。 .. pg_connect():无法连接到PostgreSQL服务器:无法连接到服务器:权限被拒绝主机上运行的服务器“127.0.0.1”,并接受端口6432上的TCP / IP连接 有趣的是,我知道这是因为Selinux原因,当我使用setenforce 0它的工作原理和连接到postgresql没有任何问题。 我该怎么办?
安装后,我试图移动数据库位置在Fedora上: # su # systemtcl stop mariadb # cp -rp /var/lib/mysql /home # chown mysql.mysql /home/mysql 接下来,我正在编辑文件/etc/my.cnf.d/mariadb-server.cnf 从 [mysqld] datadir=/var/lib/mysql/ socket=/var/lib/mysql.sock 至 [mysqld] datadir=/home/mysql/ socket=/home/mysql.sock 然后 # systemctl start mariadb Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details. 所以 systemctl status mariadb […]
我有两台机器运行相同的JBoss和HTTPD设置。 他们从RedHat 7完全相同的安装开始,并遵循相同的过程在两台机器上安装一切。 在一台机器上,SELinux以默认设置运行,一切正常。 我从来没有碰过SELinux。 在另一台机器上,当我尝试在networking浏览器中访问它时,出现403条禁止的错误消息。 当我在网上search为什么时,我发现一个build议,我应该禁用SELinux,看看它是否工作。 所以我跑了setenforce 0 ,重新启动jboss和httpd,刷新我的浏览器,禁止的消息走了,一切都工作了。 我用setenforce 1重新打开SELinux setenforce 1 ,重新启动应用程序,刷新浏览器,禁止的消息回来。 所以在我的第二台机器上,SELinux肯定有些问题。 这很奇怪,因为我没有在任何一台机器上碰到SELinux,直到我试图在第二秒钟把它关掉。 我已经证实,在第一台机器上,当我运行getenforce ,它确实返回Enforcing 。 我的问题是 – 如何查看每台机器上的SELinuxconfiguration? 我怎么能比较它们,找出它们之间的差异,编辑或复制它们,以便我可以在不干扰我的应用的情况下在第二台机器上运行SELinux,就像在我的第一台机器上一样? 编辑 – 我运行这个命令来search审计日志: cat /var/log/audit/audit.log | grep httpd | grep denied 第一行重复了好几次。 最后两行只在最后出现一次。 type=AVC msg=audit(1468877854.297:22110): avc: denied { getattr } for pid=5193 comm="httpd" path="/var/www/html/sfo/index.htm" dev="dm-0" ino=70334613 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=file type=AVC msg=audit(1468877854.297:22111): […]
禁用完整的Selinux 首先编辑/ etc / selinux / config SELINUX=disabled 另外尝试添加到grub.conf selinux = 0 kernel /vmlinuz-2.6.32-642.3.1.el6.x86_64 ro root=/dev/mapper/vg-lv_root rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=es rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto LANG=es_ES.UTF-8 rd_LVM_LV=vg/lv_swap rd_NO_DM rd_LVM_LV=vg/lv_root selinux=0 rhgb quiet initrd /initramfs-2.6.32-642.3.1.el6.x86_64.img 重新启动机器并validation root@srv107 [~]# sestatus SELinux status: disabled 哎呀 问题依然存在。 尝试从其他主机访问时,使用端口24,10050,10051的多个服务出现错误: #telnet srv107.XXXXXXX.net 10051 Trying 5.XXX.XX.101… telnet: connect to address 5.XXX.XX.101: No route to host […]
我有两个Centos 7系统应该是相同的(数据除外)。 我在服务器A上有一个服务器进程被拒绝写访问特定的目录。 拒绝显示为SELinux拒绝。 在服务器B上,同一个服务不会被拒绝写入同一个目录。 我比较了两个服务器之间的文件权限,目录权限,ACL和SELinux上下文,它们看起来是相同的 – 除了A得到“被拒绝”的错误,而B则没有。 作为解决方法,我将SELinux设置为“Permissive”,现在A上的服务器进程可以写入目录。 在这一点上,我真的只是在寻找什么我可以排除故障的想法; 如果需要,我很乐意提供技术细节。 我对Linuxpipe理非常有经验,但对于SELinux并不是很有经验,所以在这一点上我很难过。 编辑 – 技术细节 我一直遇到的服务是IPA。 实际上,它是与IPA捆绑在一起的Apache,不允许写入memcached目录。 具体地说,用户“apache”被拒绝写入“/ var / run / ipa_memcached /”。 这里是我运行的命令,它们在服务器之间以字面相同的方式返回(除PID之外)。 (这些以root身份运行,所以以“$”开头的行是命令,接下来是输出) $ semanage fcontext -l | grep memc /var/run/memcached(/.*)? all files system_u:object_r:memcached_var_run_t:s0 /var/run/ipa_memcached(/.*)? all files system_u:object_r:memcached_var_run_t:s0 /usr/bin/memcached regular file system_u:object_r:memcached_exec_t:s0 /etc/rc\.d/init\.d/memcached regular file system_u:object_r:memcached_initrc_exec_t:s0 $ ls -ldZ /var/run/ipa_memcached/; ls -lZ […]
我的用户不能添加,修改或删除没有sudo的Apache / PHP文件。 我的环境是: CentOS Linux版本7.2.1511 SELinux状态:启用 当前模式:执行 Apache 2.4.23 我的用户已经在Apache的组: $ id uid=1000(lmeza) gid=1000(lmeza) groups=1000(lmeza),10(wheel),48(apache) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 Apache的Webroot已经有了标签httpd_sys_content_t $ ls -Z /var/www drwxr-xr-x. root root system_u:object_r:httpd_sys_script_exec_t:s0 cgi-bin drwxr-sr-x. apache apache unconfined_u:object_r:httpd_sys_content_t:s0 html 我有一个标签为httpd_sys_rw_content_t的目录,但我不能写在他身上: $ ls -lahZ /var/www/html drwxr-xr-x. apache apache unconfined_u:object_r:httpd_sys_rw_content_t:s0 modules $ touch /var/www/html/modules/abc.txt touch: cannot touch '/var/www/html/modules/abc.txt': Permission denied 正确获取文件访问控制列表: $ getfacl /var/www/html […]
我试图在启用selinux的情况下在centos 7上部署jupyterhub。 我selectsudospawner创build新的jupyter笔记本服务器。 当我尝试login到jupyterhub时,selinuxlogging以下错误没有过程被产生: python3.4[17888]: pam_selinux(login:session): Error sending audit message. python3.4[17888]: pam_keyinit(login:session): Unable to change GID to 1000 temporarily python3.4[17888]: pam_keyinit(login:session): Unable to change GID to 1000 temporarily dbus[633]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.1187" (uid=1003 pid=17888 comm="/usr/bin/python3.4 /usr/bin/jupyterhub ") interface="org.freedesktop.login1.Manager" member="CreateSession" error name="(unset)" requested_reply="0" destination="org.freedesktop.login1" (uid=0 pid=632 comm="/usr/lib/systemd/systemd-logind ") dbus-daemon[633]: dbus[633]: […]
我已经安装并运行了MySQL的服务器,并连接了一个iSCSI磁盘(带有多path)并运行正常。 iSCSI磁盘使用/ emc作为安装点。 我的问题是,当我将MySQL的datadir移动到iSCSI磁盘上的一个新目录时,也就是/ emc / lib / mysql。 迁移是好的,因为如果我停止selinux(setenforce 0)一切正常, 但是,当我重新启动selinux(setenforce 1)时,MySQL无法访问其数据库。 我已经安装并运行了setroubleshootd,它给了我有关错误的信息:/ emc有一个默认上下文default_t,所以ander / emc文件,包括我的新/ emc / lib / mysql,都有这个上下文,允许。 使用-p和-Z选项将文件从/ var / lib / mysql复制到/ emc / lib / mysql不起作用。 从sealert读取报告后,我将系统设置为重新生成标签: touch /.autorelabel reboot 但是这不起作用。 我认为它可能失败了,因为新磁盘是iSCSI,并且在networking运行时会自动挂载,而selinux可能在networking启动和运行之前试图自动标记新磁盘,所以selinux“看不到”新磁盘。 fstab行是: /dev/mapper/DATAp1 /emc ext3 _netdev 0 0 我试图挂载iSCSI磁盘添加上下文到fstab: /dev/mapper/DATAp1 /emc ext3 _netdev,context=system_u:object_r:var_t:s0 0 0 但是这不起作用。 我已经尝试了各种命令来恢复和重新生成上下文,但没有成功: […]
我有一个运行CentOS 6.2的networking服务器,以及来自仓库的最新的Apache。 Todey在Apache上通过CGI运行可执行程序时遇到了一个问题。 该程序应该连接到一些网站,下载一些东西,然后返回给用户(正常的端口80请求,没有什么可疑的)。 问题是,CGI程序返回Permission denied在socket_open命令上Permission denied 。 其他更简单的CGI程序,不需要networking连接工作正常,这个程序工作,以及从命令行调用,所以我怀疑一些权限问题,因为设置可执行文件setuid没有解决问题,我来到这是SELinux控制的结论。 我从来没有真正与SELinux合作,但getsebool -a | grep httpd getsebool -a | grep httpd返回 allow_httpd_anon_write –> off allow_httpd_mod_auth_ntlm_winbind –> off allow_httpd_mod_auth_pam –> off allow_httpd_sys_script_anon_write –> off httpd_builtin_scripting –> on httpd_can_check_spam –> off httpd_can_network_connect –> off httpd_can_network_connect_cobbler –> off httpd_can_network_connect_db –> off httpd_can_network_memcache –> off httpd_can_network_relay –> off httpd_can_sendmail –> off […]