Возникла необходимость, чтобы при обращении к серверу Samba если отсутствует создавалась
домашняя папка для пользователя домена. Сделать это можно задействовав стандартный PAM модуль pam_mkhomedir.Сперва убедитесь что smbd собран с поддержкой PAM
smbd -b | grep WITH_PAM
WITH_PAM
Если PAM не поддерживается, соберите Samba из исходников с ключом "--with-pam".
В файл "/etc/smb.conf" (секция "global") добавляем
obey pam restrictions = Yes
Создаем шару для домашних папок пользователей
[homes]
valid users = DOMAIN\%S
read only = no
browseable = no
create mode = 0600
directory mode = 0700По умолчанию Samba считает, что домашние папки пользователей находятся в "/home/DOMAIN/user".
Нам надо создать директорию "/home/DOMAIN", так как pam_mkhomedir не умеет создавать вложенные директорииsudo mkdir /home/DOMAIN
Добавляем в файл "/etc/pam.d/samba"
session required pam_mkhomedir.so umask=0077
URL: http://www.propheta.ru/2009/03/samba-pammkhomedir.html
Обсуждается: http://www.opennet.me/tips/info/1985.shtml
У меня самба 3.0.33 создает папки вида /home/DOMAIN/User без посторонней помощи, даже если /home/DOMAIN не существовало.
у меня тоже создает автоматом:)
осталось толко дисковые квоты при создании чтобы назначало :)
Даже когда сабж и PDC разнесены по разным серверам?
А можно чтобы шара называлась не по имени пользователя, а задать вручную, чтоб у всех одинаково?
а смысл?
>а смысл?надо
Так тут так и сделано:
[homes]
>Так тут так и сделано:
>[homes]Не, шара будет называться именем пользователя, а надо, чтобы называлась у всех одинаково.
То есть это как? "\\server\one_share"? Может вы имеете в виду "\\server\user\some_folder"?
Нет, именно чтобы у всех было \\server\share_name
вот так?![test]
path = /var/smb/%uшара будет у всех открываться как \\сервер\test\ но вести в разные директории
Сейчас именно так и есть, только каталоги надо руками создавать, иначе юзера не пускает, а автоматически как сделать?
Может так?template homedir = /var/smb/%u
И перезапустить winbindd
.. и далее по статье
включение obey pam restrictions = Yes,
вроде как автоматом включает
encrypt passwords = no
как в таком случае работают windows клиенты?..
Клиенты нормально работают. Стоит заметить, что у меня PDC и файловый сервер (оба samba) действительно разнесены по разным машинам.$ testparm -sv | grep -E 'encrypt passwords|obey'
Load smb config files from /etc/samba/smb.conf... skip ...
Loaded services file OK.
Server role: ROLE_DOMAIN_MEMBER
encrypt passwords = Yes
obey pam restrictions = Yes
Ещё полезные опции этого pam модуля:
silent - не выводить сообщения при создании папкиskel=/path/to/skel/directory - Путь к папке с файлами, которые скопируются в новосозданную папку.
Например, можно положить туда документы, которые пригодятся новому сотруднику.
Возможно не копировать документы, а создавать ссылки, что позволит и место съэкономить и оставить возможность быстрого и эффективного их [документов] обновления
>Возможно не копировать документы, а создавать ссылки, что позволит и место съэкономить
>и оставить возможность быстрого и эффективного их [документов] обновленияСогласен.
Или ссылки.
Спасибо, очень помогло! Samba на centos 5
Респект!
А не подскажите, как перенаправить homes в другую папку?
в global - параметр template homedir