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: Julio C. Neves
Subject: Re: [shell-script] Re: Problemas com a propagação de permissão...
Date: Thu, 5 Jul 2007 17:13:09 -0300

Em 05/07/07, mop  escreveu:

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.


Escrevi um editor que coloca um til no final do nome dos arquivos antes de
editá-los. Terminei a correção de um monte de scripts que seriam usados em
um treinamento em MG e ia mandá-los todos para o computador que seria usado
neste treinamento. Antes de fazer um tar nos arquivos para ftpzá-los
(UGHHH), resolvi matar todos que terminavam em til com o seguinte cmd:

$ yes | rm *~

Como o meu rm é um alias para rm -i, para não encher o saco, usei o cmd yes.
Estaria tudo bem, se o após o til, não tivesse de dar um espaço em branco.
Como isso ocorreu no final de um dia de mais de 10 horas trabalhadas, já
estava cansado e no lugar do espaço em branco, meti um <ENTER>. A linha
executada foi:

$ yes | rm *

Já viu, né?

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.


Por segurança, o linux bloqueia o SUID de script em qq linguagem. Só é
válido para binário. Imagine se um cara mal intencionado consegue editar um
script em qq qq linguagem e troca todo o seu conteúdo por somente uma linha:
/bin/bash... Pronto, era uma vez um computador seguro... :(

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.


Aqui os operadores trabalham 7x24, desta forma, seria necessário dar a senha
do root para todos os operadores dos turnos da noite e da madrugada (mais de
15) para um shutdown ocasional. Isso seria inviável pois ficaria impossível
administrar a segurança em um ambiente destes.

Este problema foi resolvido colocando-se o shutdown dentro de um script e
criando-se um usuário chamado desliga, com UID zero (root) e cujo shell era
o script que tinha o shutdown. Desta forma, qdo o desliga se loga, a máquina
é derrubada.

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
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
> Links do Yahoo! Grupos
>
>
>


-- 
Abraços,
Julio
http://www.julioneves.com - Um livro sobre Bash completo e on-line
:wq


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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