SSSD.CONF(5) Formatos de Ficheiros e Conven SSSD.CONF(5)

sssd.conf - o ficheiro de configuração para SSSD

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.

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.

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)

O SSSD suporta duas representações para especificar o nível de depuração. A mais simples é para especificar um valor decimal de 0-9, o que representa activar esse nível e todas as mensagens de depuração de baixo-nível. A opção mais compreensiva é especificar uma máscara de bits hexadecimal para activar ou desactivar níveis específicos (tais como você desejar suprimir um nível).

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)

SSSD 1.14 e posterior também inclui o alias debug para debug_level como uma funcionalidade de conveniência. Se ambos forem especificados, será usado o valor de debug_level.

debug_timestamps (booleano)

Adiciona uma marca temporal às mensagens de depuração. Se journald estiver ativo para registos de depuração do SSSD esta opção é ignorada.

Predefinição: true

debug_microseconds (booleano)

Adiciona micro-segundos à marca temporal nas mensagens de depuração. Se journald estiver activo para registos de depuração do SSSD esta opção é ignorada.

Predefinição: false

debug_microseconds (booleano)

Activa o seguimento de depuração.

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)

Tempo limite em segundos entre batimentos do serviço. Isto é usado para assegurar que o processo está vivo e capaz de responder a pedidos. Note que após três batimentos em falta o processo irá terminar por ele próprio.

Predefinido: 10

SECÇÕES ESPECIAIS

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

Lista de serviços separados por vírgulas que são iniciados quando o próprio sssd arranca. A lista de serviços é opcional em plataformas onde o systemd é suportado, pois eles irão ser ativados via socket ou D-Bus quando necessário.

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

Um domínio é uma base de dados que contém informação de utilizador. O SSSD pode usar mais domínios ao mesmo tempo, mas pelo menos um tem de ser configurado ou o SSSD não arranca. Este parâmetro descreve a lista de domínios pela ordem que você deseja que eles sejam questionados. Um nome de domínio é recomendado conter apenas caracteres ASCII alfanuméricos, traços, pontos e underscores. O caractere '/' é proibido.

re_expression (string)

Expressão regular predefinida que descreve como converter a string que contém o nome de utilizador e domínio nestes componentes.

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)

Um formato printf(3)-compatível que descreve como compor um nome totalmente qualificado a partir dos componentes nome de utilizador e nome de domínio.

São suportadas as seguintes expansões:

%1$s

nome de utilizador

%2$s

nome de domínio como especificado no ficheiro de configuração do SSSD.

%3$s

nome de domínio liso. Muito usado para domínios Active Directory, ambos diretamente configurados ou descobertos via confianças de IPA.

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)

Controla se o SSSD deve monitorizar o estado de resolv.conf para identificar quando precisa de atualizar o seu resolver de DNS interno.

Predefinição: true

try_inotify (booleano)

Por predefinição, o SSSD irá tentar usar inotify para monitorizar alterações nos ficheiros de configuração e irá apoiar-se no polling a cada 5 segundos se o inotify não puder ser usado.

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)

Directório no sistema de ficheiros onde o SSSD deve armazenar os ficheiros de cache de repetição do Kerberos.

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)

Por favor note que esta opção está descontinuada e deve ser usada domain_resolution_order.

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)

Este parâmetro irá substituir os espaços (barra de espaços) pelo caractere fornecido para nomes de utilizador e grupo. Ex. (_). O nome de utilizador "john doe" irá ficar "john_doe" Esta funcionalidade foi adicionada para ajudar na compatibilidade com scripts de shell que têm dificuldade a lidar com espaços, devido ao separador de campo predefinido na shell.

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)

Com este parâmetro a verificação de certificado pode ser afinada com uma lista de opções separadas por vírgulas. As opções suportadas são:

no_ocsp

Desactiva as verificações Online Certificate Status Protocol (OCSP). Isto pode ser necessário se os servidores OCSP definidos no certificado não forem alcançáveis a partir do cliente.

soft_ocsp

Se uma ligação não puder ser estabelecida com um respondedor OCSP a verificação OCSP é saltada. Esta opção deve ser usada para permitir a autenticação quando o sistema está offline e o respondedor OCSP não pode ser alcançado.

ocsp_dgst

Função de digestão (hash) usada para criar o ID de certificado para o pedido OCSP. Os valores permitidos são:
•sha1
•sha256
•sha384
•sha512

Predefinição: sha1 (para permitir compatibilidade com respondedor RFC5019-compatível)

no_verification

Desactiva completamente a verificação. Esta opção só deve ser usada para testes.

partial_chain

Permite que a verificação tenha sucesso mesmo que não possa ser compilada uma cadeia completa a uma ancora de confiança auto-assinada, desde que seja possível construir uma cadeia a um certificado de confiança que pode não ser auto-assinado.

ocsp_default_responder=URL

Define o respondedor predefinido do OCSP o qual deve ser usado em vez do mencionado no certificado. URL tem de ser substituído pelo URL do respondedor predefinido do OCSP ex. http://exemplo.com:80/ocsp.

ocsp_default_responder_signing_cert=NOME

