Показать сообщение отдельно
  #5 (permalink)  
Старый 26.08.2008, 11:41
Аватар для Ulitka
Ulitka Ulitka вне форума
 
Регистрация: 01.10.2003
Адрес: USA
Сообщения: 7,082
Сказал спасибо: 174
Поблагодарили 225 раз в 169 сообщениях
Вес репутации: 4087
Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute
По умолчанию Re: Samba & external USB hard drive.

кстати, если у вас selinux работает в режиме Enforcing, то описанные veey события будут проиходить довольно часто, особенно, если это рабочий desktop или домашний комп, которые, как правило, интенсивно используются для всякого рода экспериментов. Однако соществует очень удобный способ быстро идентифицировать все "неполадки" связанные с работой selinux.

1. первое, что нужно сделать - установть пакет setroubleshoot
Код:
yum install setroubleshoot\*
не забыть стартовать этот сервис при перезапуске системы:
Код:
chkconfig setroubleshoot on
2. при любом подозрении на то что именно selinux запрещает то или иное действие, смотреть realtime в системный лог файл:
Код:
tail -f /var/log/messages
как только вы попытаетесь сделать то, что описывал veey или, к примеру, вы создали DocumentRoot для apache вне предусмотренной для этого /var/www/(/.*)?, или вы пытаетесь получить по ftp доступ к nfs диску, или вы пытаетесь разрешить через samba доступ к домашним директориям пользователей - вы сразу увидите в логфайле что-то подобное (в данном случае я попытался получить доуступ к nfs share через samba:
Код:
Aug 26 10:27:04 gw smbd[9343]: [2008/08/26 10:27:04, 0] smbd/service.c:make_connection_snum(1003)
Aug 26 10:27:04 gw smbd[9343]:   '/net/kino/storage2' does not exist or permission denied when connecting to [kino] Error was Permission denied
Aug 26 10:27:05 gw smbd[9344]: [2008/08/26 10:27:05, 0] smbd/service.c:make_connection_snum(1003)
Aug 26 10:27:05 gw smbd[9344]:   '/net/kino/storage2' does not exist or permission denied when connecting to [kino] Error was Permission denied
Aug 26 10:27:07 gw setroubleshoot: SELinux is preventing the samba daemon from reading nfs file systems. For complete SELinux messages. run sealert -l e3509638-8f6c-402a-8bea-949f1c5794ed
как видим, нам даже предлагают запустить некую команду для получения дальнейшей информации:
Код:
sealert -l e3509638-8f6c-402a-8bea-949f1c5794ed
запустив ее, получаем довольно интересный доукумент, содержащий не только описание проблемы, но и дающий точный способ ее решения (вместо того, чтобы идти в google или на форумы )

Код:


Summary:

SELinux is preventing the samba daemon from reading nfs file systems.

Detailed Description:

SELinux has denied the samba daemon access to nfs file systems. Someone is
attempting to access an nfs file system via your samba daemon. If you did not
setup samba to share nfs file systems, this probably signals a intrusion
attempt.

Allowing Access:

If you want samba to share nfs file systems you need to turn on the
samba_share_nfs boolean: "setsebool -P samba_share_nfs=1"

The following command will allow this access:

setsebool -P samba_share_nfs=1

Additional Information:

Source Context                root:system_r:smbd_t
Target Context                system_u:object_r:nfs_t
Target Objects                /net/kino/storage2 [ dir ]
Source                        smbd
Source Path                   /usr/sbin/smbd
Port                          <Unknown>
Host                          gw.scihost.com
Source RPM Packages           samba-3.0.28-1.el5_2.1
Target RPM Packages
Policy RPM                    selinux-policy-2.4.6-137.1.el5
Selinux Enabled               True
Policy Type                   targeted
MLS Enabled                   True
Enforcing Mode                Enforcing
Plugin Name                   samba_share_nfs
Host Name                     gw.scihost.com
Platform                      Linux gw.scihost.com 2.6.18-92.1.10.el5xen #1 SMP
                              Tue Aug 5 08:46:32 EDT 2008 i686 i686
Alert Count                   4
First Seen                    Tue Aug 26 10:23:29 2008
Last Seen                     Tue Aug 26 10:27:05 2008
Local ID                      e3509638-8f6c-402a-8bea-949f1c5794ed
Line Numbers

Raw Audit Messages

host=gw.scihost.com type=AVC msg=audit(1219760825.208:228): avc:  denied  { getattr } for  pid=9344 comm="smbd" path="/net/kino/storage2" dev=0:1a ino=2 scontext=root:system_r:smbd_t:s0 tcontext=system_u:object_r:nfs_t:s0 tclass=dir

host=gw.scihost.com type=SYSCALL msg=audit(1219760825.208:228): arch=40000003 syscall=195 success=no exit=-13 a0=933c988 a1=bfa4a020 a2=32aff4 a3=bfa4a020 items=0 ppid=9264 pid=9344 auid=0 uid=500 gid=0 euid=500 suid=0 fsuid=500 egid=500 sgid=0 fsgid=500 tty=(none) ses=15 comm="smbd" exe="/usr/sbin/smbd" subj=root:system_r:smbd_t:s0 key=(null)

то есть все что нам остается сделать - это выполнить команду, рекомендованную в отчете, который я привел выше:
Код:
setsebool -P samba_share_nfs=1
список всех возможных "взаимоотношений" между selinux и samba пожно получить, выполнив команду:
Код:
getsebool -a|grep samba
вот он:
Код:
samba_domain_controller --> off
samba_enable_home_dirs --> on
samba_export_all_ro --> off
samba_export_all_rw --> off
samba_share_nfs --> off
use_samba_home_dirs --> off
__________________
looking into the sky is looking into the past...

Последний раз редактировалось Ulitka, 26.08.2008 в 17:23.
Ответить с цитированием