SELinux блокирует каталог Samba

Я запускаю Samba на сервере CentOS, и у меня возникла проблема, когда он позволяет мне подключиться к серверу и увидеть общий ресурс, но показывает общий ресурс как пустой каталог. Я нахожу это поведение странным.

Вот строфа в моем файле smb.conf для данной акции:

[seanm]
    path = /home/seanm
    writeable = yes
    valid users = seanm, root
    read only = No

Вот что я вижу на стороне сервера:

[seanm@server ~]$ ls -l
-rw-r--r-- 1 seanm seanm 40 Jan  4 13:45 pangram.txt 

И все еще:

[seanm@client ~]$ smbclient //server/seanm -U seanm -W WORKGROUP
Enter seanm's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.33-3.29.el5_5.1]
smb: \> ls
  .                                   D        0  Fri Jan  7 10:08:55 2011
  ..                                  D        0  Fri Jan  7 07:58:31 2011
            58994 blocks of size 262144. 50356 blocks available

Такое поведение присутствует как в клиенте Windows, так и в клиентской системе Linux. Поведение присутствует при включенном межсетевом экране и выключенном межсетевом экране, так что это не так. Ни / var / log / messages, ни / var / log / secure не имеют претензий к Samba. Если я mkdir каталог в общей папке, которая отображается, а также подкаталоги, но файлы по- прежнему не отображаются.

Сомневаюсь, что SELinux - проблема: на всякий случай вот соответствующие настройки.

[root@server ~]# 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_fusefs --> off
    samba_share_nfs --> off
    use_samba_home_dirs --> on
    virt_use_samba --> off

Что я здесь делаю не так, и что я могу сделать, чтобы это исправить?


Редактировать: SELinux, вероятно, является проблемой, судя по тому факту, что проблема исчезает, когда я устанавливаю SELinux на "разрешающий" или выпуск setsebool -P samba_export_all_rw on - и то, и другое неприемлемо для производственных сред. Какой, черт возьми, контекст необходим каталогу, чтобы пользователи Samba могли на самом деле получать из него файлы? Я считаю, что использование ваших собственных правил и / или контекста является глубоко неоптимальным.

2 ответа

Решение

Проблема, кажется, решена сейчас. Это был SELinux; контекст для домашнего каталога был установлен неправильно.

[seanm@server /home]$ ls -alZ
    drwx------  larry stooges  system_u:object_r:home_root_t    larry
    drwx------  seanm seanm    system_u:object_r:home_root_t    seanm

Проблема выставлена.

[seanm@server /home]$ chcon -hR system_u:object_r:user_home_dir_t /home/seanm
[seanm@server /home]$ restorecon -Rv /home/seanm
[seanm@server /home]$ ls -alZ
    drwx------  larry stooges  system_u:object_r:home_root_t        larry
    drwx------  seanm seanm    system_u:object_r:user_home_dir_t    seanm

Проблема не выставлена ​​для seanm, но выставлена ​​для larry.

Я думаю, что это что-то с Cobbler: "larry" и "seanm" были созданы в процессе установки с Cobbler, и я заметил, что system_u для них тоже не совсем подходящий контекст, так как это не то, что пользователи создавали с помощью useradd получить:

[root@server /home]# useradd selinuxtest
[seanm@server /home]$ ls -alZ
    drwx------  larry       stooges     system_u:object_r:home_root_t        larry
    drwx------  seanm       seanm       system_u:object_r:user_home_dir_t    seanm
    drwx------  selinuxtest selinuxtest user_u:object_r:user_home_dir_t      setest

Я думаю, пришло время просмотреть документацию Cobbler.

Ты пробовал....

browseable = yes
Другие вопросы по тегам