Troca de usuário usando a senha do arquivo

0

como posso mudar o usuário usando o comando su e adicionando a senha do arquivo? Eu quero fazer um script que irá alternar automaticamente o usuário, tendo o usuário ea senha, em vez de digitar manualmente a senha? P.S. Eu não tenho direitos de superusuário.

    
por Claudiu Bbn 20.07.2016 / 13:10

2 respostas

0

Normalmente, programas como su exigem que senhas sejam inseridas no terminal e não podem ser ignoradas. O usuário root não precisa inserir uma senha para alternar para outra, por isso é comum ver soluções como sudo su user .

No entanto, podemos ser capazes de trapacear. Se você tem o comando expect em seu sistema, então podemos falsificar digitando a senha

#!/usr/bin/expect -f

set user [lindex $argv 0]
set password [lindex $argv 1]

spawn /bin/su $user

expect "Password:"
send "$password\r";

interact

Com este programa você pode fazer

./autosu username password

por exemplo

% autosu root imnottellingyou
spawn su root
Password: 
[root@server /]# 

Normalmente, não é uma boa idéia fazer exatamente isso, pois a senha aparecerá no histórico do shell quando você digitá-lo na linha de comando. Mas se você tiver a senha dentro de um script ou arquivo de dados, isso não importa muito! Você deve poder modificar este exemplo simples para atender às suas necessidades.

Se você não tiver o expect instalado, ficará mais difícil; pergunte ao seu administrador para instalá-lo, ou compilá-lo a partir do código-fonte e executá-lo em seu diretório!

    
por 20.07.2016 / 14:02
0

A melhor opção é usar regras do Sudo
Senhas seguras no arquivo de texto estão no top 10 errado pratice IT. mas se você quiser usar você deve rememebr parwd não é lido de stdin mas de tty então você pode usar expect (* 1), mas isso ainda é errado. Beter opção é usar sudo ou sshkey você pode acessar a conta ssh usando a chave pública para o endereço localhost.

não tente su - username <<< password

ou

    su username << - _EOF_ 
    you_password 
    whoami
    _EOF_

isso só pode executar o comando em outro sheell e fornecer a saída.

* 1 link

    
por 20.07.2016 / 14:17