Como fazer login como usuário diferente dentro do shell script e executar um conjunto de comandos?

1

Meu requisito é fazer o login como um usuário diferente, o que requer autenticação de senha e executar alguns comandos como esse usuário dentro de um script de shell que eu executo a partir de minha conta de usuário.

exemplo: user1 está executando o script. O requisito é fazer o login como usuário2 usando senha e executar um conjunto de comandos usando um único script de shell.

    
por Girish Sunkara 26.04.2017 / 06:32

2 respostas

5

Você pode usar várias maneiras:

  1. Usando su . Via su você pode executar o comando desta maneira:

su user -c "command"

ou

su - user -c "command"

a diferença é que quando você tem traço, você terá o ambiente do usuário alvo. Com este comando você será perguntado pela senha do usuário alvo

  1. Usando sudo :

sudo -u user "command"

Com este comando você o executa com ou sem senha (sua senha)

  1. Usando ssh :

Com ssh você pode executar o comando com senha para usuário, senha para a chave (se houver)

ssh user@localhost "command"

P.S. Existem também outros métodos possíveis que raramente são possíveis como o rsh

    
por 26.04.2017 / 08:46
0

Usar o comando su [username] permite que você execute um comando no contexto desse usuário, a partir do local atual. Usando o comando a seguir, su - [username] alterna para o diretório inicial desses usuários. Se você omitir o nome de usuário, você está mudando para root.

    
por 26.04.2017 / 07:42