Samba DC authenticating domain users using PAM

samba_pamPAM — это набор динамически подключаемых модулей, используемых системой, для аутентификации пользователей. По умолчанию выполнить вход в систему могут только локальные пользователи, определенные в файле /etc/passwd. Ниже будет описан принцип настройки аутентификации доменных пользователей. В итоге пользователи домена смогут локально входить в систему,  либо осуществлять удаленное подключение через ssh.

Настройка PAM производилась на контроллере, сконфигурированном в этой статье.

Установим необходимые библиотеки

# apt install libnss-winbind libpam-winbind

Добавим в конфигурационный файл Samba следующие параметры

# nano /etc/samba/smb.conf

[global]
. . .
        template shell = /bin/bash
        template homedir = /home/%U
        winbind use default domain = yes
. . .

Чтобы иметь возможность просматривать доменные группы и доменных пользователей в локальной системе, в /etc/nsswitch.conf нужно добавить поддержку winbind

# nano /etc/nsswitch.conf

. . .
passwd: compat winbind
group: compat winbind
. . .

Перезапустим службу Samba

# service samba-ad-dc restart

Проверим видны ли в системе доменный пользователь user1 и группа Domain Users

# getent passwd user1
4SKILL\user1:*:3000019:100:user1:/home/user1:/bin/bash

# getent group "Domain Users"
4SKILL\domain users:x:100:

Обновим конфигурацию PAM

# pam-auth-update

[*] Unix authentication
[*] Winbind NT/Active Directory authentication
[*] Register user sessions in the systemd control group hierarchy
[*] Create home directory on login

С этого момента, в систему можно войти под любым доменным пользователем.

Добавим в sudo группу Domain Admins

# visudo

. . .
%4SKILL\\domain\ admins ALL=(ALL) ALL

Чтобы предоставить право входа в систему только пользователям группы Domain Admins, нужно узнать SID этой группы

# wbinfo -n "Domain Admins"
S-1-5-21-3247551096-2523217690-2608157957-512 SID_DOM_GROUP (2)

и добавить в  /etc/pam.d/common-auth следующую строку

# nano /etc/pam.d/common-auth

. . .
auth [success=1 default=ignore] pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass require_membership_of=S-1-5-21-3247551096-2523217690-2608157957-512
. . .

Более подробную информацию о настройке можно найти на следующих страницах:

Configuring Winbindd on a Samba AD DC

Authenticating Domain Users Using PAM

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *