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

Re: script con privilegios



El dom, 01-07-2007 a las 21:43 -0300, etr4gu escribió:
> hola lista
> necesito hacer unos scripts para unos operadores de servidores linux,
> y lo que estoy necesitando basicamente son dos cosas
> 1- que los operadores nunca tengan acceso al shell.
> 2- que el usuario que corre el script tenga permisos de root
> 
> sobre el 1er punto trate de hacer que en el
> /home/usuario/.bash_profile puse la llamada al script y despues exit,
> pero en algunos casos el operador queda en la shell, como por ejemplo
> al llamar a una pantalla que hace
> tail -f /var/log/messages
> cuando apreta control-c para cortar queda en el shell
> 
> sobre el segundo no tengo muy claro, lo que hice porque anda es al
> usuario en /etc/passwd ponerle usuid 0:0 pero no creo que sea una
> buena practica, se que se puede usar sudo en cada comando pero no lo
> tengo muy claro
> que me recomiendan?
> 
> aca va el script principal por si a alguien le interesa
> desde ya muchas gracias
> 

Yo tuve ese problema y ademas el de ejecutar en servidores remotos
Lo solucione proramando en C  + ncurses una consola donde solo puede
elegir la tarea y darle OK o cancel y le va mostrando la salida en otra
ventanita
Por ultimo modifique en /etc/passwd y le puse como shell mi programita



> 
> #pantalla de consulta para operadores
> dialog --backtitle "Administrador de Firewall " --cancel-label "Salir"
> --title "Menu \
> Principal" --menu "Mover usando [UP] [DOWN],[Enter] para \
> Seleccionar " 18 80 12 \
> Cortar      "Cortar Internet para traer datos de filiales" \
> Devolver     "Volver a poner Internet" \
> Firewall     "Reiniciar Firewall " \
> Dansguardian "Reiniciar Dansguardian" \
> Squid        "Reiniciar Squid" \
> Hosts        "Listar Hosts " \
> Navegacion   "Ver log de navegacion  " \
> Mensages   "Ver log de messages  " \
> Seguridad   "Ver log de Seguridad  " \
> Buscar       "Buscar IP " 2>/tmp/menuitem.$$
> 
> menuitem=`cat /tmp/menuitem.$$`
> 
> opt=$?
> 
> case $menuitem in
>     Cortar) /etc/hosts.cambiar.sh;
>           ./internet.sh;;
>     Devolver) /etc/hosts.volver.sh;
>           ./internet.sh;;
>     Firewall) /etc/init.d/firewall restart;
>           ./internet.sh;;
>     Dansguardian) /etc/init.d/dansguardian restart;
>           ./internet.sh;;
>     Squid) /etc/init.d/squid restart;
>           ./internet.sh;;
>     Hosts) less /etc/hosts;
>           ./internet.sh;;
>     Buscar) ./buscar.sh;
>           ./internet.sh;;
>     Navegacion) tail -f /var/log/dansguardian/access_dansguardian.log;
>           ./internet.sh;;
>     Seguridad) tail -f /var/log/secure;
>           ./internet.sh;;
>     Navegacion) tail -f /var/log/messages;
>           ./internet.sh;;
> esac
> 
> 



Reply to: