SSSD-SUDO(5)

NAME
sssd-sudo - Configurar sudo com o backend do SSSD

DESCRIÇÃO

Este manual descreve como configurar sudo(8) para funcionar com o sssd(8) e como o SSSD põe em cache regras sudo.

CONFIGURAR SUDO PARA COOPERAR COM O SSSD

Para activar SSSD como fonte para regras sudo, adicione sss à entrada sudoers em nsswitch.conf(5).

Por exemplo, para configurar o sudo para primeiro procurar no ficheiro sudoers(5) standard (o qual deve conter regras que se aplicam a utilizadores locais) e depois no SSSD, o ficheiro nsswitch.conf deve conter a seguinte linha:

    sudoers: files sss

Mais informação sobre a configuração da ordem de procura de sudoers a partir do ficheiro nsswitch.conf assim como informação acerca do esquema LDAP que é usado para guardar regras sudo no directório pode ser encontrada em sudoers.ldap(5).

Nota: de modo a usar netgroups ou hostgroups do IPA em regras sudo, você também precisa de definir corretamente nisdomainname(1) ao seu nome de domínio NIS (o qual é igual ao nome de domínio IPA quando se usam hostgroups).

CONFIGURAR SSSD PARA OBTER REGRAS SUDO

Toda a configuração que é necessária no lado SSSD é estender a lista de services com "sudo" na secção [sssd] de sssd.conf(5). Para acelerar as procuras LDAP, você pode também definir uma base de busca para regras sudo usando a opção ldap_sudo_search_base.

O seguinte exemplo mostra como configurar o SSSD para descarregar regras sudo de um servidor LDAP.

    [sssd]
    services = nss, pam, sudo
    domains = EXAMPLE
    [domain/EXAMPLE]
    id_provider = ldap
    sudo_provider = ldap
    ldap_uri = ldap://example.com
    ldap_sudo_search_base = ou=sudoers,dc=example,dc=com

É importante notar que em plataformas onde o systemd é suportado não é preciso adicionar o provedor "sudo" À lista de serviços, pois isso torna-se opcional. No entanto, em vez disso o sssd-sudo.socket tem de ser activado.

Quando o SSSD é configurado para usar IPA como provedor de ID, o provedor sudo é activado automaticamente. A base de busca do sudo é configurada para usar a árvore LDAP nativa do IPA (cn=sudo,$SUFFIX). Se qualquer outra base de busca for definida no sssd.conf, é este valor que será usado. A árvore compat (ou=sudoers,$SUFFIX) não é mais requerida para a funcionalidade sudo do IPA.

O MECANISMO DE RECOLHA DE REGRA SUDO

O maior desafio, ao se desenvolver suporte de sudo no SSSD, foi assegurar que correr o sudo com o SSSD como a fonte de dados providenciasse a mesma experiência ao utilizador e fosse tão rápido como o sudo mas continuasse a fornecer o mais corrente conjunto de regras possível. Para satisfazer estes requisitos, o SSSD usa três tipos de actualizações. Elas são referidas como full refresh, smart refresh e rules refresh.

O smart refresh descarrega periodicamente regras que são novas ou foram modificadas após a última actualização. O seu objectivo primário é manter a base de dados a crescer ao obter apenas pequenos incrementos que não geram grandes quantidades de tráfego de rede.

O full refresh simplesmente apaga todas as regras sudo guardadas na cache e substitui-as com todas as regras que estão guardadas no servidor. Isto é usado para manter a cache consistente ao remover qualquer regra que foi apagada no servidor. No entanto, o full refresh pode produzir muito tráfego e assim só deve ser usado ocasionalmente dependendo do tamanho e estabilidade das regras sudo.

O rules refresh assegura que nós não concedemos ao utilizador mais permissões que as definidas. É despoletado a cada vez que o utilizador corre o sudo. O refrescamento de regras irá encontrar todas as regras que se aplicam a este utilizador, verifica as suas datas de expiração e re-descarrega-as se estiverem expiradas. No caso de qualquer uma dessas regras estiver em falta no servidor, o SSSD irá fazer refrescamento total de banda porque mais regras (que se apliquem a outros utilizadores) podem ter sido apagadas.

Se activo, o SSSD irá guardar apenas regras que podem ser aplicadas a esta máquina. Isto significa regras que contêm um dos seguintes valores no atributo sudoHost:

    • palavra chave ALL

    • wildcard

    • netgroup (no formato "+netgroup")

    • nome de máquina ou nome de domínio totalmente qualificado desta máquina

    • um dos endereços IP desta máquina

    • um dos endereços IP da rede (no formato "endereço/mascara")

Existem muitas opções de configuração que podem ser usadas para ajustar o comportamento. Por favor consulte "ldap_sudo_*" em sssd-ldap(5) e "sudo_*" em sssd.conf(5).

AFINANDO A PERFORMANCE

O SSSD usa diferentes tipos de mecanismos com filtros LDAP mais ou menos complexos para manter as regras sudo em cache actualizadas. A configuração predefinida é definida para valores que devem satisfazer a maioria dos utilizadores, mas os seguintes parágrafos contêm algumas dicas sobre como afinar a configuração aos seus requerimentos.

1. Indexar atributos LDAP. Certifique que os seguintes atributos LDAP são indexados: objectClass, cn, entryUSN ou modifyTimestamp.

2. Definir ldap_sudo_search_base. Definir a base de busca para o contentor que guarda as regras sudo para limitar o escopo da procura.

3. Definir intervalo de refrescamento full e smart. Se as suas regras sudo não mudam com frequência e você não requer actualizações rápidas ou regras em cache nos seus clientes, você pode considerar aumentar ldap_sudo_full_refresh_interval e ldap_sudo_smart_refresh_interval. Você pode também considerar desactivar o refrescamento smart ao definir ldap_sudo_smart_refresh_interval = 0.

4. Se você tem um grande número de clientes, você pode considerar aumentar o valor de ldap_sudo_random_offset para distribuir melhor a carga no servidor.

VEJA TAMBÉM

sssd(8), sssd.conf(5), sssd-ldap(5), sssd-ldap-attributes(5), sssd-krb5(5), sssd-simple(5), sssd-ipa(5), sssd-ad(5), sssd-idp(5), sssd-sudo(5), sssd-session-recording(5), sss_cache(8), sss_debuglevel(8), sss_obfuscate(8), sss_seed(8), sssd_krb5_locator_plugin(8), sss_ssh_authorizedkeys(1), sss_ssh_knownhosts(1), sssd-ifp(5), pam_sss(8). sss_rpcidmapd(5)

AUTHORS

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