Рейтинг:0

Разрешить общему ресурсу samba доступ к смонтированному удаленному хранилищу файлов

флаг ru

У меня два сервера в одной сети. Один работает под управлением Windows Server 2016, а другой — под управлением CentOS 8. Сервер Windows — это мое основное файловое хранилище, именно там находятся все мои данные. На сервере CentOS подключен общий ресурс Windows, и он может получить доступ к своим файлам.

В CentOS я настроил общий ресурс samba. Почему? Потому что у меня есть веб-приложение, работающее на том же сервере, и я хочу, чтобы веб-приложение контролировало, кто может получить доступ к какому файлу. Таким образом, вместо того, чтобы наши (внутренние) пользователи монтировали общий ресурс Windows напрямую, они будут монтировать общий ресурс CentOS, который будет «контролировать» доступ к файлам.

В папке samba есть папки для каждого пользователя и конфигурация, позволяющая пользователям получать доступ только к своим папкам. Веб-приложение настроено на добавление в эти папки символических ссылок, которые ссылаются на «настоящие» файлы.

Вот в чем проблема. Если я добавлю «обычные» файлы в папку пользователя, они смогут получить к ним доступ. Но если я добавлю символическую ссылку (к файлу в подключенном общем ресурсе Windows), он не появится для них. Я почти уверен, что это проблема SELinux.

Вот как все устроено.

  • Доля Windows смонтирована

    sudo mount -t cifs//WindowsShare/data/media/WinShare \ 
      -o ip=192.168.1.5,имя пользователя=пользователь,gid=sambashare
    
    ls -alhZ /медиа/WinShare
    drwxr-xr-x. 2 root sambashare system_u:object_r:cifs_t:s0 0 10 января 16:57 файлы
    
  • Общий ресурс samba создан и использует /srv/smb (все пользователи самбы находятся в самбашар группа)

    ls -alhZ /срв
    drwxrwx---. 2 root sambashare unconfined_u:object_r:samba_share_t:s0 6 янв. 13 11:20 кто-то
    
  • /etc/самба/smb.conf имеет следующее:

    [Глобальный]
        разрешить небезопасные широкие ссылки = да
        расширения unix = нет
    
    [админПоделиться]
        путь = /srv/smb
        широкие ссылки = да
        следовать символическим ссылкам = да
    
  • В качестве теста добавил симлинк и файл

    ln -s /media/WinShare/files/test.pdf /srv/smb/test.pdf
    коснитесь /srv/smb/file.bin
    

Затем я попытался смонтировать \CentOS\adminShare в виртуальной машине Windows, и я не вижу тест.pdf файл, но я вижу файл.bin.

Как я могу предоставить общему ресурсу CentOS samba доступ к смонтированным данным Windows Server? При настройке сервера CentOS я запустил:

sudo semanage fcontext -a -t samba_share_t "/srv/smb(/.*)?"

Это то, что позволило мне увидеть файл.bin, но я все равно не вижу файл.pdf. Я нашел это, но я не знаю, хочу ли я изменить все:

sudo setsebool -P samba_export_all_rw=1

Как разрешить Samba доступ к /медиа/WinShare папка? Будет ли это работать?

sudo semanage fcontext -a -t samba_share_t "/media/WinShare(/.*)?"
djdomi avatar
флаг za
определить пользователя для совместного использования, в основном проблема с доступом из-за неправильного пользователя и chmod
Рейтинг:0
флаг ru

Я починил это! Мне пришлось смонтировать общий ресурс Windows и форсировать контекст samba_share_t.

При монтаже добавить context=unconfined_u:object_r:samba_share_t:s0.

sudo mount -t cifs//WindowsShare/data/media/WinShare \
    -o ip=192.168.1.5,имя пользователя=пользователь,gid=sambashare,context=unconfined_u:object_r:samba_share_t:s0

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.