Прочитал в man smb.conf, что samba4 научилась сама создавать домашние каталоги:
==
(объект vfs, имя создаваемого тома и комментарий к нему - по желанию, я взял живую секцию из своего конфига)
obey pam restrictions = yes
[homes]
comment = %S: Личный каталог
valid users = %D\%U
read only = No
browseable = No
browsable = No
volume = %U-%S
vfs objects = recycle:keeptree=yes
create mask = 700
directory mask = 700
path = /home/%D/%U
session required pam_mkhomedir.so skel=/etc/skel umask=0077
session optional pam_winbind.so
Есть, правда, у меня некоторые сомнения: стоит ли использовать стандартный "скелет", который копирует в домашнюю папку виндового пользователя служебные файлы, нужные только юниксам.
upd. Создал папку /etc/samba/skel и в ней создал нужную мне инфраструктуру, копируемую в создаваемую папку новому пользователю. Работает.
Но вроде как пытается создавать шары и для компьютеров, а это не радует. Будем копать дальше. В крайнем случае всегда можно без заморочек вернуться к старому доброму /usr/local/sbin/mkhomedir.sh.
==
SPECIAL SECTIONSДействительно может. Но только при соблюдении следующих условий:
The [global] section
Parameters in this section apply to the server as a whole, or are defaults for sections that do not specifically define certain items. See the notes under PARAMETERS for more information.
The [homes] section
If a section called [homes] is included in the configuration file, services connecting clients to their home directories can be created on the fly by the server.
When the connection request is made, the existing sections are scanned. If a match is found, it is used. If no match is found, the requested section
name is treated as a username and looked up in the local password file. If the name exists and the correct password has been given, a share is
created by cloning the [homes] section.
(объект vfs, имя создаваемого тома и комментарий к нему - по желанию, я взял живую секцию из своего конфига)
1. smb.conf:
[global]obey pam restrictions = yes
[homes]
comment = %S: Личный каталог
valid users = %D\%U
read only = No
browseable = No
browsable = No
volume = %U-%S
vfs objects = recycle:keeptree=yes
create mask = 700
directory mask = 700
path = /home/%D/%U
2. /etc/pam.d/samba:
session [success=1 default=ignore] pam_succeed_if.so quiet user =~*$session required pam_mkhomedir.so skel=/etc/skel umask=0077
3. /etc/pam.d/common-session
session optional pam_winbind.so
Есть, правда, у меня некоторые сомнения: стоит ли использовать стандартный "скелет", который копирует в домашнюю папку виндового пользователя служебные файлы, нужные только юниксам.
upd. Создал папку /etc/samba/skel и в ней создал нужную мне инфраструктуру, копируемую в создаваемую папку новому пользователю. Работает.
Но вроде как пытается создавать шары и для компьютеров, а это не радует. Будем копать дальше. В крайнем случае всегда можно без заморочек вернуться к старому доброму /usr/local/sbin/mkhomedir.sh.
Есть простое и элегантное решение. Оно настолько эффективно, что мне даже удивительно, почему про него никто не знает!
ОтветитьУдалить> pam_winbind.conf — Configuration file of PAM module for Winbind
> http://www.samba.org/samba/docs/man/manpages/pam_winbind.conf.5.html
ОБРАТИТЕ ВНИМАНИЕ НА ПОСЛЕДНЮЮ СТРОКУ!
#
# pam_winbind configuration file
#
# /etc/security/pam_winbind.conf
#
# For more details see man pam_winbind.conf(5)
[global]
# turn on debugging
;debug = no
# turn on extended PAM state debugging
;debug_state = no
# request a cached login if possible
# (needs "winbind offline logon = yes" in smb.conf)
;cached_login = no
# authenticate using kerberos
;krb5_auth = no
# when using kerberos, request a "FILE" or "DIR" krb5 credential cache type
# (leave empty to just do krb5 authentication but not have a ticket
# afterwards)
;krb5_ccache_type =
# make successful authentication dependend on membership of one SID
# (can also take a name)
;require_membership_of =
# password expiry warning period in days
;warn_pwd_expire = 14
# omit pam conversations
;silent = no
# create homedirectory on the fly
;mkhomedir = no
Я знаю про это решение, и похоже, что самба именно к нему обращается по умолчанию.
УдалитьНо предпочитаю полностью контролировать ситуацию.