Esta opção é presentemente ignorada. Todos os certificados necessários têm de estar disponíveis no ficheiro PEM dado por pam_cert_db_path.

crl_file=/CAMINHO/PARA/FICHEIRO/CRL

Usa a Certificate Revocation List (CRL) a partir do ficheiro dado durante a verificação do certificado. O CRL tem de ser dado em formato PEM, veja crl(1ssl) para detalhes.

soft_crl

Se uma Certificate Revocation List (CRL) expirou ignora a validade do CRL e verifica os certificados relacionados com o CRL expirado. Esta opção deve ser usada para permitir autenticação quando o sistema está offline e a CRL não pode ser renovada.

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)

SSSD vincula-se à interface netlink para monitorizar alterações a rotas, endereços, ligações e despoleta certas acções.

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

Lista separada por vírgulas de domínios e subdomínios que representa a ordem de procura que será seguida. A lista não tem de incluir todos os domínios possíveis pois os domínios em falta serão vistos com base na ordem que foram apresentados na opção de configuração “domains”. Os subdomínios que não estão listados como parte de “lookup_order” irão ser vistos numa ordem aleatória para cada domínio pai.

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)

O respondedor PAC é activado automaticamente para o provedor IPA e AD para avaliar e verificar o PAC. Se isso tiver de ser desactivado defina esta opção para 'false'.

Predefinição: true

core_dumpable (booleano)

Esta opção pode ser usada para endurecimento geral do sistema: definindo-a para 'false' proíbe despejos do núcleo para todos os processos do SSSD para evitar fugas de palavras passe em texto simples. Veja o manual prctl:PR_SET_DUMPABLE em Linux ou procctl:PROC_TRACE_CTL em FreeBSD para detalhes.

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)

Com este parâmetro a verificação passkey pode ser afinada com uma lista de opções separadas por vírgulas. As opções suportadas são:

user_verification (boolean)

Ativa ou desativa a verificação de utilizador (isto é, PIN, impressão digital) durante a autenticação. Se ativo, o PIN será sempre pedido.

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

Esta opção especifica o número máximo de descritores de ficheiro que podem ser abertos de uma vez por estes processos do SSSD. Em sistemas onde o SSSD tem garantida a capacidade CAP_SYS_RESOURCE, isto será uma definição absoluta. Em sistema sem esta capacidade, o valor resultante irá ser o menor valor disto ou limite "hard" do limits.conf.

Predefinição: 8192 (ou limite "hard" de limits.conf)

client_idle_timeout

Esta opção especifica o número de segundos que um cliente de um processo SSSD pode esperar por um descritor de ficheiro sem comunicar nele. Este valor é limitado de modo a evitar a exaustão de recursos do sistema. O tempo limite não pode ser mais curto que 10 segundos. Se for configurado um valor menor, será ajustado para 10 segundos.

Predefinição: 60, KCM: 300

offline_timeout (inteiro)

Quando o SSSD comuta para modo offline a quantidade de tempo antes de tentar voltar online irá aumentar com base no tempo que passou desligado. Por predefinição o SSSD usa comportamento incremental para calcular o atraso entre tentativas. Assim, o tempo de espera para uma dada tentativa será maior que o tempo de espera das anteriores. Após cada tentativa sem sucesso de ir online, o novo intervalo é recalculado pelo seguinte:

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)

Controla quanto o tempo entre tentativas de ir online pode ser incrementado a seguir a tentativas de ir online sem sucesso.

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)

Quando o SSSD está em modo offline continua a fazer provas a servidores backend em intervalos de tempo especificados:

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

Esta opção especifica o número de segundos que um processo respondedor do SSSD pode estar activo sem ser usado. Este valor é limitado para evitar a exaustão de recursos do sistema. O valor mínimo aceitável para esta opção é 60 segundos. Definir esta opção para 0 (zero) significa que nenhum tempo limite será definido para o respondedor. Esta opção apenas tem efeito quando o SSSD é compilado com suporte a systemd e quando os serviços são activados ou em socket ou em D-Bus.

Predefinição: 300

cache_first

Esta opção especifica se o respondedor deve questionar todas as caches antes de questionar os Provedores de Dados.

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)

Quantos segundos deve nss_sss manter em cache enumerações (pedidos de informação sobre todos os utilizadores)

Predefinição: 120

entry_cache_nowait_percentage (inteiro)

A cache de entrada pode ser definida para actualizar automaticamente as entradas em segundo plano se elas forem requisitadas para lá duma percentagem do valor entry_cache_timeout do domínio.

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)

Especifica durante quantos segundos deve o nss_sss manter em cache entradas de cache negativas (isto é, consultas por entradas inválidas na base de dados, como as não existentes) antes de perguntar de novo ao backend.

Predefinição: 15

filter_users, filter_groups (string)

Exclui certos utilizadores ou grupos de serem obtidos a partir da base de dados sss do NSS. Isto é particularmente útil para contas do sistema. Esta opção pode também ser definida por-domínio ou incluir nomes totalmente qualificados para filtrar apenas utilizadores de um domínio particular ou por um nome principal de utilizador (UPN).

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)

Se você deseja que o utilizador filtrado ainda seja membro de grupo defina esta opção para false.

