Chinaunix

标题: 有熟悉selinux的高手吗 [打印本页]

作者: lxc521    时间: 2010-06-14 17:51
标题: 有熟悉selinux的高手吗
弄了selinux一段时间,终于把各种网络服务的策略都整理好
但还留有一个dovecot用户认证的问题,始终认证不过,用户登录时的日志如下:
type=USER_AUTH msg=audit(1276507030.919:5032): user pid=31695 uid=0 auid=0 subj=root:system_r:dovecot_auth_t:s0 msg='PAM: authentication acct="test" : exe="/usr/libexec/dovecot/dovecot-auth" (hostname=::ffff:192.168.1.1, addr=::ffff:192.168.1.1, terminal=dovecot res=failed)'
如把selinux临时关闭,又可以正常登录。
google过redhat网站上有讲把allow_ypbind的值设成on就行, 但这里设成on后,问题依旧。
哪位曾经遇过这种问题没有,高手们来讨论一下。
作者: lxc521    时间: 2010-06-30 22:23
终于把这个问题解决, 拿来分享一下。

dovecot_auth_t 需要可以读取 shadow_t 文件类型, 但系统默认是拒绝读取的, 而在selinux中这类被设成dontaudit, 既在audit.log中是没有denied的记录显示, 需要semodule -DB来显示这些隐藏了的denied, 再设置规则,如下:

mkdir ~/mydovecot; cd ~/mydovecot
echo "policy_module(mydovecot, 1.0.0)" > mydovecot.te;
echo "require { type dovecot_auth_t; }" >> mydovecot.te;
echo "auth_read_shadow(dovecot_auth_t)" >> mydovecot.te;

make -f /usr/share/selinux/devel/Makefile mydovecot.pp
sudo semodule -i mydovecot.pp

注意这里不能用audit2allow去生成规则, 否则加载规则进kernel时会报错。
作者: benqiu    时间: 2010-06-30 23:22
不错不错,看来这回你对这个设置会印象非常深刻了。
作者: chenyx    时间: 2010-07-01 08:24
楼主把解决方案贴出来,赞一个




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2