SSSD-KCM(8) Formatos de Ficheiros e Conven SSSD-KCM(8)

sssd-kcm - Gestor de Cache Kerberos do SSSD

Este manual descreve a configuração do Gestor de Cache Kerberos do SSSD (KCM). KCM é um processo que guarda, acompanha e gere caches de credenciais do Kerberos. É originário do projecto Heimdal Kerberos, apenas da biblioteca MIT Kerberos também fornecer suporte no lado cliente para cache de credenciais KCM (mais detalhes sobre isso em baixo).

Numa configuração onde as caches do Kerberos são geridas por KCM, a biblioteca Kerberos (tipicamente usada através duma aplicação, como ex., kinit(1), é uma “"cliente KCM"” e o daemon KCM é referido como sendo um “"servidor KCM"”. O cliente e servidor comunicam por um socket UNIX.

The KCM server keeps track of each credential caches's owner and performs access check control based on the UID and GID of the KCM client.

A cache de credenciais do KCM tem várias propriedades interessantes:

•como o processo corre no espaço-de-utilizador, está sujeito ao espaço-de-nomes do UID ao contrário do chaveiro do kernel
•ao contrário da cache baseada-em-chaveiro do kernel, a qual é partilhada entre todos os contentores, o servidor KCM é um processo separado cujo ponto de entrada é um socket UNIX
•a implementação SSSD guarda as ccaches numa base de dados, tipicamente localizada em /var/lib/sss/secrets permitindo às ccaches sobreviverem a reinícios to servidor KCM ou re-arranques da máquina.

Isto permite ao sistema usar uma cache de credenciais ciente-de-coleção, e no entanto partilhar a cache de credenciais entre alguns ou nenhum contentor ao vincular-montar o socket.

O tempo limite de inatividade predefinido do cliente KCM é 5 minutos, isto permite mais tempo para interação do utilizador com ferramentas de linha de comandos como o kinit.

De modo a usar a cache de credenciais KCM, tem de ser selecionada como o tipo de credencial predefinido em krb5.conf(5), O nome da cache de credenciais tem de ser apenas “KCM:” sem nenhumas expansões de modelo. Por exemplo:

[libdefaults]
    default_ccache_name = KCM:

A seguir, certifique que as bibliotecas cliente Kerberos e o servidor KCM têm de concordar no caminho do socket UNIX. Por predefinição, ambos usam o mesmo caminho /var/run/.heim_org.h5l.kcm-socket. Para configurar a biblioteca Kerberos, modifique a sua opção “kcm_socket” que está descrita no manual krb5.conf(5).

Finalmente, certifique que o servidor KCM do SSSD pode ser contactado. O serviço KCM é tipicamente activado por socket pelo systemd(1). Ao contrário de outros serviços SSSD, este não pode ser arrancado ao adicionar a string “kcm” à directiva “service”.

systemctl start sssd-kcm.socket
systemctl enable sssd-kcm.socket

Por favor note que a sua distribuição pode já ter configurado as unidades para si.

As caches de credenciais são guardadas numa base de dados, muito como o SSSD põe em cache entradas de utilizadores e grupos. A base de dados é tipicamente colocada em “/var/lib/sss/secrets”.

O serviço sssd-kcm tipicamente é activado por socket pelo systemd(1). Para gerar registos de depuração, adicione o seguinte seja no ficheiro /etc/sssd/sssd.conf diretamente ou como trecho de configuração no directório /etc/sssd/conf.d/:

[kcm]
debug_level = 10

Depois, reinicie o serviço sssd-kcm:

systemctl restart sssd-kcm.service

Finalmente, corra algo que não esteja a funcionar para si. Os registos do KCM serão gerados em /var/log/sssd/sssd_kcm.log. É recomendado desactivar os registos de depuração quando você já não precisar da depuração pois o serviço sssd-kcm pode gerar grandes quantidades de informação de depuração.

Por favor note que os trechos de configuração são, até ao momento, apenas processados se o ficheiro de configuração principal em /etc/sssd/sssd.conf existir realmente.

O serviço sssd-kcm pode ser configurado para tentar renovações TGT para TGTs renováveis guardados na ccache do KCM. As renovações são tentadas quando metade do tempo de vida do bilhete foi alcançado. As renovações do KCM são configuradas quando as seguintes opções estão definidas na secção [kcm]:

tgt_renewal = true
krb5_renew_interval = 60m

O SSSD também pode herdar opções krb5 para renovações a partir de um domínio existente.

tgt_renewal = true
tgt_renewal_inherit = domain-name

As seguintes opções krb5 pode ser configuradas na secção [kcm] para controlar o comportamento de renovação, estas opções estão descritas em detalhe mais abaixo

krb5_renew_interval
krb5_renewable_lifetime
krb5_lifetime
krb5_validate
krb5_canonicalize
krb5_auth_timeout

O serviço KCM é configurado na secção “kcm” do ficheiro sssd.conf. Por favor note que devido ao serviço KCM ser tipicamente activado por socket, basta apenas reiniciar o serviço “sssd-kcm” após modificar as opções na secção “kcm” do sssd.conf:

systemctl restart sssd-kcm.service

O serviço KCM é configurado em “kcm” Para uma referência detalhada de sintaxe, consulte a secção “FORMATO DE FICHEIRO” do manual sssd.conf(5).

As opções de serviço SSSD genéricas como “debug_level” ou “fd_limit” são aceites pelo serviço kcm. Por favor consulte o manual sssd.conf(5) para uma lista completa, Adicionalmente, existem também algumas opções específicas do KCM.

socket_path (string)

O socket que o serviço KCM irá escutar.

Predefinição: /var/run/.heim_org.h5l.kcm-socket

Nota: em plataformas onde o systemd é suportado, o caminho de socket é sobreposto por um definido no ficheiro de unidade sssd-kcm.socket.

max_ccaches (inteiro)

Quantas caches de credenciais a base de dados KCM permite para todos os utilizadores.

Predefinição: 0 (ilimitado, apenas a quota por-UID é forçada)

max_uid_ccaches (inteiro)

Quantas caches de credenciais a base de dados do KCM permite por UID. Isto é equivalente a “com quantos principais você pode kinit”.

Predefinição: 64

max_ccache_size (inteiro)

Quão grande pode ser uma cache de credenciais por ccache. Cada bilhete de serviço conta para esta cota.

Predefinição: 65536

tgt_renewal (booleano)

Activa a funcionalidade de renovações TGT.

Predefinição: False (Renovações automáticas desactivadas)

tgt_renewal_inherit (string)

Domínio de onde herdar opções krb5_*, para usar com renovações TGT.

Predefinição: NULL

krb5_auth_timeout (inteiro)

Tempo limite em segundos após um pedido de autenticação online ou pedido de mudança de palavra passe abortado. Se possível, o pedido de autenticação é continuado em offline.

Predefinição: 6

krb5_validate (booleano)

Verifica com a ajuda de krb5_keytab que o TGT obtido não foi falsificado. A keytab é verificada por entradas sequencialmente, e a primeira entrada com um reino correspondente é usada para validação. Se nenhuma entrada corresponder ao reino, é usada a última entrada na keytab, Este processo pode ser usado para validar ambientes que usam confiança de reino-cruzada ao colocar a entrada keytab apropriada como a última entrada ou a única entrada no ficheiro keytab.

Predefinição: false (Provedor IPA e AD: true)

Por favor note que a validação do bilhete é o primeiro passo quando se verifica o PAC (veja 'pac_check' no manual sssd.conf(5) para detalhes). Se a validação de bilhete estiver desativada as verificações de PAC serão também saltadas.

krb5_renewable_lifetime (string)

Requisita um bilhete renovável com um tempo de vida total, dado como um inteiro imediatamente seguido de uma unidade de tempo:

s para segundos

m para minutos

h para horas

d para dias.

Se não existir nenhuma unidade dada, é assumido s.

NOTA: Não é possível misturar unidades. Para definir um tempo de vida renovável de uma hora e meia, use '90m' em vez de '1h30m'.

Predefinição: não definido, ou seja, o TGT não é renovável

krb5_lifetime (string)

Requisita um bilhete com um tempo de vida, dado como um inteiro imediatamente seguido de uma unidade de tempo:

s para segundos

m para minutos

h para horas

d para dias.

Se não existir nenhuma unidade dada é assumido s.

NOTA: Não é possível misturar unidades. Para definir um tempo de vida de uma hora e meia por favor use '90m' em vez de '1h30m'.

Predefinição: não definida, isto é, o tempo de vida de bilhete predefinido configurado no KDC.

krb5_renew_interval (string)

O tempo em segundos entre duas verificações se o TGT deve ser renovado. Os TGTs são renovados se cerca de metade do seu tempo de vida for excedido, dado como um inteiro imediatamente seguido por uma unidade de tempo:

s para segundos

m para minutos

h para horas

d para dias.

Se não existir nenhuma unidade dada, é assumido s.

NOTA: Não é possível misturar unidades. Para definir um tempo de vida renovável de uma hora e meia, use '90m' em vez de '1h30m'.

Se esta opção não for definida ou for 0 a renovação automática é desactivada.

Predefinição: não definida

krb5_canonicalize (booleano)

Especifica se a máquina e o principal utilizador devem ser canonizados. Esta funcionalidade está disponível com o MIT Kerberos 1.7 e versões posteriores.

Predefinição: false

sssd(8), sssd.conf(5),

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

01/18/2026 SSSD