Predefinição: true

override_homedir (string)

Sobrepõe o directório home do utilizador. Você pode ou fornecer um valor absoluto ou um modelo. No modelo, as seguintes sequências são substituídas:

%u

nome de login

%U

Número UID

%d

nome de domínio

%f

nome do utilizador totalmente qualificado (utilizador@domínio)

%l

A primeira letra do nome de login.

%P

UPN - Nome Principal de Utilizador (nome@REINO)

%o

O valor homedir que é definido no directório do provedor de identidade.

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

O caminho definido para o atributo de directório homedir do provedor de identidade, mas em minúsculas. Para detalhes do uso, veja %o.

%H

O valor da opção de configuração homedir_substring.

%%

um literal '%'

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)

O valor desta opção será usado na expansão da opção override_homedir se o modelo conter a string de formato %H. Uma entrada de directório LDAP pode conter directamente este modelo para que esta opção possa ser usada para expandir o caminho do directório home para cada máquina cliente (ou sistema operativo). Pode ser definida por-domínio ou globalmente na secção [nss]. Um valor especificado numa secção domain irá sobrepor aquele definido na secção [nss].

Predefinição: /home

fallback_homedir (string)

Define um modelo predefinido para o directório home do utilizador se nenhum foi especificado explicitamente pelo provedor de dados do domínio.

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)

Sobrepõe a shell de login para todos os utilizadores. Esta opção suplanta quaisquer outras opções de shell se tomar efeito e pode ser definida ou na secção [nss] ou por-domínio.

Predefinição: não definida (o SSSD irá usar o valor obtido de LDAP)

allowed_shells (string)

Restringe a shell de utilizador para um dos valores listados. A ordem de avaliação é:

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)

Substitui qualquer instância destas shells por shell_fallback

shell_fallback (string)

A shell predefinida a usar se uma shell permitida não estiver instalada na máquina.

Predefinição: /bin/sh

default_shell

A shell predefinida a usar se o provedor não retornar uma durante a pesquisa. Esta opção pode ser especificada globalmente na secção [nss] ou por-domínio.

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)

Especifica o tempo em segundos no qual a lista de subdomínios será considerada válida.

Predefinição: 60

memcache_timeout (inteiro)

Especifica o tempo em segundos no qual os registos na cache em-memória sejam válidos. Definir esta opção para zero irá desactivar a cache em-memória.

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)

Tamanho (em megabytes) da tabela de dados alocada dentro da cache em-memória rápida para pedidos de passwd. Definir o tamanho para 0 irá desactivar a cache em-memória de passwd.

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)

Tamanho (em megabytes) da tabela de dados alocada dentro da cache em-memória rápida para pedidos de grupo. Definir o tamanho para 0 irá desactivar a cache em-memória de grupo.

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)

Tamanho (em megabytes) da tabela de dados alocada dentro da cache em-memória rápida para pedidos de initgroups. Definir o tamanho para 0 irá desactivar a cache em-memória de initgroups.

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)

Tamanho (em megabytes) da tabela de dados alocada dentro da cache em-memória rápida para pedidos relacionados com SID. Apenas pedidos SID-by-ID e ID-by-SID são actualmente postos em cache na cache em-memória rápida. Definir o tamanho para 0 irá desactivar a cache em-memória de SID.

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)

Alguns dos pedidos adicionais do respondedor NSS podem retornar mais atributos que apenas os POSIX definidos pela interface do NSS. A lista de atributos é controlada por esta opção. É lidada do mesmo modo que a opção “user_attributes” do respondedor InfoPipe (veja sssd-ifp(5) para detalhes) mas sem valores predefinidos.

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)

O valor que as operações NSS que retornam utilizadores ou grupos irá retornar para o campo “password”.

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)

Se o provedor de autenticação estiver offline, durante quanto tempo devemos permitir logins em cache (em dias desde o último login online com sucesso).

Predefinição: 0 (Sem Limite)

offline_failed_login_attempts (inteiro)

Se o provedor de autenticação estiver offline, quantas tentativas de login falhadas são permitidas.

Predefinição: 0 (Sem Limite)

offline_failed_login_delay (inteiro)

O tempo em segundos que tem de passar após ser atingido offline_failed_login_attempts e antes de ser possível nova tentativa de login.

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)

Contra que tipo de mensagens são mostradas ao utilizador durante a autenticação. Quanto mais alto o número mais mensagens são mostradas.

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)

Uma lista de strings separadas por vírgulas que permite remover (filtrar) dados enviados pelo respondedor PAM ao módulo pam_sss do PAM. Existem diferentes tipos de respostas enviadas ao pam_sss ex. mensagens mostradas ao utilizador ou variáveis de ambiente que devem ser definidas pelo pam_sss.

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

Não envia nenhumas variáveis de ambiente para nenhum serviço.

ENV:var_name

Não envia a variável de ambiente var_name para nenhum serviço.

ENV:var_name:service

Não envia a variável de ambiente var_name para o serviço.

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)

Para qualquer pedido PAM enquanto o SSSD está online, o SSSD irá tentar actualizar imediatamente a informação de identidade em cache para o utilizador de modo a assegurar que a autenticação tem lugar com a informação mais recente.

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)

