Официальная возможность получить лицензионный софт бесплатно.
Giveaway of the Day
Это не реклама!

Щелкните для получения прогноза по Биробиджану


среда, 9 июля 2014 г.

Автоматическое создание домашних каталогов в Samba4

Прочитал в man smb.conf, что samba4 научилась сама создавать домашние каталоги:

==
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.

2 комментария:

  1. Есть простое и элегантное решение. Оно настолько эффективно, что мне даже удивительно, почему про него никто не знает!

    > 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

    ОтветитьУдалить
    Ответы
    1. Я знаю про это решение, и похоже, что самба именно к нему обращается по умолчанию.
      Но предпочитаю полностью контролировать ситуацию.

      Удалить

Пожалуйста, воздержитесь от грубостей и персональных нападок.
Я не против матерщины, но она должна быть уместной и использоваться для выражения эмоций, а не в качестве основного средства выражения мыслей.