O Systemd hospeda um novo componente para gerenciar diretórios pessoais e assim garantir uma melhor portabilidade. A novidade foi apresentada por Lennart Poettering na conferência All Systems Go 2019. Chamado de “systemd-homed”, o objetivo é garantir a portabilidade dos diretórios pessoais dos usuários e sua separação da configuração do sistema.
Para que o Systemd hospeda um novo componente para gerenciar diretórios pessoais?
A idéia principal do projeto é criar ambientes autônomos para dados do usuário que possam ser transferidos entre diferentes sistemas. Assim, eliminam a sincronização de identificadores e privacidade. O ambiente do diretório inicial é entregue na forma de um arquivo de imagem montado, cujos dados são criptografados.
As credenciais do usuário estão ligados ao seu diretório home, não a configuração do sistema. Portanto, em vez de /etc/passwd e /etc/shadow, um perfil no formato JSON é usado, armazenado no diretório ~/.identity.
O perfil contém os parâmetros necessários para o usuário trabalhar, incluindo informações sobre nome, hash de senha, chaves de criptografia, taxas e recursos fornecidos. O perfil pode ser autenticado por uma assinatura digital armazenada em um token Yubikey externo.
Cada diretório que gerencia encapsula o armazém de dados e o registro do usuário do usuário, para que ele descreva completamente a conta do usuário e, portanto, seja naturalmente portátil entre sistemas sem outros metadados externos.
O anúncio também destaca que:
Os parâmetros também podem incluir informações adicionais, como chaves para SSH , dados para autenticação biométrica, imagem, email, endereço, fuso horário, idioma, limites no número de processos e memória, sinalizadores de montagem adicionais (nodev, noexec, nosuid) , dados sobre as informações de usuário do servidor IMAP / SMTP aplicáveis, informações de ativação do controle dos pais, opções de backup etc. A API Varlink é fornecida para consultar e analisar parâmetros.
O UID/GID é atribuído e processado dinamicamente em cada sistema local ao qual o diretório inicial está conectado.
Systemd hospeda um novo componente para gerenciar diretórios pessoais
Usando o sistema proposto, o usuário pode manter seu diretório pessoal com ele, por exemplo, em uma unidade Flash e obter um ambiente de trabalho em qualquer computador sem criar explicitamente uma conta (a presença de um arquivo com uma imagem do diretório inicial leva à síntese do usuário).
É proposto o uso do subsistema LUKS2 para criptografia de dados , mas o systemd-homed também permite usar outros back-ends, por exemplo, para diretórios não criptografados, partições de rede Btrfs, Fscrypt e CIFS não criptografadas.
Para gerenciar diretórios portáteis, é proposto o utilitário homectl, que permite criar e ativar imagens dos diretórios principais, além de alterar seu tamanho e definir uma senha.
No nível do sistema, o trabalho é fornecido pelos seguintes componentes:
- systemd-homed.service: gerencia o diretório inicial e integra registros JSON diretamente nas imagens do diretório inicial.
- pam_systemd: processa os parâmetros do perfil JSON quando um usuário efetua login e os aplica no contexto de uma sessão ativada (executa autenticação, define variáveis ??de ambiente etc.).
- systemd-logind.service: processa os parâmetros de um perfil JSON quando um usuário efetua login, aplica várias configurações de gerenciamento de recursos e define limites.
- nss-systemd: o módulo NSS para glibc, sintetiza as entradas clássicas do NSS com base no perfil JSON, fornecendo compatibilidade com a API UNIX para processamento do usuário (/ etc / password).
- PID 1: cria usuários dinamicamente (sintetizados por analogia com a diretiva DynamicUser em unidades) e os torna visíveis para o restante do sistema.
- systemd-userdbd.service: converte as contas NSS UNIX / glibc em registros JSON e fornece uma API Varlink unificada para consultar e enumerar registros.
Então, quais as vantagens?
As vantagens do sistema proposto incluem a capacidade de gerenciar usuários ao montar o diretório/etc no modo somente leitura, a ausência da necessidade de sincronizar identificadores (UID/GID) entre sistemas, independência do usuário de um computador específico, bloqueio dos dados do usuário durante o modo de suspensão, o uso de criptografia e métodos modernos de autenticação.
Finalmente, é importante mencionar que está planejado incluir esse novo componente “systemd-homed” na versão principal do systemd 244 ou 245.
Se você quiser saber mais sobre este componente, consulte o seguinte documento em pdf. O link é este. Portanto, o Systemd hospeda um novo componente para gerenciar diretórios pessoais.
Fonte: Desde Linux