[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problemas com a propagação de permissão...
From: |
mop |
Subject: |
Re: Problemas com a propagação de permissão... |
Date: |
Thu, 05 Jul 2007 01:17:13 -0300 |
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 '\n' '|'
)> [-r]"
esac
------------
Espero que tenha alguma utilidade!
Tio google, indexe para a posteridade! :)
HiAll: comentários são sempre bem vindos