всплывающее окно изменения пароля sssd - PullRequest
0 голосов
/ 22 апреля 2020

Я перенес один из наших серверов перемычек из openldap / nscd в клиент sssd. Сервер работает под управлением Ubuntu 14.04 x64. Все работает отлично, за исключением одной очень важной функции: диалог сброса пароля не появляется, когда пользователь проходит аутентификацию с просроченным паролем. На нашем сервере ldap установлена ​​Политика хранения в течение 90 дней (OpenLdap 2.4). Игра с разными флагами на /etc/sssd/sssd.conf не принесла желаемого результата. Вот sssd.conf

# LDAP sssd config
[sssd]
debug_level = 8
domains = mydomain.local
config_file_version = 2
reconnection_retries = 3
services = nss, pam, ssh, sudo

[domain/mydomain.local]
debug_level = 8
cache_credentials = true
entry_cache_timeout = 600
ldap_search_base = dc=mydomain,dc=local
ldap_sudo_search_base = ou=SUDOers,dc=mydomain,dc=local
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
sudo_provider = ldap
subdomain_homedir = /home/%d/%u
ldap_uri = ldaps://10.10.10.10
ldap_tls_reqcert = allow
account_cache_expiration = 7
ldap_schema = rfc2307
ldap_pwd_policy = shadow
ldap_chpass_update_last_change = true
pwd_expiration_warning = 0
reconnection_retries = 3
access_provider = simple
simple_allow_groups = Access_Jumpserver

[nss]
debug_level = 8
filter_groups = root
filter_users = backup,bin,daemon,Debian-exim,games,gnats,irc,list,lp,mail,man,messagebus,news,root,smmsp,smmta,sshd,sync,sys,syslog,uucp,uuidd
reconnection_retries = 3
enum_cache_timeout = 300
entry_cache_nowait_percentage = 75

[pam]
debug_level = 8
pam_verbosity = 8
reconnection_retries = 3
offline_credentials_expiration = 7
offline_failed_login_attempts = 5
offline_failed_login_delay = 15

[sudo]
debug_level = 8

Я был бы рад любому направлению здесь

1 Ответ

0 голосов
/ 24 апреля 2020

В качестве временного решения я использую следующую функцию в скрипте входа в систему, которая вызывается из /etc/bash.bashrc

calculate_pwd_age() {
 local MAX_AGE=90
 let "shdw_epoch = $(ldapsearch -x -LLL -H ldaps://10.0.0.1 "uid=${USER}" shadowLastChange | awk 'NR==2{print $2}')"
 let "today = $(date +'%s') / 86400"
 let "shdw_diff = ${today} - ${shdw_epoch}"
 if [[ ${shdw_diff} -ge ${MAX_AGE} ]]; then
   echo -e  "\nYour password has expired. Please change it right now:\n"
   sleep 2
   passwd
 fi
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...