Solusi 1:
Dengan asumsi grup tersedia untuk sistem Linux, saya sarankan mengedit /etc/security/access.conf
untuk Ubuntu, distribusi RedHat (dan garpu mereka) dan mungkin banyak lainnya. Ini tidak memerlukan pengeditan file PAM, dan merupakan tempat standar yang bagus untuk melakukannya. Biasanya ada contoh di file, dikomentari.
Solusi 2:
(Saya berbicara tentang samba 3 di sini, tidak ada pengalaman di samba 4 sekarang.)
Tidak perlu mengedit file /etc/pam.d/xxx tersebut. pam_winbind.conf adalah file yang Anda inginkan, biasanya terletak di /etc/security/pam_winbind.conf .
Ini adalah file konfigurasi modul pam_winbind, dan berfungsi untuk CentOS/Redhat dan Debian/Ubuntu. Anda dapat membaca halaman manual pam_winbind.conf untuk referensi.
Ini adalah contoh file.
#
# pam_winbind configuration file
#
# /etc/security/pam_winbind.conf
#
[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 = yes
# authenticate using kerberos
;krb5_auth = no
# when using kerberos, request a "FILE" 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 = SID,SID,SID
require_membership_of = S-1-5-21-4255311587-2195296704-2687208041-1794
# password expiry warning period in days
;warn_pwd_expire = 14
# omit pam conversations
;silent = no
# create homedirectory on the fly
mkhomedir = yes
Solusi 3:
Saat ini saya menggunakan AllowGroups
direktif dalam /etc/ssh/sshd_config
untuk membatasi siapa yang dapat masuk. Tentukan satu atau beberapa grup AD pada baris tersebut, dan orang tersebut akan menjadi satu-satunya yang dapat masuk.
Ingatlah bahwa ini hanya berfungsi jika pengguna Anda hanya mengakses server dari jarak jauh melalui ssh. Jika mereka bernyanyi secara lokal, Anda harus mencari solusi lain.
Solusi 4:
Ya, ada beberapa cara untuk melakukan ini tergantung pada apa yang ingin Anda capai dengan tepat.
Cara pertama bisa dilakukan melalui samba config. Ini hanya akan memungkinkan para pengguna ini untuk terhubung ke Samba, pengguna lain masih dapat masuk melalui layanan lain (ssh, istilah lokal, dll). Dengan ini, Anda ingin menambahkan baris ke bagian [global] Anda di smb.conf:
valid users = @groupA @groupB
Cara lainnya adalah dengan memodifikasi aturan PAM. Distribusi yang berbeda memiliki sedikit perbedaan di sini, tetapi secara umum ada aturan PAM per layanan serta aturan umum, Anda dapat memutuskan mana yang terbaik. Anda ingin menambahkan batasan akun menggunakan modul pam_require. Contoh di laptop saya (Fedora 13) adalah mengubah bagian akun di /etc/pam.d/system-auth menjadi:
account required pam_unix.so
account required pam_require.so @groupA @groupB
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 500 quiet
account required pam_permit.so
Untuk menyederhanakan administrasi, Anda mungkin ingin membuat grup baru di AD untuk tujuan melacak pengguna yang dapat masuk ke server ini.