Mostra um aviso N dias antes da palavra passe expirar.

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)

Especifica o tempo em segundos no qual a lista de subdomínios será considerada válida.

Predefinição: 60

pam_trusted_users (string)

Especifica uma lista valores UID ou nomes de utilizadores separados por vírgulas que têm permissão de correr conversações PAM contra domínios de confiança. Os utilizadores não incluídos nesta lista só podem aceder a domínios marcados como públicos com “pam_public_domains”. Os nomes de utilizadores são resolvidos em UIDs no arranque.

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)

Especifica a lista de nomes de domínio separados por vírgulas que estão acessíveis até para utilizadores não de confiança.

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)

Permite que se defina uma mensagem de expiração personalizada, substituindo a mensagem "Permissão negada" predefinida.

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)

Permite que se defina uma mensagem de bloqueio personalizada, substituindo a mensagem "Permissão negada" predefinida.

exemplo:

pam_account_locked_message = Account locked, please contact help desk.

Predefinição: none

pam_passkey_auth (booleano)

Activar autenticação baseada em dispositivo passkey.

Predefinição: TRUE

passkey_debug_libfido2 (booleano)

Ativa mensagens de depuração da biblioteca libfido2.

Predefinição: False

pam_cert_auth (booleano)

Activa a certificação baseada em autenticação Smartcard. Como isto requer comunicação adicional com a Smartcard o que vai atrasar o processo de autenticação, esta opção vem desactivada por predefinição.

Predefinição: False

pam_cert_db_path (string)

O caminho para a base de dados de certificados.

Predefinição:

•/etc/sssd/pki/sssd_auth_ca_db.pem (caminho para um ficheiro com certificados CA de confiança em formato PEM)

pam_cert_verification (string)

Com este parâmetro a verificação de certificado PAM pode ser afinada com uma lista separada por vírgulas de opções que sobrepõem o valor “certificate_verification” na secção “[sssd]”. As opções suportadas são as mesmas de “certificate_verification”.

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)

Quantos segundos irá o pam_sss esperar por p11_child terminar.

Predefinido: 10

passkey_child_timeout (inteiro)

Quantos segundos irá o respondedor PAM esperar que a passkey_child termine.

Predefinição: 15

pam_app_services (string)

Quais serviços PAM têm permissão de contactar domínios do tipo “application”

Predefinição: Não definida

pam_p11_allowed_services (string)

Uma lista de nomes de serviços PAM separados por vírgulas para os quais será permitido usarem Smartcards.

É 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:

•login
•su
•su-l
•gdm-smartcard
•gdm-password
•gdm-switchable-auth
•kdm
•sudo
•sudo-i
•gnome-screensaver

p11_wait_for_card_timeout (inteiro)

Se for requerida autenticação Smartcard quantos segundos extra adicionais a p11_child_timeout deve o respondedor PAM esperar até que uma Smartcard seja inserida.

Predefinição: 60

p11_uri (string)

URI PKCS#11 (veja RFC-7512 para detalhes) que pode ser usado para restringir a selecção de dispositivos usados para autenticação Smartcard. Por predefinição o p11_child do SSSD irá procurar por uma slot PKCS#11 (leitor) onde a bandeira 'removable' está definida e ler os certificados a partir do token inserido a partir da primeira slot encontrada. Se estiverem ligados múltiplos leitores. o p11_uri pode ser usado para dizer ao p11_child para usar um leitor específico.

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

O respondedor PAM pode forçar uma pesquisa online para obter os membros do grupo actual do utilizador que tenta fazer login. Esta opção controla quando isto deve ser feito e os seguintes valores são permitidos:

always

Faz sempre uma busca online, por favor note que pam_id_timeout ainda se aplica

no_session

Apenas faz uma busca online se não existir uma sessão activa do utilizador, isto é, se o utilizador presentemente não está "logged in"

never

Nunca força uma busca online, usa os dados da cache desde que estes não estejam expirados

Predefinição: no_session

pam_gssapi_services

Lista de serviços PAM separados por vírgulas que têm permissão de tentar autenticação GSSAPI usando o módulo pam_sss_gss.so.

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 True, SSSD irá requerer que o principal utilizador Kerberos que se autenticou com sucesso via GSSAPI possa ser associado ao utilizador que está a ser autenticado. A autenticação irá falhar se a verificação falhar.

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

Lista de indicadores de autenticação separados por vírgulas requeridos a estarem presentes num bilhete Kerberos para acesso a serviço PAM que tem permissão de tentar autenticação GSSAPI usando o módulo pam_sss_gss.so.

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:

•pkinit -- pre-autenticação usando certificados X.509 -- estejam armazenados em ficheiros ou em smart cards.
•hardened -- pre-autenticação SPAKE ou qualquer pre-autenticação envolvida num canal FAST.
•radius -- pre-autenticação com a ajuda dum servidor RADIUS.
•otp -- pre-autenticação usando autenticação de dois factores integrada (2FA ou palavra passe de uma-vez, OTP) em IPA.
•idp -- pre-autenticação usando provedor de identidade externo.

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)

