Расскажите мне про Samba

Обсуждение технических вопросов по продуктам Novell под Linux, а также *nix систем

Расскажите мне про Samba

Сообщение Игорь Вершинин » 09 окт 2008, 09:35

Использую Samba 3.2.3 на Fedora, но это не суть важно. На OpenSuSE думаю также все будет.

Как-то я был уверен, что понимаю как все это работает. Оказалось, что казалось.

Проблема первая.
Права доступа. Есть раздел (каталог) с набором папок. К каждой папке имеет доступ несколько человек, их состав и количество произвольно. Все, что находится внутри папки, полностью доступно (rwx) всем, кто имеет доступ к этой папке. Независимо от того, кто и что создал. Т.е. некоторый вариант шары ограниченного доступа. Вся информация о пользователях находится в LDAP (что нормально, так как эта же информация используется для Squid, Postfix, Cyrus-imapd и т.п.)
Вопрос. Как прописать подобную шару (каталог, содержащий подобные папки) в конфиге Samba? Как сделать так, чтобы можно было просто указать доступ для группы пользователей к каталогу, а не прописывать "поюзерно" (через setfacl, например). Сейчас у меня почему-то не хочет работать, если нужных пользователей включить в группу - файл созданный одним пользователем не виден другим, хотя они принадлежат одной группе. Пришлось каждому пользователю дать персональный доступ к каталогу, как я уже написал выше.

Проблема вторая.
Изменение паролей. Пользователи не могут поменять свои пароли. Надо чтобы пароли менялись синхронно и в Samba, и в LDAP. Сейчас этого не происходит. В логах ругань, что пароль не изменен и все. Пишет, что длина пароля меньше, чем надо или не выполнены другие условия. Хотя отдельно можно спокойно изменить и там, и там. При чем в Samba меняется спокойно через Windows-машину стандартным способом. Синхронно пароли возможно изменить только через LDAP Admin, через Windows синхронно не получается. Но этот способ сами понимаете... людей-то не 10 человек, каждому не поменяешь...
Вопрос. Как изменить конфиг, чтобы это заработало?
Вот кусок из конфига, который касается паролей (LDAP находится на этом же сервере):

encrypt passwords = yes
passdb backend = ldapsam
ldapsam:trusted = yes
ldapsam:editposix = yes
ldap passwd sync = yes
unix password sync = no
Аватара пользователя
Игорь Вершинин
 
Сообщения: 387
Зарегистрирован: 05 июн 2002, 20:34
Откуда: Волгоград

Сообщение Константин Ошмян » 16 окт 2008, 15:41

Про второй вопрос не скажу, а с первым - я подобное у себя настраивал. У меня, правда, аутентификация идёт через реальный виндовый домен, но не думаю, что это принципиально для разграничения прав.
Правильно ли я понимаю, что у тебя пользователи (члены группы) саму "шару" видят и могут в неё войти и создать там файлы, но проблема в том, что доступны эти файлы только их создателю? Если да - то, скорее всего, дело в UNIX-овой маске прав, с которыми эти файлы создаются.

Вот пример работающей конфигурации, где пользователи группы itmadmins имеют все права на папку и её содержимое, причём могут редактировать как свои файлы, так и созданные другими членами этой группы:
Код: Выделить всё
[common]
   comment = common files
   create mask = 664
   directory mask = 775
   force group = itmadmins
   path = /home/common
   write list = @itmadmins
   writeable = no
Т.е. выставляем такие UNIX-овые маски на создаваемые файлы и директории, чтобы были все права у нужной группы, да ещё вдобавок принудительно выставляем эту группу для всех создаваемых файлов/директорий. Ну и самбовские права, разрешающие доступ на запись для этой группы. "writeable = no" - несколько излишне, фактически - означает "остальные, кто имеет доступ, но не прописан во write list, получат его только read only", но поскольку никаких других доступов больше к этой шаре не дано (guest-овый доступ закрыт), то и попасть туда никто, кроме членов этой группы не может.
Аватара пользователя
Константин Ошмян
 
Сообщения: 991
Зарегистрирован: 13 авг 2002, 21:36
Откуда: Рига

Сообщение Михаил Григорьев » 17 окт 2008, 09:12

1. По поводу раздачи прав, тут все просто, Константин уже написал. Добавлю, что если брать применительно к FreeBSD, то на фри включается acls на файловой системе + в конфиге самбы пара параметров и потом права на ресурсы самбы можно выдавать стандартным виндовым способом, как если бы это был виндовый сервер с АД.

2. Относительно синхронизации паролей Samba -> OpenLDAP, см. параметр секции [global] (ХОТЯ! Этот пареметр стоит!)

Код: Выделить всё
ldap passwd sync = yes


При смене пользователем пароля SAMBA (по сети или через smbpasswd автоматически менять пароль LDAP)

Почему тогда не синхронизируются пароли непонятно :? А самба в OpenLDAP ходит с полными правами?
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск


Вернуться в *nix

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18