Enquanto estiver logado como root
gostaria su
de um usuário regular específico. Eu corro su username
e imediatamente recebo o prompt de volta, ainda como root. Não há nenhum erro. Estou ciente do antigo problema "o usuário que você está tentando processar não tem permissão para a pasta em que está atualmente" e esse não é o caso neste cenário. Além disso, não há erro exibido, o que sempre acontece (tanto quanto eu sei) quando esse problema de permissões específico é encontrado.
Eu tentei su - username
com o mesmo efeito. O comando é processado, nenhum erro é visto e eu recebo o prompt imediatamente.
O que poderia estar causando esse comportamento? Como posso solucionar isso?
/bin/false
?sudo -u username -s
(ou-i
) BTW./etc/passwd
ontem à noite e não foi assim! =) Você pode colocar isso como resposta? Eu aceito.Respostas:
Verifique em qual shell o usuário está
/etc/passwd
. Se o shell for/bin/false
(um shell comum para proibir logins), você verá o comportamento que descreve. Como alternativa, pode ser outro programa de encerramento imediato que fornece o mesmo resultado efetivo.fonte
/bin/false
como shell, poderá fazê-losu - user -s /bin/sh
.Eu sugiro usar strace no processo su para ver onde o processo está falhando.
Deve fornecer MUITOS resultados de saída, mas algo deve indicar onde o problema está ocorrendo.
fonte
Você deve fazer o check-in do shell
/etc/passwd
e, sem desejar ser condescendente, verifique a saídawhoami
após a execuçãosu
.fonte
root
e não o usuário para o qual estava tentando mudar.Verifique os logs do sistema: o uso do sudo deve registrar todas as ações. Portanto, se houver um problema, ele deve ser escrito.
fonte