Se se deve ou não avaliar os atributos sudoNotBefore e sudoNotAfter que implementam entradas de sudoers dependentes de tempo.

Predefinição: false

sudo_threshold (inteiro)

Número máximo de regras expiradas que podem ser refrescadas de uma vez. Se o número de regras expiradas estiver abaixo do limiar, essas regras são refrescadas com o mecanismo “rules refresh”. Se o limiar for excedido, um “full refresh” de regras sudo é despoletado em vez do primeiro. Este número de limiar também se aplica ao comando sudo do IPA e a buscas de grupo de comando.

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)

Especifica durante quantos segundos deve o respondedor autofs manter em cache resposta negativas (isto é, consultas por entradas de mapa inválidas, como não existentes) antes de perguntar de novo ao backend.

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)

Se definido para true o sss_ssh_authorizedkeys irá retornar chaves ssh derivadas da chave pública de certificados X.509 armazenados também na entrada do utilizador. Veja sss_ssh_authorizedkeys(1) para detalhes.

Predefinição: true

ssh_use_certificate_matching_rules (string)

Por predefinição, o respondedor ssh irá usar todos os certificados disponíveis que correspondam a regras para filtrar os certificados para que as chaves ssh sejam apenas derivadas dos correspondentes. Com esta opção as regras usadas podem ser restritas com uma lista separada por vírgulas de nomes de regras de mapeamento e correspondência. Todas as outras regras serão ignoradas.

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)

Caminho para um armazém de certificados CA de confiança. A opção é usada para validar certificados de utilizador antes de derivar chaves ssh públicas a partir deles.

Predefinição:

•/etc/sssd/pki/sssd_auth_ca_db.pem (caminho para um ficheiro com certificados CA de confiança em formato PEM)

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:

•Se o utilizador remoto não existir na cache, é criado. O UID é determinado com a ajuda do SID, domínios de confiança irão ter UPGs e o GID irá ter o mesmo valor que o UID. O directório home é definido com base no parâmetro subdomain_homedir. A shell irá estar vazia por predefinição, isto é, são usadas as predefinições do sistema, mas isto pode ser sobreposto com o parâmetro default_shell.
•Se existirem SIDs de grupos de domínios conhecidos do sssd, o utilizador será adicionado a esses grupos.

Estas opções podem ser usadas para configurar o respondedor PAC.

allowed_uids (string)

Especifica a lista de valores UID ou nomes de utilizador separados por vírgulas que têm permissão de acesso ao respondedor PAC. Os nomes de utilizadores são resolvidos em UIDs no arranque.

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)

Tempo de vida da entrada PAC em segundos. Enquanto o PAC for válido os dados do PAC podem ser usados para determinar os membros do grupo de um utilizador.

Predefinição: 300

pac_check (string)

Aplica verificações adicionais no PAC do bilhete Kerberos o qual está disponível nos domínios Active Directory e FreeIPA, se configurado. Por favor note que a validação de bilhete Kerberos tem de estar activa para ser capaz de verificar o PAC, isto é, a opção krb5_validate tem de estar definida para 'True' o que é a predefinição para o provedor IPA e AD. Se krb5_validate estiver definida para 'False' as verificações do PAC serão saltadas.

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

O PAC não deve estar presente e mesmo que esteja presente nenhuma verificação adicional será feita.

pac_present

O PAC tem de estar presente no bilhete de serviço o qual o SSSD irá requerer com a ajuda do TGT do utilizador. Se o PAC não estiver disponível a autenticação irá falhar.

check_upn

Se o PAC estiver presente verifica se a informação de nome principal do utilizador (UPN) é consistente.

check_upn_allow_missing

Esta opção deve ser usada juntamente com 'check_upn' e lida com o caso onde uma UPN é definida no lado do servidor mas não é lida pelo SSSD. O exemplo típico é um domínio FreeIPA onde 'ldap_user_principal' está definido para um nome de atributo não existente. Isto era feito tipicamente para contornar problemas com o lidar de principais de empresa. Mas isto está corrigido já há muito tempo e o FreeIPA consegue lidar com principais de empresa muito bem e não há mais necessidade de definir 'ldap_user_principal'.

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

O PAC tem de conter o buffer UPN-DNS-INFO, implica 'check_upn'.

check_upn_dns_info_ex

Se o PAC estiver presente e a extensão para o buffer UPN-DNS-INFO estiver disponível verifica se a informação na extensão é consistente.

upn_dns_info_ex_present

O PAC tem de conter a extensão do buffer UPN-DNS-INFO buffer, implica 'check_upn_dns_info_ex', 'upn_dns_info_present' e 'check_upn'.

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)

Uma das seguintes strings especificando o escopo de registo de sessão:

"none"

Nenhum utilizador é registado.

"some"

Os utilizadores/grupos especificados pelas opções users e groups são registados.

"all"

Todos os utilizadores são registados.

Predefinição: "none"

users (string)

Uma lista separada por vírgulas de utilizadores que deverão ter registo de sessão activo. Corresponde a nomes de utilizadores como retornados pelo NSS, isto é, após a possível substituição de espaços, alterações de minúscula/maiúscula, etc.

Predefinição: Vazio. Não corresponde a nenhum utilizador.

groups (string)

