A configuração em /etc/nsswitch.conf
define a ordem em que os usuários serão pesquisados. Você pode verificar com getent passwd $USER
como seu usuário está resolvido. Não há necessidade de um usuário ter uma conta local para fazer o login. Vincule os bancos de dados passwd
e group
em /etc/nsswitch.conf
a ldap, nis e / ou sss e use o módulo PAM adequado na pilha.
Um caso de uso usando SSSD e freeIPA , onde usuários, grupos, shell de login, regras do sudo, mapeamentos do SELinux, etc, são armazenados no diretório gerenciado pelo freeIPA. Observe que o SSHD usa o GSSAPI para autenticar contra o kerberos, cujo banco de dados é armazenado no diretório também:
# cat /etc/krb5.conf
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = DOMAIN.COM
dns_lookup_realm = false
dns_lookup_kdc = true
rdns = false
ticket_lifetime = 24h
forwardable = yes
[realms]
DOMAIN.COM = {
kdc = ipaserver.domain.com:88
master_kdc = ipaserver.domain.com:88
admin_server = ipaserver.domain.com:749
default_domain = domain.com
pkinit_anchors = FILE:/etc/ipa/ca.crt
}
[domain_realm]
.crapsteak.org = DOMAIN.COM
crapsteak.org = DOMAIN.COM
[dbmodules]
DOMAIN.COM = {
db_library = ipadb.so
}
# grep sss /etc/nsswitch.conf
passwd: files sss
shadow: files sss
group: files sss
services: files sss
netgroup: files sss
automount: files sss
# cat /etc/sssd/sssd.conf
[domain/domain.com]
cache_credentials = True
krb5_store_password_if_offline = True
ipa_domain = domain.com
id_provider = ipa
auth_provider = ipa
access_provider = ipa
ipa_hostname = somehost.domain.com
chpass_provider = ipa
ipa_server = ipaserver.domain.com
ldap_tls_cacert = /etc/ipa/ca.crt
[sssd]
services = nss, pam, ssh
config_file_version = 2
domains = domain.com
# grep sss /etc/pam.d/{password,system}-auth-ac
/etc/pam.d/password-auth-ac:auth sufficient pam_sss.so use_first_pass
/etc/pam.d/password-auth-ac:account [default=bad success=ok user_unknown=ignore] pam_sss.so
/etc/pam.d/password-auth-ac:password sufficient pam_sss.so use_authtok
/etc/pam.d/password-auth-ac:session optional pam_sss.so
/etc/pam.d/system-auth-ac:auth sufficient pam_sss.so use_first_pass
/etc/pam.d/system-auth-ac:account [default=bad success=ok user_unknown=ignore] pam_sss.so
/etc/pam.d/system-auth-ac:password sufficient pam_sss.so use_authtok
/etc/pam.d/system-auth-ac:session optional pam_sss.so
# grep GSS /etc/ssh/sshd_config
GSSAPICleanupCredentials yes
GSSAPIAuthentication yes