Разрешения несоответствия между ОС

Попытка настроить общий ресурс Samba, где члены группы разработки имеют полный доступ к файлам в общем ресурсе (независимо от владельца):

[global]
   workgroup = PREMPROVSOL
   server string = %h server (Samba, Ubuntu)
   interfaces = 127.0.0.0/8 10.0.10.0/24
   bind interfaces only = yes
   log file = /var/log/samba/log.%m
   max log size = 1000
   logging = file
   panic action = /usr/share/samba/panic-action %d
   server role = standalone server
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = bad user
   unix charset = UTF-8
   dos charset = CP932

[Development]
    path= /server/Development/
    writeable = yes
    create mask = 0777
    force create mode = 0777
    directory mask = 0777
    force directory mode = 0777
    security mask = 0777
    force security mode = 0777
    guest ok = no
    valid users = @development

Интересно, что машина с Windows 10, которая обращается к общий ресурс имеет больше разрешений, чем машина Linux Mint, вошедшая в систему с теми же учетными данными. Например:

Windows 10:
Создать папку FolderA в общем ресурсе, а затем создать папку FolderA1 внутри FolderA. Нет проблем.

Linux Mint:
Создать папку FolderA в общем ресурсе (Блокировка отображается в папке). Невозможно создать что-либо внутри записи FolderA

fstab в окне Linux Mint:

//10.0.10.240/Development /mnt/Development cifs nobrl,_netdev,vers=1.0,noserverino,iocharset=utf8,credentials=/home/spsimmons/.smbcred  0       0

Есть ли где-то пропущенная настройка? Спасибо!

РЕДАКТИРОВАТЬ

Из машины Win10 я создаю FolderA, и она имеет следующие разрешения:

drwxrwsr-x+  3 1001 1004    0 Jul 10 12:39 FolderA

FolderA1 внутри FolderA прав доступа:

drwxrwsr-x+  2 1001 1004    0 Jul 10 12:39 FolderA1

1004 - это GID группы.

Создана папка с машины Win10, на которой машина Linux не может быть создана.
Создана папка с компьютера Linux, в которой может быть создана машина Win10.
Я не использую fuse, но я добавил параметры file_mode=0777,dir_mode=0777 в мою линию монтирования. До сих пор нет кубиков.

0
задан 10 July 2019 в 20:17

1 ответ

Постоянное монтирование общих ресурсов Windows содержит полезную информацию и обзор, если вы еще этого не видели. Очень просто, я считаю, что вам нужна опция конфигурации uid= в вашей /etc/fstab записи точки монтирования и 2777 umask для каталогов.


Если вы не покажете нам разрешения каталогов (то есть: FolderA, FolderA1), то будет трудно точно знать, но вполне вероятно, что umask установлен так, что когда файлы создаются в Linux, они создаются и связываются с группой пользователей и пользователем.

Например, если у нас есть общий каталог /srv/www/, принадлежащий www-data:www-data, и все файлы - g+rw, и я нахожусь в группе www-data, я должен быть в состоянии читать и записывать все эти файлы. Сложность возникает, когда я создаю файл как мой пользователь. Когда это происходит, файл создается как user:user, а www-data не является частью группы user (и не должен быть).

Итак, когда вы создаете файлы, вам нужно убедиться, что они создаются как и связаны с группой developer. Хост-система - и Windows, и использует другой тип файловой системы, поэтому вы должны учитывать, что существует слой перевода (FUSE, SAMBA, CIFS) для адаптации файлов и разрешений для работы с Linux.

Обычно вы могли бы решить эти проблемы, установив запись в /etc/fstab системы Linux и добавив uid=DEVELOPER_ID,gid=DEVELOPER_ID,umask=0777 для параметров конфигурации. Вместо umask со многими переведенными файловыми системами мы установили file_mode для определения прав доступа к файлам. Каталоги должны иметь корректировку специального разрешения с 0 на 2. Это обеспечивает групповое владение новыми файлами и каталогами (например: 2777). Например:

uid=userID,gid=userID,file_mode=2777

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

С нашим предыдущим примером /srv/www мы могли убедиться, что вновь созданные файлы принадлежали www-data и g+rwx с помощью следующих команд:

sudo chown www-data:www-data /srv/www
sudo chmod g+rw /srv/www
sudo chattr +S /srv/www

Любой вновь созданный файл в /srv/www ] должен принадлежать группе www-data и иметь права g+rw.

0
ответ дан 10 July 2019 в 20:17

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

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