su - USER -c não executa comandos via SSH com pseudo-terminal

0

Eu estou tentando executar um comando como root sobre ssh usando autenticação por senha, mas eu preciso das variáveis de env raiz para que meu comando funcione, é por isso que eu tenho que usar "su -". Considere o seguinte exemplo de comando:

ssh -tt user@host "su - root -c pwd"

Depois de inserir todas as senhas, em vez de o pwd ser executado, recebo o prompt de root:

VM_41[root@nm65-01:root]# ssh -tt user@host "su - root -c pwd"
Password:
VM_42[root@nm65-02:root]# 

Por que isso acontece? Isso não acontece se eu não alocar um pseudo-terminal, eu ainda posso digitar a senha, e o pwd é executado corretamente. Também é bem sucedido quando eu uso -tt e su sem -, bem como quando eu corro su --c pwd.

O problema também é visível para outros comandos de login (por exemplo, bash -l).

    
por Konrad Wadsa 23.07.2018 / 11:22

0 respostas

Tags