Eu tenho uma configuração de máquina para autenticar usuários com um diretório LDAP usando sssd + nss + pam.
No estado atual, qualquer usuário no diretório pode fazer login por ssh, ou com su
entre as contas de usuário, mas parece que eles não podem recuperar seus próprios uid
e gid
nem os próprios do resto dos usuários.
Somente o root é capaz de resolver tudo sem problemas, acho que isso pode vir de um erro de configuração do sssd.conf, mas não consigo descobrir o que poderia estar causando isso.
Comportamento observado como raiz:
[root@frontend ~]# ll /home/
total 0
drwx------. 2 chao staff 83 Oct 25 22:57 chao
drwx------. 2 wshake staff 99 Oct 26 12:45 wshake
[root@frontend ~]# id wshake
uid=10101(wshake) gid=10001(staff) groups=10001(staff)
[root@frontend ~]# id chao
uid=10103(chao) gid=10001(staff) groups=10001(staff)
[root@frontend ~]# getent passwd wshake
wshake:*:10101:10001:wshake:/home/wshake:/bin/bash
Eu posso fazer login com ssh
ou su
como qualquer um dos usuários, mas eles não verão seus próprios nomes uid / gid com getent passwd myuid
nenhum:
[root@frontend ~]# su - wshake
Last login: Fri Oct 26 14:08:23 CEST 2018 on pts/1
/usr/bin/id: cannot find name for user ID 10101
/usr/bin/id: cannot find name for group ID 10001
/usr/bin/id: cannot find name for user ID 10101
[I have no name!@frontend ~]$ id
uid=10101 gid=10001 groups=10001 context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[I have no name!@frontend ~]$ id wshake
id: wshake: no such user
[I have no name!@frontend ~]$ getent passwd wshake
[I have no name!@frontend ~]$ su chao
Password:
/usr/bin/id: cannot find name for group ID 10001
/usr/bin/id: cannot find name for user ID 10103
[I have no name!@frontend wshake]$ id
uid=10103 gid=10001 groups=10001 context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[I have no name!@frontend wshake]$ getent passwd chao
[I have no name!@frontend wshake]$
O /etc/sssd/sssd.config que eu estou usando:
[sssd]
config_file_version = 2
services = nss, pam
domains = LDAP
[domain/LDAP]
debug_level = 7
enumerate = True
cache_credentials = false
ldap_schema = rfc2307
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
access_provider = ldap
ldap_uri = ldaps://frontend
ldap_tls_reqcert = never
ldap_search_base = dc=test,dc=cluster
ldap_default_bind_dn = cn=Manager,dc=test,dc=cluster
ldap_default_authtok_type = password
ldap_default_authtok = testpass
ldap_tls_reqcert = never
ldap_tls_cacert = /etc/openldap/certs/cert.crt
ldap_access_filter = (&(objectclass=posixAccount))
ldap_chpass_uri = ldaps://frontend
ldap_user_object_class = posixAccount
ldap_user_name = uid
ldap_user_uid_number = uidNumber
ldap_user_gid_number = gidNumber
ldap_group_name = cn
ldap_group_object_class = posixGroup
ldap_group_gid_number = gidNumber
[nss]
debug_level = 7
override_homedir = /home/%u
override_shell = /bin/bash
Alguém tem uma idéia do que procurar?