Как смонтировать общий ресурс SMB для нескольких users

У меня есть собственный сервер NAS, который предоставляет услуги SMB для доступа к его содержимому. Протокол SMB придерживается версии V1.0 (это изменить нельзя).

У меня также есть сервер ubuntu 20.04, который должен иметь доступ к этому NAS. В частности, я использую NAS для хранения копий данных, записанных службой синтеза. К тому же NAS можно получить доступ с компьютеров под управлением Windows.

Вот моя запись в fstab:

//mynashost/SomeShare /mnt/SomeShare cifs    vers=1.0,guest,uid=1000,gid=1000,comment=cloudconfig,iocharset=utf8     0       0

Это хорошо работает для моего основного пользователя (это uid 1000 и gid 1000), но не для других пользователей. В частности, моя служба синхронизации работает с использованием выделенной учетной записи пользователя.

Другой пользователь может читать контент, но не может писать (в разрешении отказано).

Попытка chown папок в общей папке не работает (отказано в разрешении) даже с использованием sudo.

Я очень запутался в параметрах fstab, связанных с безопасностью. Как исправить мою опцию, позволяющую любому пользователю моего сервера читать и записывать данные?

Поскольку это домашний сервер, мне не нужно изолировать каждого пользователя, анонимная установка NAS - вариант, если это помогает.

0
задан 5 May 2021 в 09:44

1 ответ

Наконец-то я нашел правильную комбинацию. Вот мой обновленный fstab:

//mynashost/SomeShare /mnt/SomeShare cifs    vers=1.0,guest,uid=1000,gid=1000,comment=cloudconfig,iocharset=utf8,noperm      0       0

Дело в добавлении опции noperm.

Вот выдержка из mount.cifs manpage:

noperm Клиент не проверяет разрешения. Это может открыть доступ к файлам на этом монтировании для другие пользователи локальной клиентской системы. Обычно это необходимо только в том случае, если сервер поддерживает CIFS Unix Extensions, но UIDs/GIDs на клиентской и серверной системе не совпадают достаточно близко, чтобы разрешить доступ пользователю, выполняющему монтирование. Обратите внимание, что это не влияет на обычную проверку ACL на целевой машине, выполняемую серверным программным обеспечением (ACL сервера против имени пользователя, указанного во время монтирования).

0
ответ дан 7 May 2021 в 17:40

Другие вопросы по тегам:

Похожие вопросы: