shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: Problemas com a propagação de permissão...


From: mop
Subject: Re: [shell-script] Re: Problemas com a propagação de permissão...
Date: Thu, 05 Jul 2007 16:37:05 -0300

Fala mestre JN, não me enganei não:

>From Mhayk: "...
séria dor de cabeça, setei o SUID em uma binário que internamente tem
a função de iniciar um "initscript" chamado siav que eu mesmo fiz,
então é nada mais que isso:

execlp("/bin/bash", "/bin/bash", "-p", "/etc/init.d/siav", "start", NULL)
 ..."

Acho que qualquer um ser root (principalmente eu :) é sempre perigoso, mas
muitas vezes é inevitável. A diferença está apenas entre a má fé e o equívoco
e os dois são muito perigosos. Já vivi o segundo muitas vezes.

Já que tocamos no assunto, entranhei, há muito tempo, porque os shellscripts 
não respeitam seu suid. Deve ser uma restrição do shell e nunca me dei ao 
trabalho de setar o suid de um shell para ver o efeito. Quanto ao que o
nosso colega falou, de perda de identidade, achei estranho, não me lembro de
ter visto isso. Se eu não tivesse já a minha solução seria fácil de fazer umas
experiências com o shutdown. Talvez a solução específica esteja no que o
Reinaldo falou. Um feedback posterior seria muito construtivo.

Assunto interessante, vamos ver que mais aparece...

PS: como sou a bola da vez (n.2) estou eliminado meu endereço abaixo,
aproveito e elimino o seu


------------------------------------------------------------------
>From: "Julio C. Neves"
>Date: Thu, 5 Jul 2007 09:53:06 -0300
>
>Fala Mop,
>quem falou do binário com SUID fui eu e não o cara que fez a pergunta.
>Concordo com a sua colocação, mas considero todas estas formas de dar super
>poderes ao usuário comum perigosas e que só devem ser usadas se nada mais
>puder ser feito.
>
>No meu caso, uso o binário que citei, pq temos uma rede totalmente
>heterogênea, que tem servidor de tudo qto é sabor de UNIX, LINUX e BSD e os
>UNIXes que conheço não têm sudo.
>
>Abração,
>Julio
>:wq
>
>
>Em 05/07/07, mop escreveu:
>>
>> Mhayk:
>> Pelo que entendi você criou um binário apenas para poder chamar o
>> shellscript
>> como root.
>> Para coisas como essa, já há algum tempo, mudei a minha filosofia e passei
>> a usar o sudo para isso. Inclusive fica totalmente transparente para o
>> usuário pois embuto o teste de user no próprio script. Se o  usuário
>> não for o esperado o sudo é chamado para rodar o script. Não me
>> lembro de ter visto qualquer problema de herança ao chamar subshells na
>> seqüência.
>>
>>
>> Eis algumas das linhas do /etc/sudoers onde qualquer um vira root.
>> ALL ALL=(root)NOPASSWD:\
>> /sh/mod,\
>> /sh/o,\
>> /sh/r,\
>> /sh/edit /home/pes/*,\
>> /sh/edit /home/pub/*
>>
>>
>> Nenhum "mortal" lê o sudoers:
>> root@k7/tmp# ls -l /etc/sudoers
>> -r--r----- 1 root root 498 2007-06-16 18:31 /etc/sudoers
>>
>>
>> Apenas cuido bem do script que será entregue ao sudo, limitando fortemente
>> os parâmetros que são aceitos e eliminando toda a interatividade sempre
>> que
>> possível.
>>
>>
>>
>> Algumas linhas, de muitas, de um script dessa classe:
>> _____________
>> #!/bin/bash
>> [ `whoami` = root ] ||{ sudo $0 $*;exit;}
>>
>> MakNod(){
>> set -x
>> #Exemplo: MakNod /sys/class/video4linux/video "0 1 2 3" ^BT878 tv video
>> for x in $2;do
>>
>>
>> case $1 in none)
>> ;;a)
>> depmod -a
>> ;;mouse)
>> $MPRO psmouse
>> ;;radio)
>> #DEV=`grep radio /sys/class/*/*/name|cut -d : -f 1`
>> $MPRO -r bttv;$MPRO bttv card=38 radio=1
>> /sh/dev radio '' radio
>> ;;serial)
>> # NO KERNEL:
>> ;;cam)
>> # CAMERA DIGITAL COMO
>> ;;sound)
>>
>> ;;tv)
>> #---- placa Phoebe TV Master + FM: /etc/X/xawtvrc
>> ;;
>> *)
>> echo "Uso: $0 <$(
>> grep '^;;' /sh/mod|grep ')' |tr -d ';)'|tr '
>' '|'
>> )> [-r]"
>> esac
>> ------------
>>
>>
>>
>>
>> Espero que tenha alguma utilidade!
>> Tio google, indexe para a posteridade! :)
>> HiAll: comentários são sempre bem vindos
>
>
>-- 
>Abraços,
>Julio
>http://www.julioneves.com - Um livro sobre Bash completo e on-line
>:wq



reply via email to

[Prev in Thread] Current Thread [Next in Thread]