Рейтинг:0

Как добавить групповые права на запись для смонтированного общего каталога? (случай клиент/сервер)

флаг kz

у меня есть MacOS с общим каталогом. Я могу получить доступ в Убунту Линукс с:

# От Linux к MacOS
sudo mount -t cifs //192.168.1.X/directory_shared
                   /mnt/192.168.1.X/имя_каталога
                   -o имя пользователя=имя пользователя,
                   рв,
                   ИД=####,
                   Гид=####,
                   noix,sec=ntlmssp

Проблема в том, что если я сделаю лс -л на стороне клиента у группы всегда есть р-х.

если я делаю на сервере (macOS) sudo chmod -R g+w XXX на клиенте это не отражается, и если в клиенте sudo chmod -R g+w XXX команда выполняется, она не применяет новые настройки, поэтому игнорируется (остается с р-х). мне нужно групповые права на запись в смонтированном каталоге для записи/редактирования любого контента, созданного на сервере.

Запись: Имя пользователя на сервере и клиенте разные - владелец может быть альфа а в клиенте может быть Бета, но Бета существует также способ создания пользователя на сервере, чтобы разрешить подключение от клиента к серверу. Итак, из соображений безопасности нет разрешено делать соединение от клиента к серверу на основе альфа типа, только с Бета, а владелец файлов на сервере чаще всего Альфа (это в /Пользователи/Общие расположение на Mac для любого пользователя). Эти пользователи (сервер и клиент) используют одно и то же имя группы (второстепенный тип группы). Таким образом, не имеет значения, кем создается новый файл/каталог, они должны предоставить полный доступ всем пользователям, поскольку первичная группа этих файлов назначается той же, что и вторичная группа для этих пользователей.

Как я могу достичь этой цели? это либо через sudo mount -t cifs ... [опции] или что-то отсутствует через chmod команда.

Рейтинг:1
флаг es

CIFS — это виртуальная файловая система, которая создает «представление» удаленного общего ресурса с набором разрешений, специфичных для клиента, а не для сервера. Вы не можете chown / chmod виртуальную файловую систему. И cifs не видит разрешений на сервере.

По умолчанию монтирование cifs создает «представление», которое имеет владелец = корень (если вы не укажете uid/gid, как вы это сделали) и разрешения 755.

Вы можете изменить эти разрешения с помощью dir_mode и file_mode параметры.

Так, например, если вы хотите получить доступ на запись к подключенному общему ресурсу для всех в Гид=#### группа:

sudo mount -t cifs //192.168.1.X/directory_shared /mnt/192.168.1.X/directoryname -o username=username,rw,uid=####,gid=####,nounix,sec= ntlmssp, dir_mode = 0775, file_mode = 0664

Обратите внимание, что это отражает то, что видят пользователи клиента. Пользователь, указанный ИД=#### и каждый, кто является членом Гид=### группа - на клиенте - будет иметь доступ на запись к смонтированному общему ресурсу.

Однако единственный пользователь, которого видит сервер, — это пользователь, указанный в переданных ему учетных данных: имя пользователя = имя пользователя. Если у этого пользователя нет прав на запись в фактическую папку, к которой предоставлен общий доступ на сервере, ни у кого не будет доступа к клиенту. Если у него есть доступ на запись, то он и любой пользователь-клиент группы будут сохранять файлы с владельцем = имя пользователя на сервере.

Manuel Jordan avatar
флаг kz
Спасибо, в настоящее время я использую `dir_mode=0770,file_mode0770`, в основном я работаю через групповой контроль доступа.

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

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