Quais são as diferenças entre 'su target-user' e 'login target-user'?

0

Quais são as diferenças entre

su target-user

e

login target-user

Este último pode precisar de sudo .

Ambos me parecem criar uma sessão de login para target-user . Obrigado.

    
por Tim 04.05.2018 / 17:56

1 resposta

0

They both seem to me to create a login session for target-user.

Na realidade, eles não. su não cria uma sessão de login. Ele "alterna usuário" para executar um programa sob a égide de uma conta de usuário diferente, adicionando privilégios (os privilégios dessa conta) à totalidade de privilégios disponíveis para o usuário da sessão de login existente que é executada em.

Na verdade, o programa login não cria uma sessão de login . Ele espera que a sessão de login, com o processo executando login marcado como o processo líder da sessão e um terminal de controle anexado, já tenha sido configurado por qualquer que tenha sido chamado. login target-user , assumindo que o comando login embutido do shell C é efetivamente um exec , coopta a sessão de login já configurada existente para outra conta de usuário. Isto, obviamente, envolve riscos que são bem conhecidos por este ponto.

Isto, é claro, considerando o conceito do kernel de uma sessão de login , que envolve um líder de sessão , um terminal de controle e grupos de processos . O pessoal do sistema inventou seu próprio conceito de modo de aplicativo de uma sessão de login, gerenciada por systemd-logind em conjunto com os plug-ins do PAM. As regras são um pouco diferentes aqui, em parte porque as pessoas do systemd as alteraram combinando a parada do serviço no desligamento com a interrupção da sessão (e ainda precisam corrigir isso). Mas su não cria esse tipo de sessão de login.

Leitura adicional

por 04.05.2018 / 19:19

Tags