| SSSD.CONF(5) | Formatos de Ficheiros e Conven | SSSD.CONF(5) |
NAME
sssd.conf - o ficheiro de configuração para SSSD
FORMATO DO FICHEIRO
O ficheiro tem uma sintaxe estilo-ini e consiste de secções e parâmetros. Uma secção começa com o nome da secção em parênteses rectos e continua até que a próxima secção comece. Um exemplo de secção com parâmetros singulares e de multi-valores:
[secção] chave = valor chave2 = valor2,valor3
Os tipos de dados usados são cadeia de caracteres (sem aspas necessárias), inteiro e booleano (com valores de “TRUE/FALSE”).
Uma linha de comentário começa com o cardinal (“#”) ou com um ponto-e-vírgula (“;”). Não são suportados comentários em linhas.
Todas as secções podem ter um parâmetro opcional descrição. A sua função é apenas ser uma etiqueta para a secção.
sssd.conf deve ser um ficheiro regular que é acessível apenas pelo utilizador usado para correr o serviço SSSD ou o root.
TRECHOS DE CONFIGURAÇÃO DO DIRETÓRIO INCLUDE
O ficheiro de configuração sssd.conf irá incluir trechos de configuração usando o directório de inclusão conf.d.
Qualquer ficheiro colocado em conf.d que termine em “.conf” e não comece com um ponto (“.”) será usado juntamente com sssd.conf para configurar o SSSD.
Os trechos de configuração de conf.d têm prioridade mais alta que sssd.conf e irão sobrepor o sssd.conf quando ocorrerem conflitos. Se vários trechos estiverem presentes em conf.d, então eles são incluídos por ordem alfabética (baseada no locale). Os ficheiros incluídos mais tarde têm prioridade mais alta. Prefixos numéricos (01_snippet.conf, 02_snippet.conf etc.) podem ajudar a visualizar a prioridade (número mais alto significa prioridade mais alta).
Os ficheiros de trechos requerem o mesmo dono e permissões que o sssd.conf.
OPÇÕES GERAIS
As seguinte opções são utilizáveis em mais do que uma secção de configuração.
Opções utilizáveis em todas as secções
debug_level (inteiro)
Por favor note que cada serviço SSSD regista para o seu próprio ficheiro de registo. E também por favor note que activar “debug_level” na secção “[sssd]” apenas activa a depuração só para o próprio processo sssd, não para os processos do respondedor ou provedor. O parâmetro “debug_level” deve ser adicionado a todas as secções que você deseje que produzam registos de depuração.
Adicionalmente a alterar o nível de registo no ficheiro de configuração usando o parâmetro “debug_level”, o qual é persistente, mas requer que o SSSD reinicie, é também possível alterar o nível de depuração durante a execução usando a ferramenta sss_debuglevel(8).
Níveis de depuração actualmente suportados:
0, 0x0010: Falhas fatais. Qualquer coisa que previna o SSSD de arrancar ou causa que este cesse o funcionamento.
1, 0x0020: Falhas críticas. Um erro que não mata o SSSD, mas um que indica que pelo menos uma grande funcionalidade não vai funcionar apropriadamente.
2, 0x0040: Falhas sérias. Um erro que anuncia que um pedido ou operação particular falhou.
3, 0x0080: Falhas menores. Estes são os erros que se filtrariam para causar a falha de operação de 2.
4, 0x0100: Definições de configuração.
5, 0x0200: Dados de função.
6, 0x0400: Mensagens de seguimento para funções de operação.
7, 0x1000: Mensagens de seguimento para funções de controle internas.
8, 0x2000: Conteúdos de variáveis internas de função que podem ser interessantes.
9, 0x4000: Informação de seguimento de baixo-nível extremo.
9, 0x20000: Dados de performance e estatísticos, por favor note que devido ao modo que os pedidos são processados internamente o tempo de execução do registo de um pedido pode ser mais longo do que realmente é.
10, 0x10000: Ainda mais informação de seguimento da libldb de baixo-nível. Quase nunca realmente necessário.
Para registar os níveis de depuração de máscara de bits requeridos, simplesmente adicione os seus números juntamente como mostrado nos seguintes exemplos:
Exemplo: Para registar falhas fatais, falhas críticas, falhas sérias e dados de funcionamento use 0x0270.
Exemplo: Para registar falhas fatais, definições de configuração, dados de função, mensagens de seguimento para funções de controle internas, use 0x1310.
Nota: O formato bitmask dos níveis de depuração foi introduzido em 1.7.0.
Predefinição: 0x0070 (isto é, falhas fatais, críticas e sérias; corresponde à definição 2 na notação decimal)
debug (inteiro)
debug_timestamps (booleano)
Predefinição: true
debug_microseconds (booleano)
Predefinição: false
debug_microseconds (booleano)
No caso do SSSD correr com debug_level menor que 9, tudo é registado para um anel buffer na memória e despejado para um ficheiro log em qualquer erro até e incluindo `min(0x0040, debug_level)` (isto é, se debug_level for explicitamente definido para 0 ou 1 então apenas esses níveis de erro irão despoletar os registos, caso contrário até ao 2).
Funcionalidade é apenas suportada para `logger == files` (isto é, a definição não tem efeito para outros tipos de relatório).
Predefinição: true
Opções utilizáveis nas secções SERVICE e DOMAIN
tempo limite (inteiro)
Predefinido: 10
SECÇÕES ESPECIAIS
A secção [sssd]
Peças individuais da funcionalidade do SSSD são fornecidas por serviços SSSD especiais que são arrancados e parados juntamente com o SSSD. Os serviços são geridos por um serviço especial frequentemente chamado “monitor”. A secção “[sssd]” é usada para configurar o monitor assim como outras opções importantes como os domínios de identidade.
Parâmetros de secção
serviços
Serviços suportados: nss, pam ifp , sudo , autofs , ssh , pac
Por predefinição, todos os serviços são desativados e o administrador tem de activar os que permite serem usados ao executar: "systemctl enable sssd-@service@.socket".
domínios
re_expression (string)
Cada domínio pode ter uma expressão regular individual configurada. Para alguns provedores de ID há também expressões regulares predefinidas. Veja SECÇÕES DE DOMÍNIO para mais informação sobre essas expressões regulares.
full_name_format (string)
São suportadas as seguintes expansões:
%1$s
%2$s
%3$s
Cada domínio pode ter um formato individual de string configurado. Veja SECÇÕES DE DOMÍNIO para mais informação desta opção.
monitor_resolv_conf (booleano)
Predefinição: true
try_inotify (booleano)
Existem algumas situações limitadas onde é preferível devermos até tentar mesmo não usar o inotify. Nestes raros casos, esta opção deve ser definida para 'false'
Predefinição: true em plataformas onde inotify é suportado. False nas outras plataformas.
Nota: esta opção não terá efeito em plataformas onde inotify não está disponível. Nestas plataformas será sempre usado polling.
krb5_rcache_dir (string)
Esta opção aceita um valor especial __LIBKRB5_DEFAULTS__ que irá instruir o SSSD a deixar libkrb5 decidir a localização apropriada para a cache de repetição.
Predefinição: Específica da distribuição e especificada durante a compilação. (__LIBKRB5_DEFAULTS__ se não configurada)
default_domain_suffix (string)
Esta string irá ser usada como o nome de domínio predefinido para todos os nomes sem um componente de nome de domínio. O principal caso de utilização é ambientes onde o domínio principal destina-se a gestão de políticas de máquinas e todos os utilizadores estão localizados num domínio de confiança. Esta opção permite a esses utilizadores fazerem login apenas com os seus nomes de utilizador sem terem de também fornecer um nome de domínio.
Por favor note que se esta opção for definida, todos os utilizadores do domínio principal têm de usar os seus nomes totalmente qualificados, ex. utilizador@nome-domínio, para login. Definir esta opção muda a predefinição de use_fully_qualified_names para True. Não é permitido usar esta opção em conjunto com use_fully_qualified_names definido para False.
Predefinição: não definida
override_space (string)
Por favor note que é um erro de configuração usar um caractere substituto que possa ser usado em nomes de utilizador ou grupo. Se um nome conter o caractere de substituição, o SSSD tenta retornar o nome não modificado mas no geral o resultado duma procura é indefinido.
Predefinição: não definida (os espaços não serão substituídos)
certificate_verification (string)
no_ocsp
soft_ocsp
ocsp_dgst
Predefinição: sha1 (para permitir compatibilidade com respondedor RFC5019-compatível)
no_verification
partial_chain
ocsp_default_responder=URL
ocsp_default_responder_signing_cert=NOME
crl_file=/CAMINHO/PARA/FICHEIRO/CRL
soft_crl
As opções desconhecidas são reportadas mas ignoradas.
Predefinição: não definida, isto é, não restringe a verificação de certificados
disable_netlink (booleano)
As alterações de estado do SSSD causadas pelos eventos netlink podem ser indesejáveis e podem ser desativados ao definir esta opção para 'true'
Predefinição: false (alterações netlink são detetadas)
domain_resolution_order
Por favor, note que quando esta opção está definida o formato de saída de todos os comandos é sempre totalmente-qualificado mesmo quando se usa nomes curtos para a entrada. No caso do administrador querer os resultados não totalmente-qualificados, a opção full_name_format pode ser usada como mostrado em baixo: “full_name_format=%1$s” No entanto, lembre que durante o login, as aplicações de login muitas vezes canonizam o nome de utilizador ao chamarem getpwnam(3) o qual, se um nome curto for retornado para uma entrada qualificada (enquanto se tenta alcançar um utilizador que existe em múltiplos domínios) pode re-rotear a tentativa de login para o domínio que usa nomes curtos, tornando este contorno totalmente não recomendado nos casos onde os nomes de utilizadores podem sobrepor-se entre domínios.
Predefinição: Não definida
implicit_pac_responder (booleano)
Predefinição: true
core_dumpable (booleano)
Note que esta definição não tem efeito para 'ldap_child', 'krb5_child' e 'sssd_pam' pois esses binários privilegiados podem ter uma cópia dos dados keytab da máquina na memória e o seu comportamento para estes assuntos é governado pela definição de sistema /proc/sys/fs/suid_dumpable.
Predefinição: true
passkey_verification (string)
user_verification (boolean)
A predefinição é que as definições da chave decidem o que fazer. No caso de pré-autenticação IPA ou kerberos, este valor irá ser sobreposto pelo servidor.
SECÇÕES DE SERVIÇOS
As definições que podem ser usadas para configurar os diferentes serviços são descritas nesta secção. Elas devem residir na secção [$NOME], por exemplo, para o serviço NSS, a secção será “[nss]”
Opções de configuração de serviços gerais
Estas opções podem ser usadas para configurar qualquer serviço.
fd_limit
Predefinição: 8192 (ou limite "hard" de limits.conf)
client_idle_timeout
Predefinição: 60, KCM: 300
offline_timeout (inteiro)
new_delay = Minimum(old_delay * 2, offline_timeout_max) + random[0...offline_timeout_random_offset]
O valor predefinido de offline_timeout é 60. O valor predefinido de offline_timeout_max é 3600. O valor predefinido de offline_timeout_random_offset é 30. O resultado final é a quantidade de segundos antes da próxima tentativa.
Note que a duração máxima de cada intervalo é definida por offline_timeout_max (à parte da parte aleatória).
Predefinição: 60
offline_timeout_max (inteiro)
Um valor de 0 desactiva o comportamento incremental.
O valor deste parâmetro deve ser definido em correlação com o valor do parâmetro offline_timeout.
Com offline_timeout definido para 60 (valor predefinido) não faz sentido definir offline_timeout_max para menos de 120 pois isso iria saturar instantaneamente. Geralmente a regra aqui deverá ser definir offline_timeout_max para pelo menos 4 vezes o offline_timeout.
Apesar de poder ser especificado um valor entre 0 e offline_timeout, isso tem o efeito de sobrepor o valor offline_timeout, assim tem pouca utilidade.
Predefinição: 3600
offline_timeout_random_offset (inteiro)
new_delay = Minimum(old_delay * 2, offline_timeout_max) + random[0...offline_timeout_random_offset]
Este parâmetro controla o valor do desvio aleatório usado para a equação em cima. O valor random_offset final será um número aleatório dentro da gama:
[0 - offline_timeout_random_offset]
Um valor de 0 desactiva a adição de desvio aleatório.
Predefinição: 30
responder_idle_timeout
Predefinição: 300
cache_first
Predefinição: true
Opções de configuração do NSS
Estas opções podem ser usadas para configurar o serviço Name Service Switch (NSS).
enum_cache_timeout (inteiro)
Predefinição: 120
entry_cache_nowait_percentage (inteiro)
Por exemplo, se entry_cache_timeout do domínio for definido para 30s e entry_cache_nowait_percentage for definido para 50 (porcento), as entradas que cheguem após 15 segundos após a última actualização da cache serão retornadas imediatamente, mas o SSSD irá continuar e actualizar a cache por si, para que pedidos futuros não precisem de bloquear à espera de uma actualização à cache.
Valores válidos para esta opção são 0-99 e representam um percentagem de entry_cache_timeout para cada domínio. Por razões de performance, esta percentagem nunca irá reduzir o tempo limite nowait para menos de 10 segundos. (0 desactiva esta funcionalidade)
Predefinição: 50
entry_negative_timeout (inteiro)
Predefinição: 15
filter_users, filter_groups (string)
NOTA: A opção filter_groups não afeta a herança de membros de grupo aninhados, pois a filtragem acontece apos eles serem propagados para retornar via NSS. Ex. um grupo a ter um membro do grupo filtrado irão ainda ter os utilizadores membros na listagem posterior.
Predefinição: root
filter_users_in_groups (booleano)
Predefinição: true
override_homedir (string)
%u
%U
%d
%f
%l
%P
%o
Esta substituição foi desenhada para ser usada num cenário de confiança IPA-AD. Se esta substituição for usada para a opção subdomain_homedir, vai propagar o valor do directório home do domínio AD para os clientes IPA. Neste cenário, a opção tem de ser definida na configuração SSSD no servidor IPA onde o SSSD está a correr em modo servidor.
%h
%H
%%
Esta opção também pode ser definida por-domínio.
exemplo:
override_homedir = /home/%u
Predefinição: Não definida (o SSSD irá usar o valor obtido de LDAP)
Por favor note, o directório home duma sobreposição específica para o utilizador, seja localmente (veja sss_override(8)) ou centralmente gerida por id-overrides de IPA , tem uma precedência mais alta e será usada em vez do valor dado por override_homedir.
homedir_substring (string)
Predefinição: /home
fallback_homedir (string)
Os valores disponíveis para esta opção são os mesmos que para override_homedir.
exemplo:
fallback_homedir = /home/%u
Predefinição: não definida (nenhum substituição para directórios home não definidos)
override_shell (string)
Predefinição: não definida (o SSSD irá usar o valor obtido de LDAP)
allowed_shells (string)
1. Se a shell está presente em “/etc/shells”, é usada.
2. Se a shell está na lista allowed_shells mas não em “/etc/shells”, usa o valor do parâmetro shell_fallback.
3. Se a shell não está na lista allowed_shells e também não em “/etc/shells”, é usada uma shell nologin.
O asterisco (*) pode ser usado para permitir qualquer shell.
O (*) é útil se você desejar usar shell_fallback no caso da shell do utilizador não esteja em “/etc/shells” e mantendo a lista de todas as shells permitidas em allowed_shells seria grande sobrecarga.
Uma string vazia para shell é passada como está ao libc.
O “/etc/shells” apenas é lido no arranque do SSSD, o que significa que é necessário um reinicio do SSSD no caso de uma nova shell ser instalada.
Predefinição: Não definida. A shell do utilizador é automaticamente usada.
vetoed_shells (string)
shell_fallback (string)
Predefinição: /bin/sh
default_shell
Predefinição: não definida (Retorna NULL se nenhuma shell for especificada e confia em libc para substituir algo sensível quando necessário, geralmente /bin/sh)
get_domains_timeout (inteiro)
Predefinição: 60
memcache_timeout (inteiro)
Predefinição: 300
AVISO: Desactivar a cache em-memória irá ter um impacto negativo significante na performance do SSSD e apenas deve ser usado para testes.
NOTA: Se a variável de ambiente SSS_NSS_USE_MEMCACHE for definida para "NO", as aplicações do cliente não irão usar a rápida cache em-memória.
memcache_size_passwd (inteiro)
Predefinição: 8
AVISO: A cache em-memória desactivada ou muito pequena pode ter impacto negativo significante na performance do SSSD.
NOTA: Se a variável de ambiente SSS_NSS_USE_MEMCACHE for definida para "NO", as aplicações do cliente não irão usar a rápida cache em-memória.
memcache_size_group (inteiro)
Predefinição: 6
AVISO: A cache em-memória desactivada ou muito pequena pode ter impacto negativo significante na performance do SSSD.
NOTA: Se a variável de ambiente SSS_NSS_USE_MEMCACHE for definida para "NO", as aplicações do cliente não irão usar a rápida cache em-memória.
memcache_size_initgroups (inteiro)
Predefinido: 10
AVISO: A cache em-memória desactivada ou muito pequena pode ter impacto negativo significante na performance do SSSD.
NOTA: Se a variável de ambiente SSS_NSS_USE_MEMCACHE for definida para "NO", as aplicações do cliente não irão usar a rápida cache em-memória.
memcache_size_sid (inteiro)
Predefinição: 6
AVISO: A cache em-memória desactivada ou muito pequena pode ter impacto negativo significante na performance do SSSD.
NOTA: Se a variável de ambiente SSS_NSS_USE_MEMCACHE for definida para "NO", as aplicações do cliente não irão usar a rápida cache em-memória.
user_attributes (string)
Para facilitar a configuração o respondedor NSS irá verificar a opção InfoPipe se não está definida para o respondedor NSS.
Predefinição: não definida, cai para a opção InfoPipe
pwfield (string)
Predefinição: “*”
Nota: Esta opção também pode ser definida por-domínio o que sobrepõe o valor na secção [nss].
Predefinição: “não definida” (domínios remotos), “x” (domínios proxy com nss_files e alvo sssd-shadowutils)
Opções de configuração do PAM
Estas opções podem ser usadas para configurar o serviço Pluggable Authentication Module (PAM).
offline_credentials_expiration (inteiro)
Predefinição: 0 (Sem Limite)
offline_failed_login_attempts (inteiro)
Predefinição: 0 (Sem Limite)
offline_failed_login_delay (inteiro)
Se definido para 0 o utilizador não se pode autenticar offline se for atingido offline_failed_login_attempts. Apenas uma autenticação online com sucesso pode activar a autenticação offline outra vez.
Predefinição: 5
pam_verbosity (inteiro)
Actualmente o sssd suporta os seguintes valores:
0: não mostra nenhuma mensagem
1: mostra apenas mensagens importantes
2: mostra mensagens informativas
3: mostra todas as mensagens e informação de depuração
Predefinição: 1
pam_response_filter (string)
Apesar das mensagens já poderem ser controladas com a ajuda da opção pam_verbosity, esta opção permite filtrar também outro tipo de respostas.
Actualmente os seguintes filtros são suportados:
ENV
ENV:var_name
ENV:var_name:service
A lista de strings pode ou ser a lista de filtros o que iria definir esta lista de filtros e sobrepor as predefinições, Ou cada elemento da lista pode ser prefixado com um caractere '+' ou '-' o que irá adicionar ou remover o filtro à predefinição existente. Por favor note que ou todos os membros da lista têm de ter um prefixo '+' ou '-' ou nenhum pode. É considerado um erro misturar ambos os estilos.
Predefinição: ENV:KRB5CCNAME:sudo, ENV:KRB5CCNAME:sudo-i
Exemplo: -ENV:KRB5CCNAME:sudo-i irá remover o filtro da lista predefinida
pam_id_timeout (inteiro)
Uma conversação PAM pode executar múltiplos pedidos PAM, tais como gestão de conta e abertura de sessão. Esta opção controla (numa base por-aplicação-de-cliente) quanto tempo (em segundos) podemos manter em cache a informação de identificação para evitar viagens de ida-e-volta excessivas do provedor de identidade.
Predefinição: 5
pam_pwd_expiration_warning (inteiro)
Por favor note que o servidor backend tem de fornecer informação acerca do tempo de expiração da palavra passe. Se esta informação estiver em falta, o sssd não pode mostrar um aviso.
Se zero for definido, então este filtro não é aplicado, isto é, se o aviso de expiração foi recebido do servidor backend, será mostrado automaticamente.
Esta definição pode ser sobreposta ao definir pwd_expiration_warning para um domínio particular.
Predefinição: 0
get_domains_timeout (inteiro)
Predefinição: 60
pam_trusted_users (string)
Predefinição: Todos os utilizadores são considerados de confiança por predefinição
Por favor note que o UID 0 tem sempre permissão de acesso ao respondedor PAM mesmo no caso de não estar na lista pam_trusted_users.
pam_public_domains (string)
Dois valores especiais para a opção pam_public_domains são definidos:
all (Utilizadores não de confiança têm permissão de acesso a todos os domínios no respondedor PAM.)
none (Utilizadores não de confiança não têm permissão de acesso a nenhum domínio PAM no respondedor.)
Predefinição: none
pam_account_expired_message (string)
Nota: Por favor tenha atenção que a mensagem é apenas escrita para o serviço SSH a menos que pam_verbosity seja definido para 3 (mostrar todas as mensagens e informação de depuração).
exemplo:
pam_account_expired_message = Account expired, please contact help desk.
Predefinição: none
pam_account_locked_message (string)
exemplo:
pam_account_locked_message = Account locked, please contact help desk.
Predefinição: none
pam_passkey_auth (booleano)
Predefinição: TRUE
passkey_debug_libfido2 (booleano)
Predefinição: False
pam_cert_auth (booleano)
Predefinição: False
pam_cert_db_path (string)
Predefinição:
pam_cert_verification (string)
exemplo:
pam_cert_verification = partial_chain
Predefinição: não definida, isto é, usa opção predefinida “certificate_verification” definida na secção “[sssd]”.
p11_child_timeout (inteiro)
Predefinido: 10
passkey_child_timeout (inteiro)
Predefinição: 15
pam_app_services (string)
Predefinição: Não definida
pam_p11_allowed_services (string)
É possível adicionar outro nome de serviço PAM ao conjunto predefinido ao usar “+service_name” ou removendo explicitamente um nome de serviço PAM do conjunto predefinido ao usar “-service_name”. Por exemplo, de modo a substituir um nome de serviço PAM predefinido para autenticação com Smartcards (ex. “login”) por um nome de serviço PAM personalizado (ex. “my_pam_service”), você deverá usar a seguinte configuração:
pam_p11_allowed_services = +my_pam_service, -login
Predefinição: o conjunto predefinido de nomes de serviços do PAM inclui:
p11_wait_for_card_timeout (inteiro)
Predefinição: 60
p11_uri (string)
Exemplo:
p11_uri = pkcs11:slot-description=My%20Smartcard%20Reader
ou
p11_uri = pkcs11:library-description=OpenSC%20smartcard%20framework;slot-id=2
Para encontrar URI apropriado por favor verifique o resultado de depuração de p11_child. Como alternativa o utilitário GnuTLS 'p11tool' com ex. '--list-all' irá também mostrar URIs PKCS#11.
Predefinição: none
pam_initgroups_scheme
always
no_session
never
Predefinição: no_session
pam_gssapi_services
Para desactivar a autenticação GSSAPI, defina esta opção para “-” (traço).
Nota: Esta opção também pode ser definida por-domínio o que sobrepõe o valor na secção [pam]. Também pode ser definida para domínio de confiança o que sobrepõe o valor na secção domain.
Exemplo:
pam_gssapi_services = sudo, sudo-i
Predefinição: - (a autenticação GSSAPI é desactivada)
pam_gssapi_check_upn
Se False, cada utilizador capaz de obter o requerido bilhete de serviço irá ser autenticado.
Nota: Esta opção também pode ser definida por-domínio o que sobrepõe o valor na secção [pam]. Também pode ser definida para domínio de confiança o que sobrepõe o valor na secção domain.
Predefinição: TRUE
pam_gssapi_indicators_map
Cada elemento da lista pode ser ou um nome de indicador de autenticação ou um par “serviço:indicador”. Os indicadores não prefixados com o nome de serviço PAM serão requeridos para aceder a qualquer serviço PAM a ser usado com pam_gssapi_services. Uma lista resultante de indicadores por serviço PAM é então verificada contra os indicadores no bilhete Kerberos durante a autenticação por pam_sss_gss.so. Qualquer indicador a partir do bilhete que corresponda à lista resultante de indicadores para o serviço PAM irá garantir o acesso. Se nenhum dos indicadores na lista corresponder, o acesso será negado. Se a lista resultante de indicadores para o serviço PAM estiver vazia, a verificação não irá prevenir o acesso.
Para desactivar a verificação de indicador de autenticação GSSAPI, defina esta opção para “-” (traço). Para desactivar a verificação para um serviço PAM específico, adicione “service:-”.
Nota: Esta opção também pode ser definida por-domínio o que sobrepõe o valor na secção [pam]. Também pode ser definida para domínio de confiança o que sobrepõe o valor na secção domain.
Os seguintes indicadores de autenticação são suportados pelo desenvolvimento Kerberos IPA:
Exemplo: para requerer acesso a serviços do SUDO apenas para utilizadores que obtiveram os seus bilhetes Kerberos com uma pre-autenticação de certificado X.509 (PKINIT), defina
pam_gssapi_indicators_map = sudo:pkinit, sudo-i:pkinit
Predefinição: não definida (o uso de indicadores de autenticação não é requerido)
Opções de configuração do SUDO
Estas opções podem ser usadas para configurar o serviço sudo. As instruções detalhadas para configuração do sudo(8) para trabalhar com sssd(8) estão no manual sssd-sudo(5).
sudo_timed (booleano)
Predefinição: false
sudo_threshold (inteiro)
Predefinição: 50
Opções de configuração do AUTOFS
Estas opções podem ser usadas para configurar o serviço autofs.
autofs_negative_timeout (inteiro)
Predefinição: 15
Por favor note que o automounter apenas lê o mapa mestre no arranque, assim se quaisquer alterações relacionadas com autofs forem feitas no sssd.conf, tipicamente você também precisa de reiniciar o daemon automounter após reiniciar o SSSD.
Opções de configuração do SSH
Estas opções podem ser usadas para configurar o serviço SSH.
ssh_use_certificate_keys (booleano)
Predefinição: true
ssh_use_certificate_matching_rules (string)
Existem duas palavras chave especiais 'all_rules' e 'no_rules' as quais irão activar todas ou nenhuma regra, respetivamente. A posterior significa que nenhum certificado será filtrado a as chaves ssh serão geradas a partir de todos os certificados válidos.
Se nenhuma regra estiver configurada usar 'all_rules' irá activar uma regra predefinida que activa todos os certificados apropriados para autenticação de cliente. Este é o mesmo comportamento que para o respondedor PAM se a autenticação de certificados estiver activa.
Um nome de regra não existente é considerado um erro. Se for um resultado nenhuma regra é selecionada e todos os certificados são ignorados.
Predefinição: não usada, equivalente a 'all_rules', são usadas todas as regras encontradas, ou a regra predefinida
ca_db (string)
Predefinição:
Opções de configuração do respondedor PAC
O respondedor PAC trabalha em conjunto com o plugin de dados de autorização para MIT Kerberos sssd_pac_plugin.so e um provedor de sub-domínio. O plugin envia os dados PAC durante uma autenticação GSSAPI para o respondedor PAC. O provedor de sub-domínio recolhe os alcances de SID e ID do domínio a que o cliente está junto e de domínios de confiança remotos a partir do controlador de domínio local. Se o PAC for descodificado e avaliado algumas das seguintes operações são feitas:
Estas opções podem ser usadas para configurar o respondedor PAC.
allowed_uids (string)
Predefinição: 0, sssd (apenas o root e utilizadores do serviço SSSD têm permissão de acesso ao respondedor do PAC)
Por favor note que as predefinições serão sobrepostas por esta opção. Se ainda deseja permitir ao root e/ou utilizador 'sssd' acesso ao respondedor PAC, o que seria o caso típico, você tem de adicionar esses à lista dos UIDs permitidos explicitamente.
pac_lifetime (inteiro)
Predefinição: 300
pac_check (string)
Please note that the checks listed below only apply to PACs issued by Active Directory or recent versions of FreeIPA. PACs issued e.g. by a plain MIT Kerberos KDC will not contain the needed PAC data buffers to run the checks.
As seguintes opções podem ser usadas sozinhas ou numa lista separadas por vírgulas:
no_check
pac_present
check_upn
check_upn_allow_missing
Atualmente esta opção é definida por predefinição para evitar regressões em tais ambientes. Uma mensagem de relatório será adicionada ao log do sistema e ao log de depuração do SSSD no caso duma UPN ser encontrada no PAC mas não na cache do SSSD. Para evitar esta mensagem no relatório seria melhor avaliar se a opção 'ldap_user_principal' pode ser removida. Se isto não for possível, remover 'check_upn' irá saltar o teste e evitar a mensagem no log.
upn_dns_info_present
check_upn_dns_info_ex
upn_dns_info_ex_present
Predefinição: no_check (provedores AD e IPA 'check_upn, check_upn_allow_missing, check_upn_dns_info_ex')
Opções de configuração de registo de sessão
O registo de sessão funciona em conjunto com tlog-rec-session(8), uma parte do pacote tlog, para registar o que os utilizadores vêm e escrevem quando fazem login num terminal de texto. Veja também sssd-session-recording(5).
Estas opções podem ser usadas para configurar o registo de sessão.
scope (string)
"none"
"some"
"all"
Predefinição: "none"
users (string)
Predefinição: Vazio. Não corresponde a nenhum utilizador.
groups (string)
NOTA: usar esta opção (tê-la definida para qualquer coisa) tem um custo de performance considerável, porque cada pedido não-em-cache para um utilizador requer obter e corresponder os grupos do qual o utilizador é membro.
Predefinição: Vazio. Não corresponde a nenhum grupo.
exclude_users (string)
Predefinição: Empty. Nenhum utilizador excluído.
exclude_groups (string)
NOTA: usar esta opção (tê-la definida para qualquer coisa) tem um custo de performance considerável, porque cada pedido não-em-cache para um utilizador requer obter e corresponder os grupos do qual o utilizador é membro.
Predefinição: Empty. Nenhum grupo excluído.
SECÇÕES DE DOMÍNIO
Estas opções de configuração podem estar presentes numa secção de configuração de domínio, isto é, numa secção chamada “[domain/NOME]”
enabled
domain_type (string)
Os valores permitidos para esta opção são “posix” e “application”.
Os domínios POSIX são alcançáveis por todos os serviços. Os domínios application são apenas alcançáveis a partir do respondedor InfoPipe (veja sssd-ifp(5)) e o respondedor PAM.
NOTA: Os domínios application estão atualmente bem testados apenas com “id_provider=ldap”.
Para uma maneira fácil de configurar domínios não-POSIX, por favor consulte a secção “Domínios Application”.
Predefinição: posix
min_id,max_id (inteiro)
Para utilizadores, isto afecta o limite de GID principal. O utilizador não será retornado ao NSS se ou o UID ou o GID principal estiverem fora do alcance. Para membros de grupo não-principal, aqueles que estiverem dentro do alcance serão reportados como esperado.
Estes limites de ID afectam até o salvar de entradas na cache, não apenas retornando eles por nome ou ID.
Predefinição: 1 para min_id, 0 (sem limite) para max_id
enumerate (booleano)
TRUE = Utilizadores e grupos são enumerados
FALSE = Nenhuma enumeração para este domínio
Predefinição: FALSE
Enumerar um domínio requer ao SSSD descarregar e armazenar TODAS as entradas de utilizadores e grupos a partir do servidor remoto.
Nota: Activar a enumeração tem um impacto de performance moderado no SSSD enquanto a enumeração está a correr. Pode demorar até vários minutos após o SSSD arrancar para completar totalmente as enumerações. Durante este tempo, os pedidos individuais por informação vão diretamente para o LDAP, embora possa ser lento, devido ao pesado processamento da enumeração. Salvar grandes números de entradas na cache após a enumeração completar também pode ser intensivo para a CPU pois as relações de membros têm de ser re-computadas. Isto pode levar a que o processo “sssd_be” deixe de responder ou até ser reiniciado por um watchdog interno.
Enquanto a primeira enumeração está a correr, os pedidos por listas de utilizadores ou grupos completas podem retornar sem resultados até que esta complete.
Mais ainda, activar a enumeração pode aumentar o tempo necessário para detectar o desligar da rede, desde que sejam requeridos tempos limite para assegurar que as buscas da enumeração sejam completadas com sucesso. Para mais informação, consulte o manual específico do provedor de id em uso.
Pelas razões citadas em cima, activar a enumeração não é recomendado, especialmente em grandes ambientes.
Nota: o provedor proxy é testado com módulos de fonte aberta como 'libnss_files' e 'libnss_ldap'. Os módulos de terceiros têm de seguir o comportamento documentado dos módulos nss para serem usados nesta configuração.
entry_cache_timeout (inteiro)
As marcas temporais de expiração da cache são guardadas como atributos de objectos individuais na cache. Assim, alterar o tempo limite da cache apenas tem efeito em entradas recentemente adicionadas ou expiradas. Você deve correr a ferramenta sss_cache(8) de modo a forçar o refrescamento das entradas que já estão em cache.
Predefinição: 5400
entry_cache_user_timeout (inteiro)
Predefinição: entry_cache_timeout
entry_cache_group_timeout (inteiro)
Predefinição: entry_cache_timeout
entry_cache_netgroup_timeout (inteiro)
Predefinição: entry_cache_timeout
entry_cache_service_timeout (inteiro)
Predefinição: entry_cache_timeout
entry_cache_resolver_timeout (inteiro)
Predefinição: entry_cache_timeout
entry_cache_sudo_timeout (inteiro)
Predefinição: entry_cache_timeout
entry_cache_autofs_timeout (inteiro)
Predefinição: entry_cache_timeout
entry_cache_ssh_host_timeout (inteiro)
Predefinição: entry_cache_timeout
entry_cache_computer_timeout (inteiro)
Predefinição: entry_cache_timeout
refresh_expired_interval (inteiro)
O refrescamento em segundo plano irá processar utilizadores, grupos e netgroups na cache. Para utilizadores que tenham executado a operação initgroups (obter membros de grupo para utilizador, tipicamente corrido no login) no passado, ambas as entradas de utilizador e membros do grupo são actualizadas.
Esta opção é herdada automaticamente para todos os domínios de confiança.
Você pode considerar definir este valor para 3/4 * entry_cache_timeout.
A entrada em cache será refrescada por tarefa em segundo plano quando 2/3 do tempo limite de cache tiver sido atingido. Se existirem entradas em cache, a tarefa de segundo plano irá regular-se pelos seus valores originais de tempo limite de cache em vez do valor de configuração actual. Isto pode levar a uma situação na qual a tarefa de refrescamento em segundo plano pareça não estar a funcionar. Isto é feito propositadamente para melhorar a operação em modo offline e a reutilização das entradas em cache válidas existentes. Para tornar esta alteração instantânea o utilizador pode querer invalidar manualmente a cache existente.
Predefinição: 0 (desactivado)
cache_credentials (booleano)
Tome nota que apesar das credenciais serem guardadas como uma cinza SHA512 salgada, isto ainda tem potencialmente algum risco de segurança no caso dum atacante conseguir ter acesso a um ficheiro de cache (normalmente requer acesso privilegiado) e para quebrar uma palavra passe usando ataque de força bruta.
Predefinição: FALSE
cache_credentials_minimal_first_factor_length (inteiro)
Isto deve evitar que PINs curtos de um PIN baseado em esquema 2FA sejam guardados na cache o que os tornaria alvos fáceis para ataques de força bruta.
Predefinição: 8
account_cache_expiration (inteiro)
Predefinição: 0 (ilimitado)
pwd_expiration_warning (inteiro)
Se zero for definido, então este filtro não é aplicado, isto é, se o aviso de expiração foi recebido do servidor backend, será mostrado automaticamente.
Por favor note que o servidor backend tem de fornecer informação acerca do tempo de expiração da palavra passe. Se esta informação estiver em falta, o sssd não pode mostrar um aviso.. E também tem de ser configurado um provedor de autenticação para o backend.
Predefinição: 7 (Kerberos), 0 (LDAP)
id_provider (string)
“proxy”: Suporta um provedor NSS legado.
“ldap”: Provedor LDAP. Veja sssd-ldap(5) para mais informação sobre configuração do LDAP.
“ipa”: Provedor FreeIPA e Red Hat Enterprise Identity Management. Veja sssd-ipa(5) para mais informação sobre configuração do FreeIPA.
“ad”: Provedor Active Directory. Veja sssd-ad(5) para mais informação sobre configurar Active Directory.
“idp”: Provedor para OAuth 2.0/Provedores de Identidade (IdP) baseado em OIDC. Veja sssd-idp(5) para mais informação.
use_fully_qualified_names (booleano)
Se definido para TRUE, todos os pedidos a este domínio têm de usar nomes totalmente qualificados. Por exemplo, se usado em domínio EXEMPLO que contém um utilizador "test", getent passwd test não iria encontrar o utilizador ao passo que getent passwd test@EXEMPLO já iria.
NOTA: Esta opção não tem efeito em pesquisas netgroup devido à sua tendência a incluir netgroups aninhados sem nomes qualificados. Para netgroups, todos os domínios serão pesquisados quando um nome não qualificado é requisitado.
Predefinição: FALSE (TRUE para domínios/sub-domínios ou se default_domain_suffix for usado)
ignore_group_members (booleano)
Se definido para TRUE, o atributo de membros do grupo não é requisitado a partir do servidor ldap, e os membros de grupo não são retornados quando se processam chamadas de pesquisa de grupo, tais como getgrnam(3) ou getgrgid(3). Como um efeito, “getent group $groupname” iria retornar o grupo requisitado como se estivesse vazio.
Activar esta opção pode também tornar as verificações de provedor de acesso para membros de grupo significativamente mais rápidas, especialmente para grupos que contenham muitos membros.
Esta opção pode ser definida por-domínio ou herdada via subdomain_inherit.
Predefinição: FALSE
auth_provider (string)
“ldap” para autenticação LDAP nativa. Veja sssd-ldap(5) para mais informação sobre configuração do LDAP.
“krb5” para autenticação Kerberos. Veja sssd-krb5(5) para mais informação sobre configuração do Kerberos.
“ipa”: Provedor FreeIPA e Red Hat Enterprise Identity Management. Veja sssd-ipa(5) para mais informação sobre configuração do FreeIPA.
“ad”: Provedor Active Directory. Veja sssd-ad(5) para mais informação sobre configurar Active Directory.
“idp”: Provedor para autenticação baseada em OAuth 2.0/OIDC. Veja sssd-idp(5) para mais informação.
“proxy” para retransmitir a autenticação para outro alvo PAM.
“none” desactiva explicitamente a autenticação.
Predefinição: é usado “id_provider” se estiver definido e puder lidar com pedidos de autenticação.
access_provider (string)
“permit” permite sempre o acesso.
“deny” nega sempre o acesso.
“ldap” para autenticação LDAP nativa. Veja sssd-ldap(5) para mais informação sobre configuração do LDAP.
“ipa”: Provedor FreeIPA e Red Hat Enterprise Identity Management. Veja sssd-ipa(5) para mais informação sobre configuração do FreeIPA.
“ad”: Provedor Active Directory. Veja sssd-ad(5) para mais informação sobre configurar Active Directory.
“simple” controle de acesso baseado em listas de acesso ou negação. Veja sssd-simple(5) para mais informação sobre configuração do módulo de acesso simple.
“krb5”: controle de acesso baseado em .k5login. Veja sssd-krb5(5) para mais informação sobre configuração de Kerberos.
“proxy” para retransmitir o controle de acesso para outro módulo PAM.
Predefinição: “permit”
chpass_provider (string)
“ldap” para mudar palavra passe guardada num servidor LDAP. Veja sssd-ldap(5) para mais informação sobre configuração do LDAP.
“krb5” para mudar a palavra passe Kerberos Veja sssd-krb5(5) para mais informação sobre configuração do Kerberos.
“ipa”: Provedor FreeIPA e Red Hat Enterprise Identity Management. Veja sssd-ipa(5) para mais informação sobre configuração do FreeIPA.
“ad”: Provedor Active Directory. Veja sssd-ad(5) para mais informação sobre configurar Active Directory.
“proxy” para retransmitir alterações de palavra passe para outro alvo PAM.
“none” desautoriza explicitamente mudanças de palavra passe.
Predefinição: é usado “auth_provider” se estiver definido e puder lidar com pedidos de mudança de palavra passe.
sudo_provider (string)
“ldap” para regras guardadas em LDAP. Veja sssd-ldap(5) para mais informação sobre configuração do LDAP.
“ipa” o mesmo que “ldap” mas com definições predefinidas de IPA.
“ad” o mesmo que “ldap” mas com definições predefinidas de AD.
“none” desactiva explicitamente SUDO.
Predefinição: É usado o valor de “id_provider” se estiver definido.
As instruções detalhadas para configuração do sudo_provider estão no manual sssd-sudo(5). Existem muitas opções de configuração que podem ser usadas para ajustar o comportamento. Por favor consulte "ldap_sudo_*" em sssd-ldap(5).
NOTA: Regras sudo são descarregadas periodicamente em segundo plano a menos que o provedor sudo esteja explicitamente desactivado. Defina sudo_provider = None para desactivar toda a atividade relacionada com sudo no SSSD se você não quiser de todo usar o sudo com SSSD.
selinux_provider (string)
“ipa” para carregar definições selinux de um servidor IPA. Veja sssd-ipa(5) para mais informação sobre configuração de IPA.
“none” desactiva explicitamente o obtenção de definições selinux.
Predefinição: é usado “id_provider” se estiver definido e puder lidar com pedidos de carregamento selinux.
subdomains_provider (string)
“ipa” para carregar uma lista de subdomínios de um servidor IPA. Veja sssd-ipa(5) para mais informação sobre configuração de IPA.
“ad” para carregar uma lista de subdomínios de um servidor Active Directory. Veja sssd-ad(5) para mais informação sobre configuração de provedor AD.
“none” desactiva explicitamente o obtenção de subdomínios.
Predefinição: O valor de “id_provider” é usado se estiver definido e puder lidar com pedidos de sub-domínio.
session_provider (string)
“ipa” para permitir a execução de tarefas relacionadas com a sessão de utilizador.
“none” não executa nenhum tipo de tarefa relacionada com a sessão de utilizador.
Default: “none”.
autofs_provider (string)
“ldap” para carregar mapas guardados em LDAP. Veja sssd-ldap(5) para mais informação sobre configuração do LDAP.
“ipa” para carregar mapas guardados num servidor IPA. Veja sssd-ipa(5) para mais informação sobre configuração de IPA.
“ad” para carregar mapas guardados num servidor AD. Veja sssd-ad(5) para mais informação sobre configuração de provedor AD.
“none” desactiva explicitamente o autofs.
Predefinição: O valor de “id_provider” é usado se estiver definido e puder lidar com pedidos de autofs.
hostid_provider (string)
“ipa” para carregar identidades de máquinas guardadas num servidor IPA. Veja sssd-ipa(5) para mais informação sobre configuração de IPA.
“none” desactiva explicitamente hostid.
Predefinição: O valor de “id_provider” é usado se estiver definido e puder lidar com pedidos de hostid.
resolver_provider (string)
“proxy” para retransmitir pesquisas para outra biblioteca NSS. Veja “proxy_resolver_lib_name”
“ldap” para obter máquinas e redes guardadas em LDAP. Veja sssd-ldap(5) para mais informação sobre configuração do LDAP.
“ad” para obter máquinas e redes guardadas em AD Veja sssd-ad(5) para mais informação sobre configuração do provedor AD.
“none” desactiva explicitamente a obtenção máquinas e redes.
Predefinição: O valor de “id_provider” é usado se estiver definido e puder lidar com pedidos de resolvedor.
re_expression (string)
Predefinição: “^((?P<name>.+)@(?P<domain>[^@]*)|(?P<name>[^@]+))$” que permite dois estilos diferentes para nomes de utilizador:
Predefinido para provedores AD e IPA: “^(((?P<domain>[^\\]+)\\(?P<name>.+))|((?P<name>.+)@(?P<domain>[^@]+))|((?P<name>[^@\\]+)))$” os quais permitem três estilos diferentes para nomes de utilizador:
Enquanto os duas primeiras correspondem às predefinições gerais a terceira é introduzida para permitir integração fácil de utilizadores de domínios Windows.
A re-expressão predefinida usa o caractere “@” como separador entre o nome e o domínio. Como resultado desta definição a predefinição não aceita o caractere “@” em nomes curtos (coo é permitido nos nomes de grupo do Windows). Se um utilizador desejar usar nomes com “@” ele tem de criar a sua própria re-expressão.
full_name_format (string)
São suportadas as seguintes expansões:
%1$s
%2$s
%3$s
Predefinição: “%1$s@%2$s”.
lookup_family_order (string)
Valores suportados:
ipv4_first: Tenta pesquisar endereços IPv4, se isso falhar, tenta IPv6
ipv4_only: Apenas tenta resolver nomes-de-máquinas em endereços IPv4.
ipv6_first: Tenta pesquisar endereços IPv6, se isso falhar, tenta IPv4
ipv6_only: Apenas tenta resolver nomes-de-máquinas em endereços IPv6.
Predefinição: ipv4_first
dns_resolver_server_timeout (inteiro)
O provedor AD irá também usar esta opção para o tempo limite de ping CLDAP.
Por favor veja a secção “FAILOVER” para mais informação sobre a resolução de serviço.
Predefinição: 1000
dns_resolver_op_timeout (integer)
Por favor veja a secção “FAILOVER” para mais informação sobre a resolução de serviço.
Predefinição: 3
dns_resolver_timeout (inteiro)
Por favor veja a secção “FAILOVER” para mais informação sobre a resolução de serviço.
Predefinição: 6
dns_resolver_use_search_list (booleano)
Se nomes de domínio totalmente qualificados (ou _srv_) forem usados na configuração do SSSD, definir esta opção para FALSE pode prevenir pesquisas DNS desnecessárias em tais ambientes.
Predefinição: TRUE
dns_discovery_domain (string)
Predefinição: Usa a parte de domínio do nome-de-máquina das máquinas
failover_primary_timeout (inteiro)
Nota: O valor mínimo é 31.
Predefinição: 31
override_gid (inteiro)
case_sensitive (string)
True
False
Preserving
Se você desejar definir este valor para domínio de confiança com provedor IPA, você precisa de defini-lo em ambos o cliente e no SSSD no servidor.
Esta opção pode ser definida por-domínio ou herdada via subdomain_inherit.
Predefinição: True (False para provedor AD)
subdomain_inherit (string)
ldap_search_timeout
ldap_network_timeout
ldap_opt_timeout
ldap_offline_timeout
ldap_purge_cache_timeout
ldap_purge_cache_offset
ldap_krb5_keytab (o valor de krb5_keytab será usado se ldap_krb5_keytab não estiver definido explicitamente)
ldap_krb5_ticket_lifetime
ldap_connection_expire_timeout
ldap_connection_expire_offset
ldap_connection_idle_timeout
ldap_use_tokengroups
ldap_user_principal
ignore_group_members
auto_private_groups
case_sensitive
Exemplo:
subdomain_inherit = ldap_purge_cache_timeout
Predefinição: none
Nota: Esta opção apenas funciona com provedores IPA e AD.
subdomain_homedir (string)
%F
O valor pode ser sobreposto pela opção override_homedir.
Predefinição: /home/%d/%u
realmd_tags (string)
cached_auth_timeout (inteiro)
O valor desta opção é herdado por todos os domínios de confiança. Até ao momento não é possível definir um valor diferente por domínio de confiança.
O valor especial 0 implica que esta funcionalidade é desactivada.
Por favor note que se “cached_auth_timeout” for maior que “pam_id_timeout” então o backend poderá ser chamado para lidar com “initgroups.”
Predefinição: 0
local_auth_policy (string)
Existem três valores possíveis para esta opção: match, only, enable. “match” é usada para corresponder estados offline e online para métodos do Kerberos. “only” ignora os métodos online e apenas oferece os locais. enable permite definir explicitamente os métodos para autenticação local. Como exemplo, “enable:passkey”, apenas ativa passkey para autenticação local. Múltiplos valores de ativação devem ser separados por vírgulas, tal como “enable:passkey, enable:smartcard”
A seguinte tabela mostra quais métodos de autenticação, se configurados de modo apropriado, estão atualmente ativos ou inativos para cada backend, com a local_auth_policy predefinida: “match”
| local_auth_policy = match (predefinição) | ||
| Passkey | Smartcard | |
| IPA | enabled | enabled |
| AD | desactivado | enabled |
| LDAP | desactivado | desactivado |
Por favor note que se a autenticação Smartcard local estiver ativa e uma Smartcard presente, a autenticação Smartcard será preferida sobre os métodos de autenticação suportados pelo backend. Isto é, vai haver um pedido de PIN em vez de, por exemplo, um pedido de palavra passe.
O seguinte exemplo de configuração permite aos utilizadores locais autenticarem-se localmente usando qualquer método ativo (isto é, smartcard, passkey).
[domain/shadowutils] id_provider = proxy proxy_lib_name = files auth_provider = none local_auth_policy = only
Predefinição: match
auto_private_groups (string)
true
NOTA: Porque o número GID, e o grupo privado do utilizador são herdados a partir do número UID, não é suportado ter múltiplas entradas com o mesmo número UID ou GID nesta opção. Por outras palavras, activar esta opção reforça a singularidade entre o espaço de ID.
false
hybrid
Se o UID e GID de um utilizador forem diferentes, então o GID tem de corresponder à entrada do grupo, caso contrário o GID é simplesmente não resolvível.
Esta funcionalidade é útil para ambientes onde se deseja parar de manter objetos grupo separados para os grupos privados do utilizador, mas também se deseja reter os grupos privados existentes de utilizador.
Para provedores de id baseados em LDAP (LDAP, IPA e AD) a predefinição para o domínio configurado é tipicamente False porque as fontes têm o conceito de um grupo primário. O provedor de id IdP está a usar True porque IdPs tipicamente não têm grupos primários.
Para subdomínios, o valor predefinido é False para subdomínios que usem IDs POSIX assinados e True para subdomínios que usam mapeamento de ID automático.
O valor de auto_private_groups pode ser ou definido por-subdomínio numa sub-secção, por exemplo:
[domain/forest.domain/sub.domain] auto_private_groups = false
ou globalmente para todos os subdomínios na secção de domínio principal usando a opção subdomain_inherit:
[domain/forest.domain] subdomain_inherit = auto_private_groups auto_private_groups = false
Opções válidas para domínios proxy.
proxy_pam_target (string)
Predefinição: não definida por predefinição, você tem de tomar uma configuração pam existente ou criar uma nova e adicionar o nome do serviço aqui. Como alternativa você pode activar autenticação local com a opção local_auth_policy.
proxy_lib_name (string)
proxy_resolver_lib_name (string)
proxy_fast_alias (booleano)
Predefinição: false
proxy_max_children (inteiro)
Predefinido: 10
Domínios Application
O SSSD, com a sua interface D-Bus (veja sssd-ifp(5)) está a apelar a aplicações como uma porta para um directório LDAP onde os utilizadores e grupos são armazenados. No entanto, ao contrário do desenvolvimento tradicional do SSSD onde todos os utilizadores e grupos ou têm atributos POSIX ou esses atributos podem ser inferidos a partir de SIDs de Windows, em muitos casos os utilizadores e grupos no cenário de suporte de aplicação não têm atributos POSIX. Em vez de definir uma secção “[domain/NOME]”. o administrador pode definir uma secção “[application/NOME]” que representa internamente um domínio com definições de heranças opcionais tipo “application” a partir de um domínio tradicional SSSD.
Por favor note que o domínio application ainda tem de ser explicitamente activado no parâmetro “domains” para que a ordem de procura entre o domínio application e o seu domínio irmão POSIX seja definida corretamente.
Parâmetros de domínio Application
inherit_from (string)
Predefinição: Não definida
O seguinte exemplo ilustra o uso de um domínio application, Nesta configuração, o domínio POSIX é ligado a um servidor LDAP e é usado pelo SO através do respondedor NSS. Adicionalmente, o domínio application também requisita o atributo telephoneNumber, guarda-o como o atributo de telefone na cache e torna o atributo telefone acessível através da interface D-Bus.
[sssd] domains = appdom, posixdom [ifp] user_attributes = +phone [domain/posixdom] id_provider = ldap ldap_uri = ldap://ldap.example.com ldap_search_base = dc=example,dc=com [application/appdom] inherit_from = posixdom ldap_user_extra_attrs = phone:telephoneNumber
SECÇÃO DE DOMÍNIO DE CONFIANÇA
Algumas opções usadas na secção domínio podem também ser usadas na secção dos domínios de confiança, isto é, na secção chamada “[domain/DOMAIN_NAME/TRUSTED_DOMAIN_NAME]”. Onde DOMAIN_NAME é o real domínio base unido. Por favor consulte os exemplos em baixo para explicação. As opções actualmente suportadas na secção de domínio de confiança são:
ldap_search_base,
ldap_user_search_base,
ldap_group_search_base,
ldap_netgroup_search_base,
ldap_service_search_base,
ldap_sasl_mech,
ad_server,
ad_backup_server,
ad_site,
use_fully_qualified_names
pam_gssapi_services
pam_gssapi_check_upn
Para mais detalhes acerca destas opções veja as suas descrições individuais no manual.
SECÇÃO DE MAPEAMENTO DE CERTIFICADO
Para permitir a autenticação com Smartcards e certificados o SSSD deve ser capaz de mapear certificados para utilizadores. Isto pode ser feito ao adicionar o certificado completo ao objecto LDAP do utilizador ou a uma sobreposição global. Apesar de se usar o certificado completo seja requerido para se usar a funcionalidade de autenticação Smartcard do SSH (veja sss_ssh_authorizedkeys(8) para detalhes) pode ser incomodo ou mesmo não possível fazer isto para os casos gerais onde os serviços locais usam PAM para autenticação..
Para tornar o mapeamento mais flexível as regras de mapeamento e correspondência foram adicionadas ao SSSD (veja sss-certmap(5) para detalhes).
Uma regra de mapeamento e correspondência pode se adicionada à configuração do SSSD numa secção própria com um nome como “[certmap/NOME_DOMÍNIO/NOME_REGRA]”. Nesta secção são permitidas as seguintes opções:
matchrule (string)
Predefinição: KRB5:<EKU>clientAuth, isto é, apenas certificados que têm a Utilização de Chave Estendida “clientAuth”
maprule (string)
Predefinição:
domains (string)
Predefinição: o domínio configurado em sssd.conf
priority (inteiro)
Predefinição: a prioridade mais baixa
SECÇÃO DE CONFIGURAÇÃO DE INCITAÇÃO
Se um ficheiro especial (/var/lib/sss/pubconf/pam_preauth_available) existir o módulo pam_sss do PAM do SSSD irá pedir ao SSSD para perceber quais métodos de autenticação estão disponíveis para o utilizador que tenta iniciar sessão. Com base nos resultados o pam_sss irá incitar o utilizador pelas credenciais apropriadas.
Com o crescente número de métodos de autenticação e a possibilidade de que existam vários para um único utilizador, a heurística usada pelo pam_sss para selecionar a incitação pode não ser apropriada para todos os casos. As seguintes opções fornecem melhor flexibilidade aqui.
Cada método de autenticação suportado tem a sua sub-secção de configuração sub “[prompting/...]”. Actualmente existem:
[prompting/password]
password_prompt
[prompting/2fa]
first_prompt
second_prompt
single_prompt
Se o segundo factor for opcional e se deve ser possível registar ou apenas com a palavra passe ou com ambos factores a incitação de dois-passos tem de ser usada.
Alguns clientes, como o SSH com 'PasswordAuthentication yes', geram os seus próprios avisos e não usam os avisos fornecidos pelo SSSD ou outros módulos PAM. Adicionalmente, para SSH com PasswordAuthentication, se a autenticação de dois-factores estiver ativa, o SSSD espera que as credenciais inseridas pelo utilizador no aviso de palavra passe do SSH seja sempre os dois factores numa única string, mesmo que a autenticação de dois-factores seja opcional.
[prompting/passkey]
interactive
interactive_prompt
touch
touch_prompt
É possível adicionar uma sub-secção para serviços PAM específicos, ex. “[prompting/password/sshd]” para mudar individualmente a incitação para este serviço.
EXEMPLOS
1. O exemplo seguinte mostra uma configuração SSSD típica. Não descreve a configuração dos próprios domínios - consulte a documentação sobre configuração de domínios para mais detalhes.
[sssd] domains = LDAP services = nss, pam [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
2. O seguinte exemplo mostra a configuração de confiança IPA AD onde a floresta AD consiste de dois domínios numa estrutura pai filho. É suposto o domínio IPA (ipa.com) ter confiança com domínio AD (ad.com). ad.com tem domínio filho (child.ad.com). Para activar os nomes curtos no domínio filho deve ser usada a seguinte configuração.
[domain/ipa.com/child.ad.com] use_fully_qualified_names = false
3. O exemplo seguinte mostra a configuração de uma regra de mapeamento de certificado. É válida para o domínio configurado “my.domain” e adicionalmente para os subdomínios “your.domain” e usa o certificado completo no filtro de procura.
[certmap/my.domain/rule_name]
matchrule = <ISSUER>^CN=My-CA,DC=MY,DC=DOMAIN$
maprule = (userCertificate;binary={cert!bin})
domains = my.domain, your.domain
priority = 10
VEJA TAMBÉM
sssd(8), sssd.conf(5), sssd-ldap(5), sssd-ldap-attributes(5), sssd-krb5(5), sssd-simple(5), sssd-ipa(5), sssd-ad(5), sssd-idp(5), sssd-sudo(5), sssd-session-recording(5), sss_cache(8), sss_debuglevel(8), sss_obfuscate(8), sss_seed(8), sssd_krb5_locator_plugin(8), sss_ssh_authorizedkeys(1), sss_ssh_knownhosts(1), sssd-ifp(5), pam_sss(8). sss_rpcidmapd(5)
AUTHORS
O autor do SSSD - https://github.com/SSSD/sssd/
| 01/18/2026 | SSSD |