Verifique se um script está sendo executado como usuário root no Linux

Verifique se um script está sendo executado como usuário root no Linux

Às vezes, os scripts do shell são necessários para executar como usuário root para executar algumas tarefas com privilégios de administrador. Geralmente, essas tarefas podem ser alcançadas com os comandos sudo. Se, em alguns casos.

Verifique se um script de shell está executando como usuário root

Adicione o seguinte código no início do script do shell para verificar se o script está funcionando como o usuário root. Se o script for executado como uma conta não raiz, ele sairá com o código de status 1.

#!/usr/bin/Env Bash se ["$ euid" -ne 0]; então eco ", execute este script como usuário root" Sair 1 FI
123456#!/usr/bin/Env Bash se ["$ euid" -ne 0]; então eco ", execute este script como usuário root" Sair 1fi

Aqui o Euid é a variável do sistema que armazenou o ID do usuário (UID) do usuário atualmente conectado. O UID do usuário "root" é sempre 0 nos sistemas Linux.

Em vez de usar o UID, você também pode corresponder ao nome de usuário conectado. O Quem sou eu O comando fornece o nome de usuário atualmente registrado. O script abaixo verificará se o script está sendo executado como um usuário root ou não.

#!/usr/bin/Env Bash se ['whoami' != 'root']; então echo "Por favor, execute este script como usuário root" Sair 1 fi
123456#!/usr/bin/Env Bash se ['whoami' != 'root']; então echo "Por favor, execute este script como usuário root" Sair 1fi

Verifique se um script de shell em execução como usuário sem raiz

Às vezes, os scripts são necessários para executar como uma conta não raiz. Nesse caso, você pode adicionar o seguinte snippet para verificar uma conta de usuário e continuar apenas se o script estiver executando como um usuário normal.

#!/usr/bin/Env Bash se ["$ euid" -eq 0]; então eco ", execute este script como usuário que não seja de raiz" Saia 1 FI
123456#!/usr/bin/Env Bash se ["$ euid" -eq 0]; então eco "Por favor, execute este script como usuário que não é uma raízes" Exit 1Fi

Conclusão

Neste rápido guia de instruções, você aprendeu sobre a adição de restrições em um script de shell para ser executado como usuário root ou usuário sem raios. Se estiver executando um usuário diferente, o script sairá imediatamente.