A equipe por trás systemd
deseja que você adote uma nova maneira de gerenciar diretórios pessoais. Chamar isso de “nova maneira” é ser leviano – essa é uma verdadeira mudança de paradigma para o Linux. Aqui está tudo o que você precisa saber systemd-homed
, o que provavelmente virá para uma distribuição Linux perto de você.
Índice
Quando systemd
foi introduzido em 2010, a comunidade Linux se dividiu em três campos. Alguns pensaram que era uma melhoria, e outros pensaram que era um design defeituoso que não aderia à filosofia Unix . E alguns não se importavam de uma forma ou de outra.
A reação dos opositores foi alta, acalorada e, em alguns casos, quase fanática. Lennart Poettering , engenheiro de software da Red Hat e co-desenvolvedor do systemd, recebeu até ameaças de morte.
Músicas defendendo a violência contra Poettering foram postadas no YouTube, e sites apareceram tentando coagir os usuários do Linux a boicotar systemd
. Seu co-desenvolvedor, Kay Sievers , também recebeu críticas e abusos, mas Poettering certamente suportou o peso disso.
Mesmo assim, em oito meses, o Fedora estava usando systemd
. No final de 2013, Arch , Debian , Manjaro e Ubuntu foram todos transferidos para systemd
. Obviamente, a glória do código aberto é que, se você não gosta de algo, você pode bifurcar o código-fonte e fazer o que quiser com ele. Novas distribuições – como Devuan , que era um fork do Debian – foram criadas exclusivamente para evitar o uso systemd
.
Na estrutura de diretórios do Linux , tudo que você faz reside no diretório “/ home”. Seus arquivos de dados, imagens, música e toda a árvore de diretório pessoal são armazenados neste diretório com o nome de sua conta de usuário.
As configurações de seus aplicativos são armazenadas em sua pasta inicial em “diretórios de pontos” ocultos. Se o primeiro caractere de um arquivo ou nome de diretório for um ponto (.), Ele estará oculto. Como essas configurações são armazenadas localmente e não em um registro central – e porque um backup do seu diretório inicial inclui esses arquivos e pastas ocultos – todas as suas configurações também são submetidas a backup.
Quando você restaura um backup e abre um aplicativo, como o LibreOffice ou Thunderbird, ele procura seu diretório oculto. Ele também encontra suas preferências de documento, configurações da barra de ferramentas e quaisquer outras personalizações. Thunderbird encontra suas informações de conta de e-mail e seu e-mail. Você não precisa passar pela dor de configurar cada aplicativo lentamente.
Você pode usar ls
com a -a
opção (todos) para ver arquivos e diretórios ocultos. Primeiro, digite o seguinte:
ls
Isso mostra os arquivos e diretórios regulares. Em seguida, digite o seguinte:
ls -a
Agora, você pode ver os arquivos e diretórios ocultos.
Por ser a parte mais preciosa de uma instalação, é comum que o diretório “/ home” seja montado em sua própria partição ou em um disco rígido separado. Dessa forma, se algo catastrófico acontecer ao sistema operacional ou à partição em que ele está, você pode reinstalar sua distribuição Linux ou trocar por uma nova. Em seguida, você pode simplesmente remontar sua partição inicial existente em “/ home.”
Seu diretório pessoal não apenas armazena seus dados; ele também armazena informações sobre você. incluindo alguns atributos de sua identidade digital. Por exemplo, seu diretório “.ssh” armazena informações sobre conexões remotas que você fez a outros computadores e quaisquer chaves SSH que você gerou.
Outros atributos do sistema, como nome de usuário da conta, senha e ID de usuário exclusivo , são armazenados em outros lugares em arquivos como “/ etc / passwd” e “/ etc / shadow”. Qualquer um pode ler alguns deles, mas outros só podem ser lidos por pessoas que têm privilégios de root.
É assim que o conteúdo do arquivo “/ etc / passwd” se parece:
cat / etc / passwd
A intenção das systemd-homed
mudanças é fornecer um diretório home totalmente portátil com seus dados e a identidade digital do Linux armazenada nele. Seu UID e todos os outros mecanismos de identificação e autenticação serão armazenados apenas em seu diretório inicial.
Devido ao seu design “todos os ovos em uma cesta”, os diretórios pessoais são criptografados. Eles são descriptografados automaticamente sempre que você faz login e criptografados novamente sempre que você sai. O método preferido é usar a criptografia de disco Linux Unified Key Setup (LUKS). No entanto, existem outros esquemas disponíveis, como fscrypt .
Um registro de usuário JavaScript Object Notation (JSON) armazena todas as suas informações de identidade em um diretório chamado “~ / .identity”. É assinado criptograficamente com uma chave que está fora do seu controle.
O diretório inicial de cada pessoa é montado em um dispositivo de loopback, semelhante à maneira como um snap
aplicativo é montado. Isso ocorre para que a árvore de diretórios dentro do diretório inicial apareça como uma parte integrada da árvore de diretórios do sistema operacional. O padrão do ponto de montagem é “/home/$USER.homedir” (“$ USER” é substituído pelo nome da conta da pessoa).
Como seu diretório inicial se torna um encapsulamento seguro de todos os seus dados, você pode até mesmo ter seu diretório inicial em um dispositivo removível. Por exemplo, você pode usar uma unidade USB para movê-lo entre as máquinas do trabalho e de casa ou qualquer outro systemd-homed
computador.
Isso é o que Poettering quis dizer com “um diretório inicial totalmente portátil”. Ele disse que mesmo se você não quiser mover seu diretório inicial em um dispositivo portátil, isso tornará as atualizações e migrações mais fáceis e aumentará a segurança.
Ele remove o que ele chama de “bancos de dados secundários”, que contêm fragmentos de informações importantes sobre você que Poettering acha que deveriam ser centralizados. Os arquivos “/ etc / passwd” e “/ etc / shadow” contêm informações de autenticação e senhas com hash. No entanto, eles também contêm informações como seu shell padrão, o campo General Electric Comprehensive Operating Supervisor (GECOS).
Poettering disse que esses metadados devem ser racionalizados e armazenados em grupos significativos dentro do registro JSON de cada pessoa em seu diretório inicial.
O systemd-homed
serviço é controlado por meio da nova homectl
ferramenta de linha de comando .
Existem opções para criar usuários e diretórios pessoais e definir limites de armazenamento para cada usuário. Você também pode definir a senha, bloquear alguém de sua conta ou excluir uma conta completamente. Os usuários podem ser inspecionados e seus registros de usuário JSON também podem ser lidos.
Os fusos horários e outras informações baseadas na localização também podem ser definidos para cada usuário. Você pode especificar o shell padrão e até mesmo definir variáveis de ambiente para que fiquem em um determinado estado sempre que alguém fizer login.
Se você olhar no diretório “/ home”, verá systemd-homed
entradas gerenciadas que se parecem com o seguinte, com “.homedir” anexado ao nome de usuário:
/home/dave.homedir
Lembre-se de que este é apenas um ponto de montagem. A localização do diretório inicial criptografado real está em outro lugar.
systemd-homed
é apenas para uso em contas de usuário de humanos. Ele não pode lidar com contas de usuário com um UID inferior a 1.000. Em outras palavras, root, daemon, bin e assim por diante não podem ser administrados usando o novo esquema. Sempre haverá a necessidade de formas padrão de administração de usuários. Portanto, systemd-homed
não é uma solução global.
Há um conhecido catch-22 que precisa ser resolvido. Como mencionamos anteriormente, o diretório inicial de uma pessoa é descriptografado sempre que ela faz login. Mas se alguém estiver acessando remotamente o computador por SSH, as chaves SSH no diretório inicial não podem ser referenciadas porque o diretório inicial ainda está criptografado até que a pessoa faz o login. Claro, é preciso usar as chaves SSH para autenticação antes de fazer o login.
Esse era um problema reconhecido pela systemd-homed
equipe, mas não foi possível encontrar nenhuma referência sobre uma solução para ele. Temos certeza de que eles encontrarão uma solução; seria uma queda espetacular se não o fizessem.
Digamos que alguém transporte seu diretório pessoal para uma nova máquina. Se o UID já estiver sendo usado na nova máquina por outra pessoa, ele receberá um novo UID automaticamente. Obviamente, todos os seus arquivos terão que ter sua propriedade reatribuída para o novo UID.
Atualmente, isso está sendo tratado por uma aplicação automática recursiva do chown -R
comando . Isso provavelmente será tratado de forma diferente no futuro, quando um esquema mais elegante for desenvolvido. Essa abordagem pesada não leva em consideração os daemons e processos que são executados como outros usuários.
Isso está acontecendo agora. As alterações de código foram enviadas em 20 de janeiro de 2020 e incluídas na compilação 245 do systemd
, que acompanha o Ubuntu 20.04 em abril de 2020.
Para verificar qual versão você tem, digite o seguinte:
systemd --version
O homectl
comando ainda não está presente, no entanto. Ubuntu 20.04 usa um diretório tradicional / home e não usa systemd-homed.
Obviamente, cabe às distribuições individuais decidir quando incluirão e oferecerão suporte systemd-homed
e homectl
.
Portanto, não há necessidade de ninguém entrar no modo forcados e tochas acesas. Como os métodos padrão de gerenciamento de usuários e diretórios pessoais permanecerão, todos ainda teremos opções.
Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…
Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…
A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…
A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…
O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…
Para ver suas fotos mais de perto ou para uma edição precisa , você pode…