Drop `su' — engoliu SIGWINCH, para que nenhum terminal nunca redimensionado

FixKlusterServices
Navios
3 de setembro de 2026 às 19:11 UTC
Autor
Kamo
Enviar
0b5b8a3

Apanhado por executar o protocolo contra a máquina viva, não por lê-lo: após um quadro de controle de redimensionamento, `tput cols' na shell ainda relatou o tamanho O terminal abriu em. `su` FORKS em vez de executivos, então o cliente tmux sentou-se em um grupo de processo diferente do primeiro plano do PTY, e do SIGWINCH o kernel aumenta em TIOCSWINSZ Foi para o 'su', que o ignora. Cada shell enrolado em qualquer largura da janela Primeiro tinha, e menos, vim e htop atraído para o errado. O agente já é root, então agora ele deixa os privilégios em si — initgroups, setgid, Setuid, chdir — e execs tmux directamente. tmux torna-se o processo de primeiro plano do PTY e o sinal pousa onde está destinado. Três coisas caem dela, todas elas melhorias: * O ambiente infantil é agora construído em vez de herdado, e isso é um limite de segurança, não tidiness. O ambiente deste processo mantém KAMO DESKTOP AGENT TOKEN — o símbolo portador de cada operação de conta em esta máquina — e uma criança que herdou os.environ a entregaria ao Shell de membro, onde 'env' imprime. 'su - ' aconteceu para limpar; nada Estava a contar com isso de propósito. * Nenhum shell analisa mais uma string de comandos neste caminho. argv é um lista das partes validadas. * Nenhuma sessão PAM é aberta, então um terminal não registra mais uma sessão de login que o loginctl contaria com o um-desktop-session-por-usuário desta máquina política. Abrir um terminal nunca deve ser capaz de obter o ecrã de alguém Colhido. A verificação da conta ativa no manipulador agora carrega todo o peso, uma vez que su teria recusado uma senha bloqueada e o setuid não. Já estava. lá; agora é carga-suporte e diz assim. Além disso: a bomba retorna em vez de levantar quando seu par desaparece no meio da seleção (EBADF/ECONNRESET). Esta é a extremidade normal de um terminal — uma aba fechada — não Uma falha. 113 testes, incluindo um que coloca um token falso em os.environ e afirma que faz Não alcançar a criança.

Todas as alterações

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços