como fazer login de um usuário usando o shell script [closed]

1

No meu computador eu tenho dois usuários (tigre, jenk)
Agora eu quero criar um script de shell para o usuário de login "jenk" do usuário "tigre" Eu estou tentando este código

[tiger@pagaltiger mytask]$ echo -e "IncorrectPassword\n" | su jenk
Password: su: Authentication failure
echo -e "CorrectPassword" | su jenk
[tiger@pagaltiger mytask]$

então eu sou novamente login como um usuário tigre o que está errado comigo

Eu não quero usar o recurso

    
por Tiger 08.02.2016 / 08:37

2 respostas

2

O melhor é configurar um daemon shell seguro no sistema (se ainda não estiver em execução) e usar a autenticação keypair sem pasword. Supondo que sshd já esteja em vigor, você pode efetuar login como tiger e executar os seguintes comandos:

ssh-keygen
ssh-copy-id jenk@localhost

Depois disso, tiger poderá executar um comando como jenk com a seguinte sintaxe:

ssh jenk@localhost '(some command here)'

Por exemplo:

tiger@hostname $ ssh jenk@localhost 'whoami'
jenk
tiger@hostname $
    
por 08.02.2016 / 09:15
0

Quando você executa esse comando em um pipe , ele gera um novo processo em vez de executar o comando no shell atual. O novo shell muda para o usuário jenk , mas quando esse shell sai (já que não tem mais nada a fazer), o shell original que gerou esse shell ainda está logado como você.

Se você executar o comando em um script, ele será executado em uma subchave, independentemente de estar em um pipeline ou não.

(Meu conselho é apenas digitar su jenk e depois digitar a senha; é mais simples assim.)

    
por 08.02.2016 / 08:54