Como verificar usuario root no Linux através de Shell Script?

Como faço pra identificar se o usuario está ou não logado como root pelo shell script?

Quero algo generico que funcione em qualquer distribuição…
Por exemplo

“$USER” = "root"
funciona apenas no ubuntu… mas nao funciona no fedora…

Provavelmente no fedora nem tem no profile a criação da variavel USER, basta alterar o profile, mas pra deixar isso independente de variavel use o comando uname pra saber o usuario e grupo do usuario

[quote=schkr4b]Como faço pra identificar se o usuario está ou não logado como root pelo shell script?

Quero algo generico que funcione em qualquer distribuição…
Por exemplo

“$USER” = "root"
funciona apenas no ubuntu… mas nao funciona no fedora…[/quote]

Já tentou usar o comando whoami

Um exemplo do que o Luiz Claudio disse:

Lembre-se que whoami tem de ser cercado por backquotes (caracter ASCII 96), ou seja, `

if [ `whoami` == 'root' ] then
    echo I am root
else
    echo I am not root
fi

Obrigado.
Problema foi resolvido utilizando o whoami

O uname mostra dados do sistema apenas… Não mostrou nada do usuario…
Dei uma olhada no --help e n falou nada a respeito…

Vlw galera!

E se o usuário não se chamar root, entretanto tiver permissões de root? Isto não é incomum.

Verdade… nesse caso pode ser feito teste pelo ID do usuário, com o comando id -u. Usuários com poder de root tem o ID = 0.

A forma mais seguro seria se você verificasse através do uid, se ele for 0 é root, caso contrario, não é root.

#!/bin/bash if [ "$(id -u)" != "0" ]; then echo echo "Voce deve executar este script como root! " else echo "Voce e root!" fi

Outra alternativa

if [ “$UID” -ne 0 ]
then
echo "Voce deve ter poder de root par executar este scrip."
exit
fi

fonte: baseado no exemplo de “Advanced Bash-Scripting Guide”, capitulo 2, pg 4.