Аутентифікація каталогів Linux + Active + лише вхід у певні групи


14

У мене є кілька вікон Linux, які використовують автентифікацію Windows Active Directory, яка працює чудово (Samba + Winbind).

Я хотів би зараз зробити це лише дозволити певним людям або певним групам входити в систему за допомогою облікових даних Active Directory. Наразі кожен, хто має дійсний обліковий запис AD, може увійти. Я хочу обмежити це лише кількома групами. Це можливо?

Відповіді:


6

Якщо припустити, що групи доступні для системи Linux, я рекомендую редагувати /etc/security/access.confUbuntu, RedHat дистрибутиви (та їхні вилки) та, мабуть, купу інших. Для цього не потрібно редагувати файли PAM, і це дуже стандартне місце для цього. Зазвичай у файлі є приклади, коментовані.


Дякую, це те, що я в кінцевому підсумку використовував, щоб робити те, що хотів зробити, всі відповіді вище, де чудово, але це той, який найкраще працював для мене. Я використовую файл Samba для блокування Samba, і тепер я використовую цей файл access.conf для блокування входів SSH.
Лума

4

(Я говорю тут про самбу 3, зараз немає досвіду роботи на самбі 4).

Не потрібно редагувати ці /etc/pam.d/xxx файли. pam_winbind.conf - потрібний файл, він зазвичай знаходиться за адресою /etc/security/pam_winbind.conf .

Це файл конфігурації модуля pam_winbind, і він працює як для CentOS / Redhat, так і для Debian / Ubuntu. Для ознайомлення ви можете прочитати сторінку чоловіка pam_winbind.conf .

Ось файл прикладу.

#
# 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

3

Наразі я використовую AllowGroupsдирективу, /etc/ssh/sshd_configщоб обмежити, хто може ввійти. Вкажіть одну або кілька груп AD в цьому рядку, і ті люди будуть єдиними, хто зможе увійти.

Майте на увазі, що це працює лише в тому випадку, якщо ваші користувачі лише віддалено отримують доступ до сервера через ssh. Якщо вони співають на місцевому рівні, вам потрібно буде знайти інше рішення.


3

Так, існує кілька способів зробити це залежно від того, що ви намагаєтеся виконати.

Перший метод можна здійснити через конфігурацію samba. Це дозволить цим користувачам підключитися до Samba, інші користувачі все одно можуть увійти через інші сервіси (ssh, локальний термін тощо). За допомогою цього ви хочете додати рядок до свого [глобального] розділу в smb.conf:

valid users = @groupA @groupB

Інший метод полягає в зміні правил PAM. У різних дистрибутивах тут є незначні відмінності, але, загалом кажучи, є правила PAM на послугу, а також загальні правила, ви можете вирішити, що краще. Ви хочете додати обмеження для облікового запису за допомогою модуля pam_require. Прикладом мого ноутбука (Fedora 13) може бути зміна розділу облікового запису в /etc/pam.d/system-auth на:

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

Для спрощення адміністрування ви можете створити нову групу в AD з метою відстеження користувачів, які можуть увійти на цей сервер.


1

Я боровся з тим, щоб отримати щось із вищезазначеного, щоб працювати для мене в RHEL 7. Нижче наведено те, що мені вдалося взяти на роботу.

/etc/sssd/sssd.conf

Змініть access_provider = ad на access_provider = simple +simple_allow_groups = @group1-admins@xxx.xxx.com, @group2@xxx.xxx.com

візудо

  • %group1-admins@xxx.xxx.com ALL=(ALL) ALL

перезапустіть службу sssd.


-3

Я домігся лише одного AD_USER або AD_GROUP, щоб ssh увійшов у вікно linux через автентифікацію AD.

Деталі наведені тут: (зверніть увагу на кроки 7 та 8)

https://gist.githubusercontent.com/xianlin/8c09d916994dac7630b9/raw/ee07817a03bc5904a5404a7e7c94e08ea0c7560a/CentOS_AD_Integration


Інформація відсутня
Джеффрі

Посилання мертва, марний пост.
FreeSoftwareServers

Я бачу лише крок 404. № 7 та 8.
Тодд Уолтон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.