O Systemd mudará o funcionamento do seu diretório pessoal do Linux


0
O diretório / home destacado em um gerenciador de arquivos Linux gráfico.
isak55 / Shutterstock

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 sobre systemd-homed, que provavelmente está chegando a uma distro Linux perto de você.

Não é estranho à controvérsia

Quando systemd foi introduzido em 2010, a comunidade Linux dividida em três campos. Alguns pensaram que era uma melhoria, e outros pensaram que era um design defeituoso que não seguia a 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, até recebeu ameaças de morte.

Músicas que defendem a violência contra Poettering foram postadas no YouTube, e sites apareceram tentando coagir usuários 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, pode bifurcar o código-fonte e fazer seu próprio trabalho com ele. Novas distribuições – como Devuan, que era um fork do Debian – foram criadas exclusivamente para evitar o uso systemd.

RELACIONADOS: Como gerenciar serviços Systemd em um sistema Linux

Seu diretório $ HOME

Na estrutura de diretório 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 nome de arquivo ou 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 copiadas.

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 o -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.

ls em uma janela de terminal.

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.”

RELACIONADOS: A estrutura de diretório do Linux, explicada

Dados sobre você

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

cat / etc / passwd em uma janela de terminal.

RELACIONADOS: Como alterar os dados do usuário com chfn e usermod no Linux

As mudanças do systemd-homed

A intenção do systemd-homed mudanças é fornecer um diretório home totalmente portátil com seus dados e a identidade digital 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”. Ele é 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 o aplicativo está 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).

Quais são os benefícios?

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 um drive USB para movê-lo entre suas máquinas de 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.

Gerenciando Seu Novo $ HOME

o systemd-homed o serviço é controlado por meio do novo 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 estejam 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.

Limitações e problemas

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.

Existe um problema conhecido 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 fazer a autenticação antes de fazer o login.

Este foi um problema reconhecido pelo systemd-homed equipe, mas não encontramos nenhuma referência sobre uma solução para isso. 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 recursiva e automática 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.

RELACIONADOS: Como criar e instalar chaves SSH a partir do shell do Linux

Quando isso vai acontecer?

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 de systemd, que acompanha o Ubuntu 20.04 em abril de 2020.

Para verificar qual versão você tem, digite o seguinte:

systemd --version

systemd --version em uma janela de terminal.

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.

Claro, 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.

RELACIONADOS: O que há de novo no Ubuntu 20.04 LTS “Focal Fossa”


Like it? Share with your friends!

0

0 Comments

Your email address will not be published. Required fields are marked *