É necessário que um shell de login crie uma entrada para o utmp?

2

Minha observação:

  1. Se eu abrir um novo terminal (gnome / lx) :

    • Novo / dev / pts / X é usado
    • who não lista estes
    • O primeiro caractere de echo $0 não é - , portanto, não é um shell de login.
  2. Se eu ssh na mesma máquina com o mesmo usuário

    • Novo / dev / pts / X é usado
    • who lista estes
    • O primeiro caractere de echo $0 é - , então é um shell de login.
  3. Se eu abrir um novo tty (ctrl-alt-Fxx)

    • Novo / dev / ttyXX é usado
    • who lista estes
    • O primeiro caractere de echo $0 é - , então é um shell de login.
  4. Se eu executar su -

    • O mesmo / dev / pts / X é usado (onde su - foi emitido)
    • who não lista esses
    • O primeiro caractere de echo $0 é - , então é um shell de login.

Conclusão:

  1. Criar uma nova pty não cria automaticamente uma entrada em utmp (?)

Pergunta:

  1. Se who exibir a lista de usuários conectados no momento, ele deverá exibir entradas para cada shell de login (?). Mas ele não exibe entradas do usuário root logadas em su - , por quê?

EDIT: Outra coisa que posso concluir neste ponto é: "Tem que ser um novo pty / tty e um shell de login, então apenas uma nova entrada é criada em utmp"

    
por P Pang 25.08.2017 / 07:14

1 resposta

2

Primeiro, who não se importa com os shell de login, ou qualquer coisa assim. Apenas copia utmp entradas. Você pode ter uma entrada para terminais que não sejam de login; para sessões gráficas; para conexões FTP (com um nome tty "line" completamente confeccionado); para qualquer coisa.

Segundo, as entradas utmp são criadas manualmente - você só recebe uma entrada se o programa que processa suas chamadas de login pututline(…) . Por exemplo, o sshd sempre faz isso, os emuladores de terminal frequentemente fazem isso (mas nem sempre), e su nunca faz isso.

(Lembre-se que su não aloca um novo pty, então ele não pode adicionar uma entrada de utmp - caso contrário você acabaria com várias entradas para o mesmo tty, o que pode confundir alguns programas). / p>     

por 28.08.2017 / 08:15

Tags