Uma lista separada por vírgulas de grupos, cujos membros deverão ter registo de sessão activo. Corresponde a nomes de grupos como retornados pelo NSS, isto é, após a possível substituição de espaços, alterações de minúscula/maiúscula, etc.

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)

Uma lista de utilizadores que devem a serem excluídos do registo, apenas aplicável com 'scope=all'.

Predefinição: Empty. Nenhum utilizador excluído.

exclude_groups (string)

Uma lista de grupos separados por vírgulas, cujos membros devem ser excluídos do registo. Apenas aplicável com 'scope=all'.

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

Explicitamente activa ou desactiva o domínio. Se “true”, o domínio está sempre “activo”. Se “false”, o domínio está sempre “inactivo”. Se esta opção não for definida, o domínio é activado apenas se estiver listado na opção domains na secção “[sssd]”.

domain_type (string)

Especifica se o domínio destina-se a ser usado por clientes conhecedores-de-POSIX como o Name Service Switch ou por aplicações que não precisam de dados POSIX para estarem presentes ou serem geradas. Apenas objetos de domínios POSIX estão disponíveis para as interfaces e utilitários do sistema operativo.

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)

Limites de UID e GID para o domínio. Se um domínio conter uma entrada que está fora destes limites, ela é ignorada.

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)

Determina se um domínio pode ser enumerado, isto é, se o domínio consegue listar todos os utilizadores e grupos que contém. Note que não é necessário activar a enumeração para que grupos secundários sejam mostrados. Este parâmetro pode ter um dos seguintes valores:

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)

Durante quantos segundos deve o nss_sss considerar as entradas válidas antes de questionar o backend outra vez

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)

Durante quantos segundos deve o nss_sss considerar as entradas de utilizador válidas antes de questionar o backend outra vez

Predefinição: entry_cache_timeout

entry_cache_group_timeout (inteiro)

Durante quantos segundos deve o nss_sss considerar as entradas de grupo válidas antes de questionar o backend outra vez

Predefinição: entry_cache_timeout

entry_cache_netgroup_timeout (inteiro)

Durante quantos segundos deve o nss_sss considerar as entradas de netgroup válidas antes de questionar o backend outra vez

Predefinição: entry_cache_timeout

entry_cache_service_timeout (inteiro)

Durante quantos segundos deve o nss_sss considerar as entradas de serviço válidas antes de questionar o backend outra vez

Predefinição: entry_cache_timeout

entry_cache_resolver_timeout (inteiro)

Durante quantos segundos deve o nss_sss considerar as entradas de máquinas e redes válidas antes de questionar o backend outra vez

Predefinição: entry_cache_timeout

entry_cache_sudo_timeout (inteiro)

Durante quantos segundos deve o sudo considerar as regras válidas antes de questionar o backend outra vez

Predefinição: entry_cache_timeout

entry_cache_autofs_timeout (inteiro)

Durante quantos segundos deve o serviço autofs considerar os mapas automounter válidos antes de questionar o backend outra vez

Predefinição: entry_cache_timeout

entry_cache_ssh_host_timeout (inteiro)

Durante quantos segundos manter uma chave ssh de máquina após refrescar. Isto é, durante quanto tempo manter a chave da máquina em cache.

Predefinição: entry_cache_timeout

entry_cache_computer_timeout (inteiro)

Durante quantos segundos manter a entrada de computador local antes de questionar o backend outra vez

Predefinição: entry_cache_timeout

refresh_expired_interval (inteiro)

Especifica quantos segundos o SSSD tem de esperar antes de despoletar uma tarefa de refrescamento em segundo plano a qual irá refrescar todos os registos expirados ou quase expirados.

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)

Determina se as credenciais do utilizador são também postas em cache na cache LDB local. As credenciais e cache referem-se a palavras passe, o que inclui o primeiro factor (termo longo) de autenticação de dois-factores, não outros mecanismos de autenticação. Espera-se que as autenticações Passkey e Smartcard funcionem offline desde que uma autenticação online com sucesso esteja guardada na cache sem configuração adicional.

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)

Se for usado 2-Factor-Authentication (2FA) e as credenciais devem ser guardadas este valor determina o comprimento mínimo do primeiro factor de autenticação (palavra passe de longo termo) tem de ser guardado como cinza SHA512 na cache.

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)

O número de dias que as entradas são deixadas na cache após o último login com sucesso e antes de serem removidos durante uma limpeza da cache. 0 significa manter para sempre. O valor deste parâmetro tem de ser maior ou igual a offline_credentials_expiration.

Predefinição: 0 (ilimitado)

pwd_expiration_warning (inteiro)

Mostra um aviso N dias antes da palavra passe expirar.

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)

O provedor de identificação usado para o domínio. Os provedores de ID suportados são:

“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)

Usa o nome completo e domínio (formatado pelo full_name_format do domínio) como o nome de login do utilizador reportado ao NSS.

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)

Não retorna membros de grupo para pesquisas de grupo.

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)

O provedor de autenticação usado para o domínio. Os provedores de autenticação suportados são:

“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)

O provedor de controlo de acesso usando para este domínio. Existem dois provedores de acesso embutidos (em adição a qualquer incluído em backends instalados). Os provedores especiais internos são:

“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)

O provedor que deverá lidar com operações de mudança de palavra passe para o domínio. Os provedores de mudança de palavra passe suportados são:

“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)

O provedor SUDO usado para o domínio. Provedores SUDO suportados são:

“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)

O provedor que deve lidar com o carregamento de definições selinux. Note que este provedor irá ser chamado logo após o provedor de acesso terminar. Os provedores selinux suportados são:

“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)

O provedor que deve lidar com a obtenção de subdomínios. Este valor deve ser o mesmo que id_provider. Os provedores de subdomínio suportados são:

“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)

O provedor que configura e gere tarefas relacionadas com sessões de utilizador. A única tarefa de sessão de utilizador atualmente fornecida é a integração com Fleet Commander, a qual apenas funciona com IPA. Os provedores de sessão suportados são:

“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)

O provedor de autofs para o domínio. Os provedores autofs suportados são:

“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)

O provedor usado para obter informação de identidade de máquina. Os provedores hostid suportados são:

“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)

O provedor que deverá lidar com pesquisas de máquinas e redes. Os provedores resolver são:

“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)

Expressão regular para este domínio que descreve como converter a string que contém o nome de utilizador e domínio nestes componentes. O "domain" pode corresponder ou ao nome de domínio na configuração do SSSD, ou, no caso de subdomínios de confiança IPA e domínios Active Directory, o nome simples (NetBIOS) do domínio.

Predefinição: “^((?P<name>.+)@(?P<domain>[^@]*)|(?P<name>[^@]+))$” que permite dois estilos diferentes para nomes de utilizador:

•nome de utilizador
•nome-utilizador@nome.domínio

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:

•nome de utilizador
•nome-utilizador@nome.domínio
•domínio\nome-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)

Um formato printf(3)-compatível que descreve como compor um nome totalmente qualificado a partir dos componentes nome de utilizador e nome de domínio.

São suportadas as seguintes expansões:

%1$s

nome de utilizador

%2$s

nome de domínio como especificado no ficheiro de configuração do SSSD.

%3$s

nome de domínio liso. Muito usado para domínios Active Directory, ambos diretamente configurados ou descobertos via confianças de IPA.

Predefinição: “%1$s@%2$s”.

lookup_family_order (string)

Fornece a habilidade de selecionar famílias de endereços preferidos a usar quando executa pesquisas DNS.

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)

Define a quantidade de tempo (em milissegundos) que o SSSD deve tentar falar com o servidor DNS antes de tentar o próximo servidor DNS.

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)

Define a quantidade de tempo (em segundos) a esperar para resolver consultas DNS únicas (ex. resolução de um nome de máquina ou um registo SRV) antes de tentar o próximo nome de máquina ou descoberta DNS.

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)

Define a quantidade de tempo (em segundos) a esperar por resposta do serviço interno fail over antes de assumir que o serviço está fora de alcance. Se este tempo limite for alcançado, o domínio irá continuar a operar em modo offline.

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)

Normalmente, o resolvedor DNS sonda a lista de domínios definida na diretiva "search" do ficheiro resolv.conf. Isto pode levar a atrasos em ambientes com DNS configurado de modo inapropriado.

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)

Se o serviço de descoberta for usado no backend, especifica a parte de domínio da consulta DNS de descoberta de serviço.

Predefinição: Usa a parte de domínio do nome-de-máquina das máquinas

failover_primary_timeout (inteiro)

Quando nenhum servidor primário está disponível, o SSSD cai para um servidor de salvaguarda. Esta opção define o número de segundos que o SSSD espera antes de tentar se re-ligar ao servidor principal.

Nota: O valor mínimo é 31.

Predefinição: 31

override_gid (inteiro)

Sobrepõe o valor GID principal com o que é especificado.

case_sensitive (string)

Trata nomes de utilizador e grupo como sensível a maiúsculas/minúsculas. Os valores de opção possíveis são:

True

Sensível a maiúsculas/minúsculas. Este valor é inválido para provedor AD.

False

Insensível a maiúsculas/minúsculas.

Preserving

O mesmo que False (Insensível a maiúsculas/minúsculas), mas não reduz a minúsculas os nomes no resultado da operação NSS. Note que nomes alternativos (e no caso de serviços também nomes de protocolos) são na mesma reduzidos a minúsculas nos resultados.

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)

Especifica uma lista de parâmetros de configuração que devem ser herdados por um subdomínio. Por favor note que apenas os parâmetros selecionados podem ser herdados. Actualmente as seguintes opções podem ser herdadas:

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)

Usa esta homedir como valor predefinido para todos os subdomínios dentro deste domínio em confiança IPA AD. Veja override_homedir para informação sobre possíveis valores. Adicionalmente a esses, a expansão em baixo só pode ser usada com subdomain_homedir.

%F

nome simples (NetBIOS) de um subdomínio.

O valor pode ser sobreposto pela opção override_homedir.

Predefinição: /home/%d/%u

realmd_tags (string)

Várias etiquetas armazenadas pelo serviço de configuração realmd para este domínio.

cached_auth_timeout (inteiro)

