Попытка настроить общий ресурс 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
в мою линию монтирования. До сих пор нет кубиков.
Постоянное монтирование общих ресурсов 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
.