Lennart Poettering apresentou na conferência All Systems Go 2019, um novo componente do gerenciador de sistema systemd, "Systemd-homed" Qual destina-se a garantir a portabilidade dos diretórios pessoais dos usuários e sua separação da configuração do sistema.
A ideia principal do projeto é criar ambientes autônomos para os dados do usuário que podem ser transferidos entre diferentes sistemas sem se preocupar com a sincronização de identificadores e privacidade. O ambiente do diretório inicial é fornecido na forma de um arquivo de imagem montado, cujos dados são criptografados.
As credenciais do usuário estão vinculadas ao diretório inicial, não à configuração do sistema; em vez de / etc / passwd e / etc / shadow, um perfil de 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, cotas e recursos fornecidos. O perfil pode ser autenticado usando uma assinatura digital armazenada em um token Yubikey externo.
Cada diretório que ele gerencia encapsula o armazenamento de dados e o registro do usuário do usuário, de modo que descreva de forma abrangente 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, e-mail, 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 aplicáveis / SMTP, informações de habilitação de controle dos pais, opções de backup, etc.
Varlink API é fornecido para consultar e analisar parâmetros.
O UID / GID é atribuído dinamicamente e processado em cada sistema local ao qual o diretório inicial está conectado.
Usando o sistema proposto, o usuário pode manter seu diretório pessoal com ele.l, por exemplo, em uma unidade Flash e obtenho um ambiente de trabalho em qualquer computador sem criar explicitamente uma conta nele (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 que você use outros back-ends, por exemplo, para diretórios não criptografados, Btrfs, Fscrypt e partições de rede CIFS.
Para gerenciar diretórios portáteis, é proposto o utilitário homectl, que permite criar e ativar imagens de diretórios principais, bem como 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 incorpora registros JSON diretamente nas imagens do diretório inicial.
- pam_systemd: processa os parâmetros de perfil JSON quando um usuário efetua login e os aplica no contexto de uma sessão acionada (realiza 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 NSS clássicas com base no perfil JSON, fornecendo suporte à API UNIX para processamento de usuário (/ etc / senha).
- PID1: cria usuários dinamicamente (sintetiza por analogia com a diretiva DynamicUser em unidades) e os torna visíveis para o resto do sistema.
- systemd-userdbd.service: traduz contas UNIX / glibc NSS em registros JSON e fornece uma API Varlink unificada para consultar e listar registros.
As vantagens do sistema proposto incluem a capacidade de gerenciar usuários montando o diretório / etc em modo somente leitura, a ausência da necessidade de sincronizar identificadores (UID / GID) entre os sistemas, a independência do usuário de um computador específico, travamento dados do usuário durante o modo de espera, usando criptografia e métodos de autenticação modernos.
Finalmente, é importante mencionar que está planejado incluir este novo componente "Systemd-homed" na versão principal do systemd 244 ou 245.
Se você quiser saber mais sobre este componente, pode consultar o seguinte documento pdf.
Eu tenho medo disso
Vamos lá, se você perder ou roubar aquele pen drive que você mencionou com a quantidade de dados que ele armazena, você quase pode se entregar de tanto aborrecimento.
Por várias razões, a ideia parece totalmente absurda para mim. Que hábito ele tem de querer mudar coisas que na minha humilde opinião estão indo bem e duvido que ver a história dessas pessoas melhore a segurança.
Felizmente, estou no Artix agora e estou me livrando de toda essa coleção de bobagens, embora não saiba por quanto tempo as distros free systemd serão capazes de resistir.
Concordo com o que você fala, do meu ponto de vista a ideia é boa, mas falta a parte da segurança (algum tipo de criptografia)
systemd é uma merda !!