Atribuição de UID e GID do Active Directory

2

Minha máquina do CentOS 7 entrou com sucesso em um domínio FOOBAR (conforme verificado por realm list ) e aqui estão as informações sobre um usuário vindo do AD (não local):

[root@centos7 ~]# id [email protected]
uid=5631533([email protected]) gid=5600513(domain [email protected])
groups=5600513(domain [email protected]),5631532([email protected]) 

Como o UID e o GID são atribuídos? É possível mapeá-los de alguma forma para algum valor desejado?

    
por dr01 09.08.2018 / 16:12

1 resposta

1

O mapeamento do AD no SSSD é determinado usando um algoritmo (provavelmente uma função hash) no próprio daemon: porque ele é interno, se você mantiver os padrões iguais, cada computador usando o SSSD deve mapear os IDs para o mesmo valor, independentemente do computador que está sendo usado. Aqui está a explicação da Red Hat para o mapeamento do AD:

SSSD can use the SID of an AD user to algorithmically generate POSIX IDs in a process called ID mapping. ID mapping creates a map between SIDs in AD and IDs on Linux.

  • When SSSD detects a new AD domain, it assigns a range of available IDs to the new domain. Therefore, each AD domain has the same ID range on every SSSD client machine.

  • When an AD user logs in to an SSSD client machine for the first time, SSSD creates an entry for the user in the SSSD cache, including a UID based on the user's SID and the ID range for that domain.

  • Because the IDs for an AD user are generated in a consistent way from the same SID, the user has the same UID and GID when logging in to any Red Hat Enterprise Linux system.

Você pode definir os valores mínimos e máximos de ID usando min_id e max_id no [domínio / nome ] seção de sssd.conf. Procure em "Seções de domínio" para a descrição; "Exemplos" tem um exemplo de uso:

[sssd]
domains = LDAP
services = nss, pam
config_file_version = 2

[nss]
filter_groups = root
filter_users = root

[pam]

[domain/LDAP]
id_provider = ldap
ldap_uri = ldap://ldap.example.com
ldap_search_base = dc=example,dc=com

auth_provider = krb5
krb5_server = kerberos.example.com
krb5_realm = EXAMPLE.COM
cache_credentials = true

min_id = 10000
max_id = 20000
enumerate = False

Se você substituir esses valores, certifique-se de definir os mesmos mapeamentos em qualquer outro sistema usando esse domínio no SSSD se quiser manter mapeamentos consistentes!

    
por 11.08.2018 / 22:32