O systemd 245 está disponível com a implementação de diretórios de usuário portáteis

Após três meses de desenvolvimento apresentado o lançamento do gerente de sistema systemd 245Na nova versão, foram adicionados novos componentes systemd-homed e systemd-repart, habilitada a compatibilidade com perfis de usuários portáteis no formato JSON, possibilitada a definição de espaços de nomes no systemd-journald, e adicionada suporte ao mecanismo "pidfd". Totalmente reformulado o site do projeto, onde grande parte da documentação disponível foi reunida e um novo logotipo foi proposto.

O systemd 245 está disponível com a implementação de diretórios de usuário portáteis

Principais mudanças:

  • Um serviço foi adicionado systemd-homed, que fornece gerenciamento de diretórios pessoais portáteis, entregues na forma de uma imagem de arquivo montável, cujos dados estão criptografados. O systemd-homed permite criar ambientes autossuficientes para os dados do usuário, que podem ser transferidos entre diferentes sistemas, sem se preocupar com a sincronização de identificadores e privacidade. Os parâmetros de credenciais do usuário estão vinculados ao diretório pessoal, e não às configurações do sistema — em vez de /etc/passwd, /etc/group e /etc/shadow, é utilizado um perfil no formato JSON. Para mais informações, veja o anúncio anterior systemd-homed.
  • Foi adicionado um componente auxiliar do systemd-homed chamado "userdb" ("systemd-userdb"), que traduz contas UNIX/glibc NSS em registros JSON e fornece uma API unificada Varlink para consultar e iterar sobre registros. No perfil JSON vinculado ao diretório pessoal, estão especificados os parâmetros necessários para o funcionamento do usuário, incluindo dados sobre nome, hash de senha, chaves de criptografia, cotas e recursos fornecidos. O perfil pode ser assinado digitalmente, armazenado em um token externo Yubikey. A ferramenta "userdbctl" foi proposta para gerenciar perfis. O suporte a perfis no formato JSON foi adicionado a vários componentes do systemd, incluindo systemd-logind e pam-systemd, permitindo que usuários de diretórios portáteis organizem autenticação, login, configuração de variáveis de ambiente, criação de sessões, definição de limites, entre outros. No futuro, espera-se a possibilidade de geração de perfis JSON pelo framework sssd, com armazenamento de configurações de usuários em LDAP.
  • Foi acrescentada uma nova ferramenta chamada «systemd-repart», destinada à redistribuição de tabelas de partições de disco no formato GPT. A estrutura das partições é definida de forma declarativa por meio de arquivos que descrevem quais partições devem ou podem existir. A cada inicialização, a tabela de partições real é comparada com esses arquivos, após o que partições ausentes são adicionadas ou, se o tamanho relativo ou absoluto definido nas configurações não coincidir, o tamanho das partições existentes é aumentado. Somente alterações incrementais são permitidas, ou seja, a remoção e a redução de tamanho não são possíveis, as partições podem apenas ser adicionadas e aumentadas.
    A ferramenta é principalmente projetada para ser executada a partir do initrd e identifica automaticamente o disco onde a partição raiz está localizada, não requerendo configuração adicional, além dos arquivos que definem as alterações.

    Na prática, o systemd-repart pode ser útil para imagens de sistema operacional, que inicialmente podem ser fornecidas em uma versão mínima, e após a primeira inicialização, se expandirem para o tamanho do dispositivo de bloco disponível ou serem complementadas com partições adicionais (por exemplo, a partição raiz pode ser expandida para abranger todo o disco ou, após a primeira inicialização, criar uma partição de swap ou /home). Outra aplicação pode ser configurações com duas partições que se alternam — inicialmente pode ser fornecida apenas a primeira partição, enquanto a segunda é criada na primeira inicialização.

  • Foi introduzida a capacidade de executar várias instâncias do systemd-journald, cada uma mantendo logs em seu próprio espaço de nome. Além do principal systemd-journald.service, um modelo para a criação de instâncias adicionais foi proposto, vinculado a seus próprios espaços de nome através da diretiva «LogNamespace». Cada espaço de nome de logs é gerido por um processo em segundo plano separado, com seu próprio conjunto de configurações e limites. A possibilidade proposta pode ser útil para balancear a carga em caso de grandes volumes de logs ou para melhorar a isolação de aplicações. No journalctl, foi adicionada a opção «—namespace», que limita as consultas apenas ao espaço de nome especificado.
  • No systemd-udevd e outros componentes do systemd, foi adicionada a suporte ao mecanismo de designação de nomes alternativos para interfaces de rede, permitindo que vários nomes sejam aplicados a uma única interface ao mesmo tempo. O tamanho do nome pode atingir 128 caracteres (anteriormente, o nome da interface de rede era limitado a 16 caracteres). Por padrão, o systemd-udevd agora atribui a cada interface de rede todas as variantes de nomes geradas pelos esquemas de nomenclatura suportados. Esse comportamento pode ser alterado através das novas configurações AlternativeName e AlternativeNamesPolicy nos arquivos .link. No systemd-nspawn, a geração de nomes alternativos com o nome completo do contêiner para os links veth criados no lado do host foi implementada.
  • Na API sd-event.h, foi adicionada suporte ao subsistema do núcleo Linux 'pidfd' para lidar com a situação de reuso de PID (pidfd se associa a um processo específico e não muda, enquanto o PID pode ser vinculado a outro processo após a conclusão do processo atual associado a esse PID). Todos os componentes do systemd, exceto o PID 1, foram convertidos para usar pidfds, caso esse subsistema seja suportado pelo núcleo atual.
  • No systemd-logind, através do PolicyKit, foi implementada a verificação de acesso à operação de mudança de terminal virtual. Por padrão, os privilégios para mudar o terminal ativo são concedidos apenas aos usuários que, pelo menos uma vez, iniciaram uma sessão em um terminal virtual local.
  • Para simplificar a criação de imagens initrd com systemd, o manipulador PID 1 agora determina o uso no initrd e, nesse caso, carrega automaticamente o initrd.target em vez do default.target. Com essa abordagem, as imagens initrd e do sistema principal podem diferir apenas pela presença do arquivo /etc/initrd-release.
  • Foi adicionado um novo parâmetro de linha de comando do núcleo — 'systemd.cpu_affinity', equivalente à opção CPUAffinity em /etc/systemd/system.conf e que permite configurar a máscara de afinidade de CPU para PID 1 e outros processos.
  • Foi garantida a reinicialização da base SELinux juntamente com a reinicialização do PID 1 através de comandos como 'systemctl daemon-reload'.
  • No manipulador PID 1, foi adicionada a configuração 'systemd.show-status=error', na qual apenas mensagens de erro e atrasos significativos na inicialização são exibidas no console.
  • No systemd-sysusers, foi adicionada suporte à criação de usuários com o nome do grupo principal diferente do nome do usuário.
  • No systemd-growfs, através da opção de montagem x-systemd.growfs em /etc/fstab, foi implementado o suporte para expansão de partições XFS, além da expansão de partições Ext4 e Btrfs já suportadas anteriormente.
  • Em /etc/crypttab, foi adicionada a opção x-initrd.attach para identificação de partições criptografadas que já foram desbloqueadas na fase initrd.
  • No systemd-cryptsetup, foi adicionada a opção pkcs11-uri em /etc/crypttab para desbloqueio de partições criptografadas usando cartões inteligentes PKCS#11, por exemplo, para vincular a criptografia de partições a chaves YubiKeys.
  • Em /etc/fstab, novas opções de montagem 'x-systemd.required-by' e 'x-systemd.wanted-by' foram adicionadas para configurar explicitamente as unidades que definem as operações de montagem, chamadas em vez de local-fs.target e remote-fs.target.
  • Uma nova opção de sandboxing para serviços foi adicionada — ProtectClock, que limita a gravação no relógio do sistema (acesso bloqueado no nível /dev/rtc, chamadas de sistema e permissões CAP_SYS_TIME/CAP_WAKE_ALARM).
  • Na especificação Partições Descobertas e systemd-gpt-auto-generator, foi adicionida a definição de partições.
    /var и /var/tmp.
  • No 'systemctl list-unit-files', ao exibir a lista de unidades, uma nova coluna foi adicionada, refletindo o estado de ativação sugerido nas pré-configurações do fabricante para esse tipo de unidades.
  • No 'systemctl', foi adicionada a opção '--with-dependencies', ao ativá-la, comandos como 'systemctl status' e 'systemctl cat' exibirão não apenas todas as unidades correspondentes, mas também aquelas das quais dependem.
  • No systemd-networkd, na configuração qdisc, foi adicionada a capacidade de configurar parâmetros TBF (Token Bucket Filter), SFQ (Stochastic Fairness Queuing), CoDel (Controlled-Delay Active Queue Management) e FQ (Fair Queue).
  • No systemd-networkd, foi adicionado suporte a dispositivos de rede IFB (Intermediate Functional Block).
  • No systemd-networkd, na seção [Route], foi implementado o parâmetro MultiPathRoute para a configuração de rotas multipath.
  • No systemd-networkd, para o cliente DHCPv4, foi adicionada a opção SendDecline, que, ao ser especificada, após receber a resposta DHCP com um endereço, faz uma verificação de duplicidade do endereço e, em caso de conflito, rejeita o endereço fornecido. Para o cliente DHCPv4, também foi adicionada a opção RouteMTUBytes, que permite definir o tamanho do MTU para rotas geradas a partir de atribuições de endereços IP (leases).
  • A configuração PrefixRoute na seção '[Address]' dos arquivos '.network' foi considerada obsoleta. Essa foi substituída pela configuração 'AddPrefixRoute', que possui o significado oposto.
  • Nos arquivos .network, a configuração Gateway na seção «[Route]» ganhou suporte para um novo valor «_dhcp», ao qual se define uma rota estática com base no gateway configurado via DHCP.
  • Nos arquivos .network, a seção «[RoutingPolicyRule]» agora inclui as configurações User e SuppressPrefixLength para definir roteamento de origem com base em intervalos de UID e tamanho de prefixo.
    No networkctl, o comando «status» agora exibe logs associados a cada interface de rede.
  • No systemd-networkd-wait-online, foi adicionada a opção de definir o tempo máximo de espera para que a interface entre em estado operacional e para aguardar que a interface desapareça.
  • Foi encerrado o processamento de arquivos .link e .network com seções «[Match]» vazias ou comentadas.
  • Nos arquivos .link e .network, a seção «[Match]» agora inclui a configuração «PermanentMACAddress» para verificar o endereço MAC permanente dos dispositivos em caso de uso de um MAC aleatório gerado.
  • A seção «[TrafficControlQueueingDiscipline]» nos arquivos .network foi renomeada para «[NetworkEmulator]», e o prefixo «NetworkEmulator» foi removido dos nomes das configurações associadas.
  • No systemd-resolved, para DNS-over-TLS, foi adicionada a verificação do SNI.
  • 🥇O systemd 245 está disponível com a implementação de diretórios pessoais portáveis | ProHoster

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster