Hamacker,

Resolvi seguir seu conselho, alterei o script conforme sua indicacao.
Funcionou perfeitamente. O estranho dessa macro-substituicao eh que
em outro scripts funciona legal. Nao tenho problemas com as teclas CTRL+C,
pois utilizo:
# Desabilita Ctrl-c
trap "" 1 2 3 15

Quanto a sintaxe do sudoers, depois que coloquei a linha
"spdter ALL=NOPASSWD:/usr/bin/poweroff,/sbin/shutdown"

o comando "gksu nautilus" desixou de funcionar, porem o meu usuario já
consegue desligar o servidor.

Obrigado por todas as informacoes.

Wilson Bom

hamacker escreveu:
> Não tem erro na primeira situação, é assim mesmo a sintaxe do sudoers.
> A unica diferença que noto no seu uso é que no meu caso eu uso sempre
> um comando por linha e no seu caso voce esta separando por virgulas.
>
> No segundo caso, não sei informar, nunca fiz uma macro-substituição
> dessa forma :
> while read -s -n1 entrada && [ "${entrada/[[:ctrl:]]/}" ]
>
> Mas execute a substiuição no terminal, se lá funcionar, no seu script
> também funcionará.
> O google é seu amigo, há varias páginas de exemplos do bash exibindo
> como trabalhar substituições.
>
> Mas para não ter problemas porque não alterar o script, eu faço minhas
> entradas de senha assim :
>
>   stty -echo    # desligando o echo momentaneamente para entrada da senha
>   echo "Digite a senha : (caracteres nao serao visualizados)"
>   echo "(se voce der CTRL+C neste ponto terá que digitar reset no
> prompt para ligar o echo novamente)"
>   read password
>   stty echo     # religando o echo
>
> Será pouco provavel que voce tenha problemas novamente.
>
> Em 23/08/07, Wilson Bento Picaz Bom<[EMAIL PROTECTED]> escreveu:
>   
>> Ola PessoALL,
>>
>> Estou convertendo meus Scripts-Shell do conectiva 10 Para Ubuntu 7.04.
>>
>> 01 -  Script-shell  com permissao  do usuario desligar o sistema:
>>
>> if [ "$opc" = "59" ] ; then
>>    echo -e $c31 "Informe a senha para Desligar o Sistema: \c "
>>    senha=""
>>    while read -s -n1 entrada && [ "${entrada/[[:ctrl:]]/}" ]
>>          do echo -n \* && senha="$senha$entrada";
>>    done;
>>   if [ "$senha" != "oxer567" ] ; then
>>      echo -e $c01 "\n Senha errada, Você não tem permissao para Desligar
>> o Sistema"
>>      sleep 2
>>      continue
>>   fi
>>   sudo poweroff
>> fi
>>
>> No Conectiva, para isso funcionar, sem  pedir a senha do root eu
>> coloquei no /etc/sudoers o seguinte:
>> spdter ALL=NOPASSWD:/usr/bin/poweroff,/sbin/shutdown
>>
>> Porem, esta mesma configuracao nao funcionou no Ubuntu.
>>
>> Quero dar permissao para o usuario desligar o servidor atraves deste
>> scripts.
>>
>>
>> 02 - Nao consegui encontrar o problema da seguinte linha:
>>
>>    while read -s -n1 entrada && [ "${entrada/[[:ctrl:]]/}" ]  ########(
>> Esta eh a linha 188 )
>>          do echo -n \* && senha="$senha$entrada";
>>    done;
>>
>> Erro que ocorre:
>> .sistemas: 188: syntax error: Bad substitution
>>
>> Estes dois problemas, estao me impedindo de passar todos os meus sistemas
>> do conectiva 10 para ubuntu.
>>
>> Se alguem puder ajudar, ou ate mesmo testar o scripts acima, fico grato.
>>
>> Wilson Bom
>>
>> --
>> ---------------------------------------------------------------------------------------------
>> Serprodata Informática Ltda  | Mandriva PowerPack+ 2006 - Kernel 2.6.12
>> Av. Marcelino Pires, 1405    | Dataflex 3.2 Linux - Dataflex 3.2 MS-DOS
>> 79800-004 - Dourados - MS    | Linux counter: 292553 - ICQ: 173201561
>> [EMAIL PROTECTED]      | [EMAIL PROTECTED] - [EMAIL PROTECTED]
>> ---------------------------------------------------------------------------------------------
>>
>>
>>
>> _______________________________________________________
>> Yahoo! Mail - Sempre a melhor opção para você!
>> Experimente já e veja as novidades.
>> http://br.yahoo.com/mailbeta/tudonovo/
>>
>>
>>
>>
>> --
>> Interessado em aprender mais sobre o Ubuntu em português?
>> http://wiki.ubuntu-br.org/ComeceAqui  -
>> ubuntu-br mailing list
>> ubuntu-br@lists.ubuntu.com
>> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br
>>
>>     
>
>   


-- 
---------------------------------------------------------------------------------------------
Serprodata Informática Ltda  | Mandriva PowerPack+ 2006 - Kernel 2.6.12
Av. Marcelino Pires, 1405    | Dataflex 3.2 Linux - Dataflex 3.2 MS-DOS
79800-004 - Dourados - MS    | Linux counter: 292553 - ICQ: 173201561
[EMAIL PROTECTED]      | [EMAIL PROTECTED] - [EMAIL PROTECTED]
---------------------------------------------------------------------------------------------


        

        
                
_______________________________________________________ 
Yahoo! Mail - Sempre a melhor opção para você! 
Experimente já e veja as novidades. 
http://br.yahoo.com/mailbeta/tudonovo/


-- 
Interessado em aprender mais sobre o Ubuntu em português?
http://wiki.ubuntu-br.org/ComeceAqui  -
ubuntu-br mailing list
ubuntu-br@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-br

Responder a