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 .