请问一下SELinux的策略怎么修改
我的系统是Fedora9,apache、mysql都是yum安装的(因为是开发用,所以没有自己编译)。
现在的情况是:把apache不能访问目录的情况解决了,也就是说把web根目录下的fiel context type改成httpd_sys_content_t了。但是现在没有办法访问mysql的socket,大概是说httpd不能对mysql.sock做connectto操作,但是被selinux拒绝了。
我在网上找了很多资料,看了大概一天时间,翻来覆去就是抄的那么三四篇,大篇大篇介绍selinux,涉及到操作的部分少得可怜,而且还是在他们自己的特定环境下的操作,操作流程本身的可复制性就很低。
现在想请问各位大大,怎样才能满足以下的要求:
1、selinux不改用source模式,而是用direct模式;
2、可以用audit2allow,但是请详细解释一下从log里面导出来的源码的含义,另外就是我用audit2allow的时候,最后如果用semodule -i local.pp的话会把前一次的local.pp覆盖掉,如果用 semodule -u local.pp 的话它又说现在的 local.pp不比上一次的新,巨汗…………
3、不装第三方的所谓修改工具,或者selinux的策略源码
4、实现两个功能即可:一是现在 mysqld_safe 和 mysqld 的selinux标签都是“unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023”,有没有办法把这两个进程归到一个我自己创建的标签下,比如:mysql_exec_t。二是怎样才能让http_t的进程访问mysql.sock
httpd和mysql.sock的详细情况如下:
1、httpd进程:
system_u:system_r:httpd_t:s0 2547 ? Ss 0:00 /usr/sbin/httpd -k start
2、mysql进程:
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 6164 pts/2 S 0:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf --datadir=/data/mysqldata
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 6197 pts/2 Sl 0:02 /usr/libexec/mysqld --defaults-file=/etc/my.cnf --basedir=/usr --datadir=/data/mysqldata --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock
3、mysql.sock
srwxrwxrwx mysql mysql unconfined_ubject_r:mysqld_db_t:s0 mysql.sock
拜托各位大大了~~~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
setstaus -b #查看SELinux的所有状态;
setsebool -P *** ON #永久设置***为ON
man sestatus、
man getsebool、
man setsebool。