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

script con privilegios



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


#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: