Lösung 1:
Unter der Annahme, dass die Gruppen für das Linux-System verfügbar sind, empfehle ich die Bearbeitung von /etc/security/access.conf
für Ubuntu, RedHat-Distributionen (und ihre Gabeln) und wahrscheinlich ein paar andere. Dies erfordert keine Bearbeitung von PAM-Dateien und ist ein angenehmer Standardort, um dies zu tun. Es gibt normalerweise Beispiele in der Datei, die auskommentiert sind.
Lösung 2:
(Ich spreche hier von Samba 3, jetzt keine Erfahrung mit Samba 4.)
Es besteht keine Notwendigkeit, diese /etc/pam.d/xxx-Dateien zu bearbeiten. pam_winbind.conf die gewünschte Datei ist, befindet sie sich normalerweise unter /etc/security/pam_winbind.conf .
Es ist die Konfigurationsdatei des pam_winbind-Moduls und funktioniert sowohl für CentOS/Redhat als auch für Debian/Ubuntu. Sie können die Manpage von pam_winbind.conf als Referenz lesen.
Hier ist eine Beispieldatei.
#
# 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
Lösung 3:
Ich verwende derzeit die AllowGroups
Direktive in /etc/ssh/sshd_config
um einzuschränken, wer sich anmelden kann. Geben Sie eine oder mehrere AD-Gruppen in dieser Zeile an, und nur diese Personen können sich anmelden.
Denken Sie daran, dass dies nur funktioniert, wenn Ihre Benutzer nur sind Remote-Zugriff auf den Server über ssh. Wenn sie vor Ort singen, müssen Sie eine andere Lösung finden.
Lösung 4:
Ja, es gibt ein paar Möglichkeiten, dies zu tun, je nachdem, was Sie genau erreichen möchten.
Die erste Methode kann über die Samba-Konfiguration durchgeführt werden. Dies erlaubt nur diesen Benutzern, sich mit Samba zu verbinden, andere Benutzer können sich immer noch über andere Dienste anmelden (ssh, lokaler Begriff usw.). Damit möchten Sie Ihrem Abschnitt [global] in smb.conf eine Zeile hinzufügen:
valid users = @groupA @groupB
Die andere Methode besteht darin, PAM-Regeln zu ändern. Verschiedene Distributionen haben hier leichte Unterschiede, aber im Allgemeinen gibt es PAM-Regeln pro Dienst sowie gemeinsame Regeln, Sie können entscheiden, was am besten ist. Sie sollten eine Kontobeschränkung mit dem Modul pam_require hinzufügen. Ein Beispiel auf meinem Laptop (Fedora 13) wäre die Änderung des Kontoabschnitts in /etc/pam.d/system-auth zu:
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
Um die Verwaltung zu vereinfachen, möchten Sie möglicherweise eine neue Gruppe in AD erstellen, um Benutzer zu verfolgen, die sich bei diesem Server anmelden können.