Pré -requisitos
Antes de começar, verifique se você tem acesso ao shell de um sistema Linux; Qualquer distribuição do Linux vai se sair bem. Neste guia, estamos executando o Ubuntu 18.04.
Igualmente crucial é garantir que você tenha um script de shell com permissões de execução. Temos um script de shell simples chamado Bem-vindo.sh Isso solicita o nome de um usuário e o imprime no terminal. Aqui está uma prévia.
Como executar um script de shell como outro usuário
Normalmente, executar um script de shell como o usuário atualmente conectado é bastante fácil. Basta ligar para o script do shell da seguinte maneira:
$ ./Bem-vindo.sh
Mas como você executaria o script como outro usuário além de si mesmo? Para conseguir isso, basta usar a sintaxe mostrada onde o OUTROUSER é o usuário diferente que você deseja executar o script.
$ su Outrouser -s Script.sh
Suponha que queremos executar o script como o linuxways do utilizador. O comando a ser executado será:
$ su Linuxways -S Welcome.sh
Para confirmar que o outro usuário executou o script, executaremos o comando como mostrado.
$ sudo -h -u Othersuser Bash -C 'Echo "Eu sou $ usuário, com uid $ uid"'
Nesse caso, nosso outro usuário é linuxways, Então, devemos invocar o comando.
$ sudo -h -u linuxways bash -c 'echo "eu sou $ usuário, com uid $ uid"'
O $ Usuário e $ Uid Variáveis Imprimem o nome de usuário e o UID do usuário executando o script. Em caso de dúvida ou caso você queira verificar isso, você pode ver o /etc/passwd Arquive e pesquise os detalhes do usuário da seguinte forma.
$ cat /etc /passwd | Grep linuxways
Aqui está um resumo da saída de ambos os comandos. Observe como o nome de usuário e o UID de executar o script do shell correspondem aos do /etc/passwd arquivo.
Conclusão
Se você se perguntou como executar um script de shell como outro usuário, esperamos que sua pesquisa tenha chegado ao fim.