Я использую ubuntu server 10, и у меня есть эта конфигурация в моем smb.conf:
[www]
comment = Web files
path = /var/www
browsable = yes
writeable = yes
create mask = 0775
directory mask = 0775
valid users = @developers
Когда я подключаю кормушку MAC OS X machine и создайте файл или каталог, разрешения установлены с помощью 755.
Зачем?
Как это работает, похоже, меняется в зависимости от того, подключились ли вы к общему ресурсу с помощью URL-адреса «cifs: //» или «smb: //» (т.е. начинается ли местоположение, которое вы вводите в диалоговом окне «Подключиться к серверу» Finder с « cifs »или с« smb »).
Если вы подключаетесь с использованием URL-адреса «cifs: //», тогда OS X попытается использовать «расширения UNIX», описанные в других ответах здесь, а файлы, скопированные или перемещенные в общий ресурс, сохранят разрешения, которые у них были на исходном диске, независимо от того, какие настройки различных масок / режимов разрешений используются для общего ресурса. Я думаю, что это, вероятно, связано с ошибкой в Samba (я использую 3.5.6 из Debian Squeeze - 2: 3.5.6 ~ dfsg-3squeeze8, если кому-то интересно).
Однако если вы подключаетесь с использованием URL-адреса "smb: //", расширения UNIX не будут использоваться, а разрешения будут определяться следующими настройками для файлов:
принудительно создать режим, создать маску, маску безопасности, включить режим безопасности
и это для каталогов:
принудительный режим каталога, маска каталога, маска безопасности каталога, принудительный режим безопасности каталога,
О, и не забывайте:
карта скрыта, архив карт, система карт
Возможно, я кое-что забыл, но это самые распространенные. См. Справочную страницу для smb.conf, чтобы узнать, как работают все эти настройки.
Вы можете использовать параметр «расширения unix», чтобы отключить все соединения, независимо от того, используются ли они с использованием cifs: // или smb: // URLS, чтобы вести себя так же, как обычно делают более простые соединения smb: //. Преимущества использования расширений UNIX заключаются в том, что могут работать такие вещи, как ссылки (символические или жесткие). К сожалению, это глобальный параметр, и его нельзя установить для каждого ресурса (по крайней мере, с версией Samba, которая у меня здесь).
Через некоторое время я понял, что установил эту глобальную переменную: unix extensions = off
«Создать маску» просто означает, что пользователям самбы разрешено изменять эти разрешения до маски, то есть, если вы установите его на 777, то пользователь может изменить все биты. Это не то же самое, что маски файлов unix. Ваш параметр - 0775, что означает, что пользователи могут изменять разрешения для пользователя (rwx), группы (rwx) и другого (rw). Это не означает, что файлы будут созданы с этими разрешениями, просто пользователь жестяная банка используйте эти разрешения. Чтобы установить набор разрешений, используйте что-то вроде:
security mask = 0550
force security mode = 0550
directory security mask = 0550
force directory security mode = 0550
Какие разрешения вы пытались получить, кстати?