Para qual usuário você quer mudar?
O problema é que você está tentando "su" em um usuário que não possui um shell atribuído a ele. A maioria dos usuários, como mysql, pulse, etc, criados pelo sistema ou por alguns pacotes quando você instala o software, não possui um shell atribuído.
Você pode verificar se um usuário tem um shell atribuído olhando o arquivo /etc/passwd
, basta olhar para o final da linha de cada usuário, se ele diz que /bin/false
significa que ele não tem um shell atribuído , se tiver algo como /bin/bash
ou qualquer outro shell, você poderá "su" nesse usuário.
Quando eu digo "shell atribuído", basicamente significa que ele tem "acesso ao shell"
ainda se o usuário não tiver acesso ao shell, você sempre pode executar comandos como aquele usuário com
sudo -u user command