Настройка оболочки входа в конфигурацию SSS для пользователей из Active Directory

Несколько немедленных опций:

find /tmp  -type f -mtime +2 -name "DBG*" -exec echo {} \; -delete

или

find /tmp  -type f -mtime +2 -name "DBG*" -exec echo {} \; -exec rm {} \;
5
03.09.2018, 15:53
2 ответа

Благодаря сопровождающим sssd я нашел ответ. Вот рабочая конфигурация, которая делает то, что мне нужно, т. е. разрешает туннелирование SSH, но не разрешает вход по SSH для пользователей AD, которые являются членами AD LimitedGroup.

Обратите внимание, что член ограниченной группы должен использовать ssh как user@MYDOMAIN_TEST.GLOBAL, а не как user@MYDOMAIN.GLOBAL, иначе это не сработает.

Суть решения заключается в использовании доменного имени раздела SSSD вместо доменного имени AD в директиве simple_allow_groups. Обратите внимание, однако, что конфиг работает и без строк access_provider = simpleи simple_allow_groups =.... Также возможно установить simple_allow_groups = groupбез директивы use_fully_qualified_names = True, как сообщил пользователь в комментариях.

Также обратите внимание, что эта конфигурация использует ldap_user_search_baseвместо устаревшего ldap_user_search_filter.

Другие параметры конфигурации предназначены только для полноты картины, поскольку они уже были в файле конфигурации.

[sssd]
domains = MYDOMAIN.GLOBAL,MYDOMAIN_TEST.GLOBAL
config_file_version = 2
services = nss, pam

[nss]
default_shell = /bin/bash

[domain/MYDOMAIN_TEST.GLOBAL]
ldap_user_search_base = DC=MYDOMAIN,DC=GLOBAL?subtree?(memberOf=CN=LimitedGroup,OU=Groups,DC=MYDOMAIN,DC=GLOBAL)
default_shell = /sbin/nologin
ad_server = ad.mydomain.global
ad_backup_server = ad2.mydomain.global
ad_domain = MYDOMAIN.GLOBAL
krb5_realm = MYDOMAIN.GLOBAL
realmd_tags = manages-system joined-with-adcli 
cache_credentials = False
id_provider = ad
krb5_store_password_if_offline = True
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = simple
simple_allow_groups = LimitedGroup@MYDOMAIN_TEST.GLOBAL

[domain/MYDOMAIN.GLOBAL]
ldap_user_search_base = DC=MYDOMAIN,DC=GLOBAL?subtree?(memberOf=CN=AdminsGroup,OU=Groups,DC=MYDOMAIN,DC=GLOBAL)
default_shell = /bin/bash
ad_server = ad.mydomain.global
ad_backup_server = ad2.mydomain.global
ad_domain = MYDOMAIN.GLOBAL
krb5_realm = MYDOMAIN.GLOBAL
realmd_tags = manages-system joined-with-adcli 
cache_credentials = False
id_provider = ad
krb5_store_password_if_offline = True
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = simple
simple_allow_groups = AdminsGroup@MYDOMAIN.GLOBAL
3
27.01.2020, 20:38

Это должно работать с более новыми версиями sssd:

[sssd]
domains = MYDOMAIN_ADMINS,MYDOMAIN_LIMITED,MYDOMAIN_ALL
config_file_version = 2
services = nss, pam

[nss]
default_shell = /bin/bash

[domain/MYDOMAIN_ADMINS]
ad_server = srv001.company.local,srv002.company.local,srv003.company.local,srv004.company.local
ad_domain = company.local  
ldap_user_search_base = DC=company,DC=local?subtree?(memberOf=CN=unix_admins,OU=Groupes,OU=Main Office,DC=company,DC=local)
id_provider = ad
override_shell = /usr/bin/pwd
override_homedir = /home/%u

[domain/MYDOMAIN_LIMITED]
ad_server = srv001.company.local,srv002.company.local,srv003.company.local,srv004.company.local
ad_domain = company.local  
ldap_user_search_base = DC=company,DC=local?subtree?(memberOf=CN=unix_limited,OU=Groupes,OU=Main Office,DC=company,DC=local)
id_provider = ad
override_shell = /usr/bin/date
override_homedir = /home/%u

[domain/MYDOMAIN_ALL]
ad_server = srv001.company.local,srv002.company.local,srv003.company.local,srv004.company.local
ad_domain = company.local  
ldap_user_search_base = DC=company,DC=local
id_provider = ad
override_homedir = /home/%u

ldap_user_search_baseиспользуется вместо удаленного устаревшего (?)ldap_user_search_filter.

Я не знаю, правильно ли добавлять simple_allow_groupsс фильтром ldap_user_search_base. Интересно, будет ли это работать только с директивой simple_allow_groups.

3
27.01.2020, 20:38

Теги

Похожие вопросы