Samba를 사용하여 SELinux를 구성하는 방법은 무엇입니까? 과학적인 리눅스?

Samba를 사용하여 SELinux를 구성하는 방법은 무엇입니까? 과학적인 리눅스?

읽기 전용 Samba 공유를 마운트하려고 하면 Samba 서버에 이 메시지(클라이언트 시간 초과)가 나타납니다.

Nov  5 18:45:49 localhost kernel: type=1400 audit(1352137549.469:17): avc:  denied  { module_request } for  pid=3046 comm="smbd" kmod="net-pf-10" scontext=unconfined_u:system_r:smbd_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=system

난 노력 했어:

setsebool -P samba_export_all_ro 1
getsebool -a | egrep -i 'smb|samba'
yum install policycoreutils-python
semanage fcontext -a -t samba_share_t '/PATH/TO/SAMBASHARE(/.*)?'
restorecon -R /PATH/TO/SAMBASHARE
/etc/init.d/smb restart

읽기 전용 Samba 공유를 허용하도록 SELinux를 어떻게 구성합니까? SELinux를 끄는 것은 어리석은 일입니다.

고쳐 쓰다:

[root@SERVER ~]# getsebool -a|grep -i smbd
allow_smbd_anon_write --> off
[root@SERVER ~]# setsebool -P smbd_disable_trans 1
libsemanage.dbase_llist_set: record not found in the database
libsemanage.dbase_llist_set: could not set record value
Could not change boolean smbd_disable_trans
Could not change policy booleans

답변1

smbd가 커널 모듈을 자동 로드하려고 시도하는 것 같습니다 . 이는 모듈이 합리적으로 예상되지 않기 때문에 SELinux에서는 허용되지 않는 것 같습니다 net-pf-10.ipv6습관로드됩니다(또는 IPv6가 비활성화된 IPv6 바인딩이 필요함).

이 문제를 해결하는 방법에는 최소한 두 가지가 있습니다.

  1. 시스템 전체에서 IPv6를 다시 활성화합니다(거의 확실히 비활성화했으므로 이는 IPv6 비활성화로 인해 발생할 수 있는 많은 문제 중 하나일 뿐입니다).
  2. IPv6 주소에 바인딩을 시도하지 않도록 Samba를 재구성하십시오. 원하는 IPv4 주소에만 바인딩하도록 interfaces줄을 변경하십시오 . smb.conf한 가지 예:

    interfaces = 127.0.0.1 198.51.100.87
    bind interfaces only = yes
    

관련 정보