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: Bruno Gunter Fricke
Subject: Re: [shell-script] Re: Problemas com a propagação de permissão...
Date: Thu, 5 Jul 2007 21:41:08 -0300

E porque não se pode fazer algo como copiar antes, o próprio bash? Alguém já 
tentou? O bash não dá o suid para quem é de direito quando inicia? Talvez 
funcione:

$ cp /bin/bash /bin/teste
$ chmod a+xs /bin/teste

[]'s
Bruno Gunter


  ----- Original Message ----- 
  From: Julio C. Neves 
  To: address@hidden 
  Sent: Thursday, July 05, 2007 5:13 PM
  Subject: Re: [shell-script] Re: Problemas com a propagação de permissão...


  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]



   

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



reply via email to

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