Especifica o tempo em segundos desde a última autenticação online com sucesso para qual o utilizador será autenticado usando credenciais em cache enquanto o SSSD está em modo online. Se as credenciais estiverem incorretas, o SSSD regressa à autenticação online.

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)

Política de métodos de autenticação local. Alguns backends (isto é, LDAP, provedor proxy) apenas suportam uma autenticação baseada em palavra passe, enquanto outros conseguem lidar com autenticação de Smartcard baseada em PKINIT (AD, IPA), autenticação de dois-factores (IPA), ou outros métodos contra uma instância central. Por predefinição em tais casos a autenticação é apenas executada com os métodos suportados pelo backend. Com esta opção podem ser ativados métodos adicionais que são avaliados e verificados localmente.

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)

Esta opção recebe qualquer um dos três valores disponíveis:

true

Cria o grupo privado do utilizador incondicionalmente a partir do número UID do utilizador. O número GID é ignorado neste caso.

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

Usa sempre o número GID principal do utilizador. O número GID tem de se referir a um objecto grupo na base de dados do LDAP.

hybrid

Um grupo primário é auto-gerado para entradas de utilizador cujos números UID e GID têm o mesmo valor e ao mesmo tempo o número GID não corresponde a um objecto grupo real no LDAP. Se os valores forem iguais, mas o GID primário na entrada no utilizador for também usado por um objecto grupo, o GID primário do utilizador resolve para esse objecto grupo.

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)

O alvo proxy que o PAM "proxia".

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)

O nome da biblioteca NSS a usar em domínios proxy. As funções NSS procuradas na biblioteca estão no formato _nss_$(libName)_$(function), por exemplo _nss_files_getpwent.

proxy_resolver_lib_name (string)

O nome da biblioteca NSS a usar para buscas de máquinas e redes em domínios proxy. As funções NSS procuradas na biblioteca estão no formato _nss_$(libName)_$(function), por exemplo _nss_dns_gethostbyname2_r.

proxy_fast_alias (booleano)

Quando um utilizador ou grupo é procurado pelo nome no provedor proxy, é executada uma segunda procura pelo ID para "canonizar" o nome no caso de o nome pedido ser um alias. Definir esta opção para true irá fazer com que o SSSD execute a procura de ID a partir da cache por razões de performance.

Predefinição: false

proxy_max_children (inteiro)

Esta opção especifica o número de filhos proxy pré-forcados. É útil para ambientes SSSD de alta carga onde o sssd pode esgotar as slots para filhos disponíveis, o que iria causar alguns problemas devido a pedidos serem postos em fila de espera.

Predefinido: 10

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)

O domínio tipo-POSIX do SSSD de onde o domínio application herda todas as definições. O domínio application pode ainda adicionar as suas definições às definições application que ampliam ou sobrepõem as definições de domínio “sibling”.

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)

Apenas os certificados da Smartcard que corresponde a esta regra serão processados, todos os outros serão ignorados.

Predefinição: KRB5:<EKU>clientAuth, isto é, apenas certificados que têm a Utilização de Chave Estendida “clientAuth”

maprule (string)

Define como um utilizador é encontrado para um dado certificado.

Predefinição:

•LDAP:(userCertificate;binary={cert!bin}) para provedores baseados em LDAP como “ldap”, “AD” ou “ipa”.
•se maprule não estiver definida e o provedor for “proxy”, o nome RULE_NAME é assumido para ser o nome do utilizador correspondente.

domains (string)

Lista de nomes de domínios separados por vírgulas em que a regra deve ser aplicada. Por predefinição uma regra é apenas válida no domínio configurado no sssd.conf. Se o provedor suportar subdomínios esta opção pode ser usada para adicionar a regra também a subdomínios.

Predefinição: o domínio configurado em sssd.conf

priority (inteiro)

Valor inteiro não assinado que define a prioridade da regra. Quanto mais alto o número mais baixa a prioridade. “0” significa a mais alta prioridade enquanto “4294967295” é a mais baixa.

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]

para configurar a incitação da palavra passe, as opções permitidas são:

password_prompt

para alterar o texto da incitação da palavra passe

[prompting/2fa]

para configurar a incitação de autenticação de dois-factores, as opções permitidas são:

first_prompt

para alterar a string da incitação para o primeiro factor

second_prompt

para alterar o texto da incitação para o segundo factor

single_prompt

valor booleano, se True irá existir apenas uma incitação usando o valor de first_prompt onde é esperado que ambos factores são inseridos como uma única string. Por favor note que ambos factores têm de ser inseridos aqui, mesmo que o segundo factor seja opcional.

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]

para configura a incitação a autenticação passkey, as opções permitidas são:

interactive

valor booleano, se True incita uma mensagem e espera antes de testar a presença dum dispositivo passkey. Recomendado se o seu dispositivo não tiver um gatilho táctico.

interactive_prompt

para alterar a mensagem da incitação interactiva.

touch

valor booleano, se True incita uma mensagem a lembrar o utilizador a tocar no dispositivo.

touch_prompt

para mudar a mensagem do aviso de toque.

É 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.

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

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)

O autor do SSSD - https://github.com/SSSD/sssd/

01/18/2026 SSSD