Como o chsh impede que os usuários alterem o shell de outro usuário?

3

Eu sei que chsh é usado para alterar o shell de login de um usuário modificando /etc/passwd . Portanto, em princípio, qualquer um poderia executar esse comando e alterar o shell padrão de outro usuário, mas isso não é permitido.

Como isso é interrompido em chsh ?

    
por Kaustav 30.05.2016 / 17:59

1 resposta

3

chsh é setuid , portanto, ele pode ser executado em um contexto que significa que os usuários podem executar ações com privilégios de root. Qualquer coisa definida deve ser escrita com muito cuidado para não permitir um escalonamento de privilégios. chsh é escrito em C e aparece verifique se a pessoa que está executando o programa é a mesma que o usuário que você está pedindo para alterar .

    
por 30.05.2016 / 18:18