Valeu Sérgio,
era exatamente isto que procurava, só que tive que adicionar o "- root" no su,
porque senão quando logava como root o $USER ainda retornava o nome do usuario
e não "root".
Obrigado!!!!
Rafael
[EMAIL PROTECTED] ~/teste $ cat su.sh
#!/bin/sh
[ $USER == "root" ] || {
su - root -c "sh su.sh";
exit;
}
echo "Oi";
exit;
----- Mensagem original ----
De: Sérgio Durigan Júnior <[EMAIL PROTECTED]>
Para: [email protected]
Enviadas: Quarta-feira, 2 de Maio de 2007 17:09:37
Assunto: Re: [shell-script] Login como root
On 5/2/07, Rafa Pongai <[EMAIL PROTECTED] com.br> wrote:
> estou fazendo um script que só irá funcionar com o usuário root, e gostaria
> de fazer esta verificação no script e caso não seja o "root" chamar um "su",
> o problema é que quando chamo o "su", ele abre um outro terminal e só
> continua o script quando dou um "exit" no novo bash que o "su" criou, alguém
> teria alguma idéia para eu poder fazer isto??
Rafa,
Pensando um pouquinho, cheguei à seguinte solução:
[EMAIL PROTECTED] ~/teste $ cat su.sh
#!/bin/sh
[ $USER == "root" ] || {
su -c "sh su.sh";
exit;
}
echo "Oi";
exit;
Usei o parâmetro "-c" do "su" para executar um comando, que no caso é
o próprio script que estou rodando. Depois que eu executo esse script
(aí sim com permissão de root!), eu saio fora... Repare que talvez
seja interessante fazer umas checagens pra ver se o usuário conseguiu
se logar com o "su", e talvez imprimir uma mensagem de erro se não
deu... Tenta aí, deve funcionar com você também ;-)
[]s
Sérgio.
<!--
#ygrp-mlmsg {font-size:13px;font-family:arial, helvetica, clean, sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial, helvetica, clean,
sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;}
#ygrp-tpmsgs{
font-family:Arial;
clear:both;}
#ygrp-vitnav{
padding-top:10px;font-family:Verdana;font-size:77%;margin:0;}
#ygrp-vitnav a{
padding:0 1px;}
#ygrp-actbar{
clear:both;margin:25px 0;white-space:nowrap;color:#666;text-align:right;}
#ygrp-actbar .left{
float:left;white-space:nowrap;}
.bld{font-weight:bold;}
#ygrp-grft{
font-family:Verdana;font-size:77%;padding:15px 0;}
#ygrp-ft{
font-family:verdana;font-size:77%;border-top:1px solid #666;
padding:5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom:10px;}
#ygrp-vital{
background-color:#e0ecee;margin-bottom:20px;padding:2px 0 8px 8px;}
#ygrp-vital #vithd{
font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-transform:uppercase;}
#ygrp-vital ul{
padding:0;margin:2px 0;}
#ygrp-vital ul li{
list-style-type:none;clear:both;border:1px solid #e0ecee;
}
#ygrp-vital ul li .ct{
font-weight:bold;color:#ff7900;float:right;width:2em;text-align:right;padding-right:.5em;}
#ygrp-vital ul li .cat{
font-weight:bold;}
#ygrp-vital a {
text-decoration:none;}
#ygrp-vital a:hover{
text-decoration:underline;}
#ygrp-sponsor #hd{
color:#999;font-size:77%;}
#ygrp-sponsor #ov{
padding:6px 13px;background-color:#e0ecee;margin-bottom:20px;}
#ygrp-sponsor #ov ul{
padding:0 0 0 8px;margin:0;}
#ygrp-sponsor #ov li{
list-style-type:square;padding:6px 0;font-size:77%;}
#ygrp-sponsor #ov li a{
text-decoration:none;font-size:130%;}
#ygrp-sponsor #nc {
background-color:#eee;margin-bottom:20px;padding:0 8px;}
#ygrp-sponsor .ad{
padding:8px 0;}
#ygrp-sponsor .ad #hd1{
font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-height:122%;}
#ygrp-sponsor .ad a{
text-decoration:none;}
#ygrp-sponsor .ad a:hover{
text-decoration:underline;}
#ygrp-sponsor .ad p{
margin:0;}
o {font-size:0;}
.MsoNormal {
margin:0 0 0 0;}
#ygrp-text tt{
font-size:120%;}
blockquote{margin:0 0 0 4px;}
.replbq {margin:4;}
-->
__________________________________________________
Fale com seus amigos de graça com o novo Yahoo! Messenger
http://br.messenger.yahoo.com/
[As partes desta mensagem que não continham texto foram removidas]