SCRIPTS LINUX
SCRIPTS LINUX
UBUNTU 11.04
UBUNTU 11.04
Javier García Cambronel Javier García Cambronel SEGUNDO DE ASIR SEGUNDO DE ASIR 10/03/2012 10/03/2012
SCRIPT ADMINISTRACION LDAP VER
SCRIPT ADMINISTRACION LDAP VER
INFORMACION
INFORMACION
#!/bin/bash
#!/bin/bash
read -p "Solo el nombre del
read -p "Solo el nombre del dominio: " base1dominio: " base1
read -p "Terminacion del dominio: " base2
read -p "Terminacion del dominio: " base2
read -p "contraseña: " contr
read -p "contraseña: " contr
base="dc=$base1,dc=$base2" base="dc=$base1,dc=$base2" pass="$contr" pass="$contr" rootdn="cn=admin,dc=$base1,dc=$base2" rootdn="cn=admin,dc=$base1,dc=$base2" while [ "$op" != "F" ]; do while [ "$op" != "F" ]; do
echo "Script de administracion de LDAP"
echo "Script de administracion de LDAP"
echo "--- -- --- -- ----"
echo "--- -- --- -- ----"
echo "Elige la opción que desees, usa \"F\" para salir"
echo "Elige la opción que desees, usa \"F\" para salir"
echo "1 - Listar todos los objetos"
echo "1 - Listar todos los objetos"
echo "2 - Ver todas las unidades organizativas"
echo "2 - Ver todas las unidades organizativas"
echo "3 - Ver datos de una OU concreta"
echo "3 - Ver datos de una OU concreta"
echo "4 - Ver todos los usuarios"
echo "4 - Ver todos los usuarios"
echo "5 - Buscar un usuario concreto"
echo "5 - Buscar un usuario concreto"
echo -n "Tu opcion: "
echo -n "Tu opcion: "
read op
read op
case "$op" in
case "$op" in
1) echo "Todos los objetos del dominio"
1) echo "Todos los objetos del dominio"
ldapsearch -xLLL -b "$base"|more;;
ldapsearch -xLLL -b "$base"|more;;
2) echo "Unidades organizativas del dominio"
2) echo "Unidades organizativas del dominio"
ldapsearch -xLLL -b
SEGUNDO
SEGUNDO DE DE ASIR ASIR Página Página 22
3) read -p "Dima la OU donde quieres buscar: " ou
3) read -p "Dima la OU donde quieres buscar: " ou
ldapsearch -xLLL -b "$base" ou=$ou ou
ldapsearch -xLLL -b "$base" ou=$ou ou description;;description;;
4) echo "Todos los usuarios del dominio"
4) echo "Todos los usuarios del dominio"
ldapsearch -xLLL -b
ldapsearch -xLLL -b "$base" objectClass=inetOrgPerson|more;;"$base" objectClass=inetOrgPerson|more;;
5) read -p "Dime el nombre del usuario a buscar: " usu
5) read -p "Dime el nombre del usuario a buscar: " usu
ldapsearch -xLLL -b "$base" uid=$usu;;
ldapsearch -xLLL -b "$base" uid=$usu;;
F) echo "Adios";;
F) echo "Adios";;
*) echo "Elige una de las opciones que aparecen" ;;
*) echo "Elige una de las opciones que aparecen" ;;
esac
esac
done
COMPROBACION
COMPROBACION
11
–
– MENÚ Y LISTAR TODOS LOS OBJETOS
MENÚ Y LISTAR TODOS LOS OBJETOS
Se nos pedirá el nombreSe nos pedirá el nombre del dominio, la terminación de este y la contraseña del dominio, la terminación de este y la contraseña de ldap,una vezde ldap,una vez hecho esto ya podremos interactuar, en este caso listaremos todos los objetos de nuestro hecho esto ya podremos interactuar, en este caso listaremos todos los objetos de nuestro dominio.
dominio.
2 - VER TODAS LAS
SEGUNDO
SEGUNDO DE DE ASIR ASIR Página Página 44
3 - VER DATOS DE
3 - VER DATOS DE UNA UNIDAD ORGANIZATIVA CONCRETA
UNA UNIDAD ORGANIZATIVA CONCRETA
4 - VER TODOS LOS USUARIOS DEL DOMINIO
4 - VER TODOS LOS USUARIOS DEL DOMINIO
5 - BUSCAR UN USUARIO CONCRETO Y
ADMINISTRACION LDAP EN UBUNTU
ADMINISTRACION LDAP EN UBUNTU
CREAR UNIDADES ORGANIZATIVAS Y/O BORRARLAS
CREAR UNIDADES ORGANIZATIVAS Y/O BORRARLAS
#!/bin/bash#!/bin/bash
read -p "Solo el nombre del
read -p "Solo el nombre del dominio: " base1dominio: " base1
read -p "Terminacion del dominio: " base2
read -p "Terminacion del dominio: " base2
read -p "contraseña: " contr
read -p "contraseña: " contr
base="dc=$base1,dc=$base2" base="dc=$base1,dc=$base2" pass="$contr" pass="$contr" rootdn="cn=admin,dc=$base1,dc=$base2" rootdn="cn=admin,dc=$base1,dc=$base2" while [ "$op" != "F" ]; do while [ "$op" != "F" ]; do
echo "Script para crear o borrar unidades organizativas, usa \"F\" para salir"
echo "Script para crear o borrar unidades organizativas, usa \"F\" para salir"
echo "--- ---- --- -
echo "--- ---- --- - --- --- --- --- --- --- --- --- --- ---- ---"--- ---- ---"
echo "1-Crear unidades Organizativas"
echo "1-Crear unidades Organizativas"
echo "2-Borrar unidades Organizativas"
echo "2-Borrar unidades Organizativas"
echo "F - Para salir"
echo "F - Para salir"
read -p "Que deseas hacer: " op
read -p "Que deseas hacer: " op
case "$op" in
case "$op" in
1)read -p "Dime el nombre para la nueva unidad organizativa: " nuevaou
1)read -p "Dime el nombre para la nueva unidad organizativa: " nuevaou
while [ "$nuevaou" != "F" ]; do
while [ "$nuevaou" != "F" ]; do
ldapsearch -xLLL -b "$base" ou=$nuevaou
ldapsearch -xLLL -b "$base" ou=$nuevaou
echo "dn: ou
echo "dn: ou=$nuevaou,$base" =$nuevaou,$base" > OuPersonal.ld> OuPersonal.ldif if
echo "objectClass: organizationalUnit" >> OuPersonal.ldif
echo "objectClass: organizationalUnit" >> OuPersonal.ldif
echo "ou: $nuevaou" >>
echo "ou: $nuevaou" >> OuPersonal.ldOuPersonal.ldif if
sudo ldapadd -D $rootdn -w $
sudo ldapadd -D $rootdn -w $pass -f ~/scripts/OuPersonal.ldif >pass -f ~/scripts/OuPersonal.ldif >
/dev/null 2>&1 /dev/null 2>&1 if [ ! $? -eq "0" ]; then if [ ! $? -eq "0" ]; then echo echo
echo "Esta unidad organizativa ya existe"
echo "Esta unidad organizativa ya existe"
else
else
echo
echo
echo "OU $nuevaou creada de manera
echo "OU $nuevaou creada de manera correcta"correcta"
fi
fi
echo
echo
read -p "Nombre para una nueva unidad organizativa o usa F si no
read -p "Nombre para una nueva unidad organizativa o usa F si no
quieres crear mas: " nuevaou
quieres crear mas: " nuevaou
done;;
done;;
2) read -p "Dime la ou que deseas borrar: " delou
2) read -p "Dime la ou que deseas borrar: " delou
sudo ldapdelete -x
sudo ldapdelete -x -D $rootdn --D $rootdn -w $pass ou=$delou,dc=$base1,dc=$base2 w $pass ou=$delou,dc=$base1,dc=$base2 >>
/dev/null 2>&1 /dev/null 2>&1 if [ ! $? -eq "0" ]; then if [ ! $? -eq "0" ]; then echo echo
echo "Esta unidad organizativa no existe"
SEGUNDO
SEGUNDO DE DE ASIR ASIR Página Página 66
echo echo else else echo echo
echo "OU $delou borrada de manera correcta"
echo "OU $delou borrada de manera correcta"
echo echo fi;; fi;; F) echo F) echo echo "Adios" echo "Adios" echo;; echo;; *) echo *) echo
echo "Elige una de las opciones que
echo "Elige una de las opciones que aparecen"aparecen"
echo;; echo;; esac esac done done
COMPROBACION
COMPROBACION
CREACION DE UNIDADES ORGANIZATIVAS
CREACION DE UNIDADES ORGANIZATIVAS
Se nos pedirá el nombreSe nos pedirá el nombre del dominio, la terminación de este y la del dominio, la terminación de este y la contraseña de ldap,una vezcontraseña de ldap,una vez hecho esto ya podremos interactuar y
hecho esto ya podremos interactuar y crear las unidades organizativas y/o borrarlas, en estecrear las unidades organizativas y/o borrarlas, en este caso crearla como vemos en las siguientes dos imagenes.
caso crearla como vemos en las siguientes dos imagenes.
Vemos que se ha creado perfectamente Vemos que se ha creado perfectamente
SEGUNDO
SEGUNDO DE DE ASIR ASIR Página Página 88
BORRADO DE UNIDADES ORGANIZATIVAS
BORRADO DE UNIDADES ORGANIZATIVAS
Se nos pedirá el nombreSe nos pedirá el nombre del dominio, la terminación de este y la contraseña del dominio, la terminación de este y la contraseña de ldap,una vezde ldap,una vez hecho esto ya podremos interactuar y
hecho esto ya podremos interactuar y crear las unidades organizativas y/o borrarlas, en estecrear las unidades organizativas y/o borrarlas, en este caso borrarla como vemos en las siguientes dos imágenes.
caso borrarla como vemos en las siguientes dos imágenes.
Podemos comprobar desde softerra mismamente que s
CREACION Y BORRADO DE USUARIOS
CREACION Y BORRADO DE USUARIOS
#!/bin/bash#!/bin/bash
read -p "Solo el nombre del
read -p "Solo el nombre del dominio: " base1dominio: " base1
read -p "Terminacion del dominio: " base2
read -p "Terminacion del dominio: " base2
read -p "contraseña: " contr
read -p "contraseña: " contr
read -p "nombre de tu
read -p "nombre de tu carpeta personal normalmente el mismo que el carpeta personal normalmente el mismo que el usuario del sistema: "usuario del sistema: "
nomsis nomsis base="dc=$base1,dc=$base2" base="dc=$base1,dc=$base2" pass="$contr" pass="$contr" rootdn="cn=admin,dc=$base1,dc=$base2" rootdn="cn=admin,dc=$base1,dc=$base2" echo echo
echo "Crear o borrar usuarios de una unidad organizativa"
echo "Crear o borrar usuarios de una unidad organizativa"
echo
echo "---"---"---"
read -p "nombre de la
read -p "nombre de la unidad organizativa donde crear o borrar usuarios : unidad organizativa donde crear o borrar usuarios : " ou" ou
while [ "$ou" != "F" ]; do
while [ "$ou" != "F" ]; do
exist=`ldapsearch -xLLL -b "$base" ou="$ou"`
exist=`ldapsearch -xLLL -b "$base" ou="$ou"`
while [ ! "$exist" ]; do
while [ ! "$exist" ]; do
echo
echo
echo "La unidad organizativa $ou no existe"
echo "La unidad organizativa $ou no existe"
exit exit done done echo echo echo "Opciones: " echo "Opciones: "
echo "1.- Crear un usuarios"
echo "1.- Crear un usuarios"
echo "2.- Borrar un usuario"
echo "2.- Borrar un usuario"
echo "F.- Para salir"
echo "F.- Para salir"
echo
echo
read -p "Escribe el numero de la
read -p "Escribe el numero de la opcion de la seleccion: " opopcion de la seleccion: " op
case "$op" in
case "$op" in
1)
1)
read -p "Escribe el nombre del usuario que
read -p "Escribe el nombre del usuario que deseas crear: " nusudeseas crear: " nusu
read -p "Escribe el apellido del usuario: " apeusu
read -p "Escribe el apellido del usuario: " apeusu
read -p "Escribe el nombre que deseas con el que se va a mostrar: " mostrar
read -p "Escribe el nombre que deseas con el que se va a mostrar: " mostrar
ult=`ldapsearch -xLLL -b "$base" |grep uidNumber |cut -d: -f2
ult=`ldapsearch -xLLL -b "$base" |grep uidNumber |cut -d: -f2 |tail -1`|tail -1`
nuevo_uid=`expr $ult + 1`
nuevo_uid=`expr $ult + 1`
echo "dn: uid=$nusu,ou=$ou,$base" > NuevoUser.ldif
echo "dn: uid=$nusu,ou=$ou,$base" > NuevoUser.ldif
echo "objectClass: inetOrgPerson" >> NuevoUser.ldif
echo "objectClass: inetOrgPerson" >> NuevoUser.ldif
echo "objectClass: posixAccount" >> NuevoUser.ldif
echo "objectClass: posixAccount" >> NuevoUser.ldif
echo "objectClass: shadowAccount" >> NuevoUser.ldif
echo "objectClass: shadowAccount" >> NuevoUser.ldif
echo "uid: $nusu" >> NuevoUser.ldif
echo "uid: $nusu" >> NuevoUser.ldif
echo "sn: $apeusu" >> NuevoUser.ldif
echo "sn: $apeusu" >> NuevoUser.ldif
echo "givenName: $nusu" >> NuevoUser.ldif
echo "givenName: $nusu" >> NuevoUser.ldif
echo "cn: $nusu $apeusu" >> NuevoUser.ldif
echo "cn: $nusu $apeusu" >> NuevoUser.ldif
echo "displayName: $mostrar" >> NuevoUser.ldif
SEGUNDO
SEGUNDO DE DE ASIR ASIR Página Página 1010
echo "uidNumber: $nuevo_uid" >> NuevoUser.ldif
echo "uidNumber: $nuevo_uid" >> NuevoUser.ldif
echo "gidNumber: 10010" >>
echo "gidNumber: 10010" >> NuevoUser.ldif NuevoUser.ldif
echo "gecos: $mostrar" >> NuevoUser.ldif
echo "gecos: $mostrar" >> NuevoUser.ldif
echo "loginShell: /bin/bash" >> N
echo "loginShell: /bin/bash" >> NuevoUser.ldif uevoUser.ldif
echo "homeDirectory: /home/$nusu" >> NuevoUser.ldif
echo "homeDirectory: /home/$nusu" >> NuevoUser.ldif
sudo ldapadd -D $rootdn -w $pass
sudo ldapadd -D $rootdn -w $pass -f /home/$nomsis/NuevoUser.ldif #> /dev/null 2>&1-f /home/$nomsis/NuevoUser.ldif #> /dev/null 2>&1
if [ ! $? -eq "0" ]; then
if [ ! $? -eq "0" ]; then
echo
echo
echo "Este usuario ya existe"
echo "Este usuario ya existe"
else
else
echo
echo
echo "El usuario $mostrar se
echo "El usuario $mostrar se ha creado correctamente"ha creado correctamente"
fi;;
fi;;
2) read -p "Escribe el
2) read -p "Escribe el usuario que quieres borrar: " delusuusuario que quieres borrar: " delusu
sudo ldapsearch -xLLL -b "ou=$ou,$base" |grep $delusu
sudo ldapsearch -xLLL -b "ou=$ou,$base" |grep $delusu
if [ $? -eq "0" ]; then
if [ $? -eq "0" ]; then
echo
echo
read -p "¿Seguro? (Y/N) " res
read -p "¿Seguro? (Y/N) " res
if [ "$res" = "Y" ]; then
if [ "$res" = "Y" ]; then
sudo ldapdelete -c -x -D $rootdn -w
sudo ldapdelete -c -x -D $rootdn -w $pass uid=$delusu,"ou=$ou,$base"$pass uid=$delusu,"ou=$ou,$base"
echo
echo
echo "Usuario borrado correctamente"
echo "Usuario borrado correctamente"
elif [ "$res" = "N" ]; then
elif [ "$res" = "N" ]; then
echo
echo
echo "no se ha borrado"
echo "no se ha borrado"
exit exit else else echo echo echo "Solo Y o N" echo "Solo Y o N" echo echo fi fi else else echo echo
echo "El usuario $delusu no existe"
echo "El usuario $delusu no existe"
echo echo fi;; fi;; F) echo F) echo echo "Bye!" echo "Bye!" exit;; exit;; *) echo *) echo
echo "Escribe el numero de la opcion de
echo "Escribe el numero de la opcion de la seleccion"la seleccion"
echo;; echo;; esac esac done done
COMPROBACION
COMPROBACION
CREAR USUARIOS
CREAR USUARIOS
Se nos pedirá el nombreSe nos pedirá el nombre del dominio, la terminación de este, la contraseña de del dominio, la terminación de este, la contraseña de ldap, y elldap, y el nombre de la carpeta personal, que será donde se guardara el archivo, una vez hecho esto ya nombre de la carpeta personal, que será donde se guardara el archivo, una vez hecho esto ya podremos interactuar y crear los usuarios y/o
podremos interactuar y crear los usuarios y/o borrarlos, en este caso crearlo como vemos borrarlos, en este caso crearlo como vemos enen las siguientes dos imágenes.
las siguientes dos imágenes.
Vemos que el usuario David, se ha creado perfectamente Vemos que el usuario David, se ha creado perfectamente
SEGUNDO
SEGUNDO DE DE ASIR ASIR Página Página 1212
BORRAR USUARIOS
BORRAR USUARIOS
Podremos borrarlo directamente, antes de que se
Podremos borrarlo directamente, antes de que se termine de ejecutar, si no stermine de ejecutar, si no se nos volvería ae nos volvería a pedir el dominio y los demás datos
pedir el dominio y los demás datos necesarios, siendo así, solo tendremos que seleccionar lanecesarios, siendo así, solo tendremos que seleccionar la opción correspondiente para que se borre, sin ningún problema.
opción correspondiente para que se borre, sin ningún problema.
Ahora vemos, como el usuario ya no esta, con lo cual se ha borrado perfectamente. Ahora vemos, como el usuario ya no esta, con lo cual se ha borrado perfectamente.
COPIA DE SEGURIDAD
COPIA DE SEGURIDAD
#!/bin/bash #!/bin/bash echo echoecho "Crear respaldo y restaurar sistema
echo "Crear respaldo y restaurar sistema LDAP"LDAP"
echo
echo "---"---"---"
read -p "solo el nombre
read -p "solo el nombre del dominio: " base1del dominio: " base1
read -p "Terminacion del dominio: " base2
read -p "Terminacion del dominio: " base2
read -p "nombre de tu
read -p "nombre de tu carpeta personal normalmente el mismo que el carpeta personal normalmente el mismo que el usuario del sistema: "usuario del sistema: "
nomsis nomsis base="dc=$base1,dc=$base2" base="dc=$base1,dc=$base2" pass="$contr" pass="$contr" rootdn="cn=admin,dc=$base1,dc=$base2" rootdn="cn=admin,dc=$base1,dc=$base2"
#echo "Parando el servicio LDAP"
#echo "Parando el servicio LDAP"
#sudo /etc/init.d/slapd stop
#sudo /etc/init.d/slapd stop
echo "Realizando copia..."
echo "Realizando copia..."
sudo
sudo ldapsearch -ldapsearch -xLLL -b xLLL -b "dc=$base1,dc=$base2" "dc=$base1,dc=$base2" > > /home/$nomsis/respaldo/home/$nomsis/respaldo-
-dc=$base1,dc=$base2-`date +%d-%b-%Y`.ldif
dc=$base1,dc=$base2-`date +%d-%b-%Y`.ldif
echo
echo
#echo "Encendiendo servicio LDAP"
#echo "Encendiendo servicio LDAP"
#sudo /etc/init.d/slapd start
#sudo /etc/init.d/slapd start
echo
echo
read -p "Para ver ver el fichero de respaldo creado pulsa S/N" op
read -p "Para ver ver el fichero de respaldo creado pulsa S/N" op
if [ "$op" = "S" ]; then
if [ "$op" = "S" ]; then
sudo cat /
sudo cat /home/$nomsis/respaldo-dc=$base1,dc=home/$nomsis/respaldo-dc=$base1,dc=$base2-`date +%d-%b-%Y`.ldif $base2-`date +%d-%b-%Y`.ldif
fi
fi
echo
echo
read -p "Quieres restaurar el sistema con este fichero ahora (Escribe S/N)" op
read -p "Quieres restaurar el sistema con este fichero ahora (Escribe S/N)" op
if [ "$op" = "S" ]; then
if [ "$op" = "S" ]; then
echo
echo
echo "Deteniendo el servicio LDAP..."
echo "Deteniendo el servicio LDAP..."
sudo /etc/init.d/slapd stop
sudo /etc/init.d/slapd stop
echo
echo
echo "Borrando Base de datos LDAP..."
echo "Borrando Base de datos LDAP..."
sudo rm -fv /var/lib/ldap/*
sudo rm -fv /var/lib/ldap/*
echo
echo
echo "Restaurando desde copia de respaldo..."
echo "Restaurando desde copia de respaldo..."
sudo slapadd -v -b
sudo slapadd -v -b dc=$base1,dc=$base2 -l /home/$nomsis/respaldo-dc=$base1,dc=$base2 -l
/home/$nomsis/respaldo-dc=$base1,dc=$base2-`date +%d-%b-%Y`.ldif
dc=$base1,dc=$base2-`date +%d-%b-%Y`.ldif
echo
echo
echo "Reindexando Base de datos LDAP"
echo "Reindexando Base de datos LDAP"
sudo slapindex -v
sudo slapindex -v
echo
SEGUNDO
SEGUNDO DE DE ASIR ASIR Página Página 1414
echo "Cambiando permisos de usuario y grupo
echo "Cambiando permisos de usuario y grupo LDAP..."LDAP..."
sudo chown
sudo chown -R openldap:openldap /var/lib/ldap-R openldap:openldap /var/lib/ldap
echo
echo
echo "Reiniciando servicio LDAP..."
echo "Reiniciando servicio LDAP..."
sudo /etc/init.d/slapd start
sudo /etc/init.d/slapd start
echo
echo
echo "Fin de restauracion LDAP"
echo "Fin de restauracion LDAP"
echo
echo
read -p "Para ver el
read -p "Para ver el estado actual del sistema LDAP escribe S/N" estado actual del sistema LDAP escribe S/N" opop
if [ "$op" = "S" ]; then if [ "$op" = "S" ]; then echo echo ldapsearch -xLLL -b dc=$base1,dc=$base2 ldapsearch -xLLL -b dc=$base1,dc=$base2 fi fi echo echo echo "Bye!" echo "Bye!" echo echo else else echo echo echo "Bye!" echo "Bye!" echo echo fi fi
Veremos como otra vez, se nos pide el nombre del dominio y la terminación de este y Veremos como otra vez, se nos pide el nombre del dominio y la terminación de este y también indicaremos el nombre de la carpeta
también indicaremos el nombre de la carpeta personal de nuestro usuario, una vezpersonal de nuestro usuario, una vez ejecutado se realizara la copia, y
ejecutado se realizara la copia, y podremos ver el contenido del archivo de respaldo.podremos ver el contenido del archivo de respaldo.
Nos preguntara que si deseamos
SEGUNDO
SEGUNDO DE DE ASIR ASIR Página Página 1616
Y se iniciara, la restauración Y se iniciara, la restauración
Una vez terminada la restauración, podremos ver el
ADMINISTRACION UBUNTU
ADMINISTRACION UBUNTU
#!/bin/bash
#!/bin/bash
#Script de Administración de Linux.
#Script de Administración de Linux.
#Comprobamos que el usuario es root.
#Comprobamos que el usuario es root.
if [ $(whoami) != "root" ]; then
if [ $(whoami) != "root" ]; then
echo "Debes ser root para correr este script."
echo "Debes ser root para correr este script."
echo "Para entrar como root, escribe \"sudo s
echo "Para entrar como root, escribe \"sudo su\" sin las comillas."u\" sin las comillas."
exit 1 exit 1 fi fi #Presentación. #Presentación. echo echo
echo "Script de Administración de Linux Ubuntu v. 0.1"
echo "Script de Administración de Linux Ubuntu v. 0.1"
echo "--- -- --- -- --- --- -- ---" echo "--- -- --- -- --- --- -- ---" echo echo #Menu de Administración #Menu de Administración while [ "$opcion" != "0" ] while [ "$opcion" != "0" ] do do #Mostramos el menú #Mostramos el menú echo echo echo "Menú" echo "Menú" echo "----" echo "----" echo
echo " " 1. 1. Crear Crear un un usuario."usuario."
echo
echo " " 2. 2. Cambiarle Cambiarle la la contraseña contraseña a a un un usuario."usuario."
echo
echo " " 3. 3. Crear Crear grupo."grupo."
echo
echo " " 4. 4. Añadir Añadir un un usuario usuario a a un un grupo."grupo."
echo
echo " " 5. 5. Ver Ver datos datos de de un un usuario."usuario."
echo
echo " " 6. 6. Borrar Borrar un un usuario."usuario."
echo
echo " " 7. 7. Borrar Borrar un un grupo."grupo."
echo
echo " " 0. 0. Salir."Salir."
echo
echo
echo
echo -n -n " " Elige Elige una una opción: opción: ""
read opcion read opcion case $opcion in case $opcion in 1 ) 1 ) echo echo echo
-echo -n " n " Dame el Dame el nombre nombre del usuario del usuario a crear: a crear: ""
read nombre read nombre echo echo adduser $nombre adduser $nombre
SEGUNDO
SEGUNDO DE DE ASIR ASIR Página Página 1818
echo echo ;; ;; 2 ) 2 ) echo echo echo -n
echo -n " " Dame el Dame el nombre del nombre del usuario a usuario a cuya contraseña cuya contraseña quieres cambquieres cambiar: "iar: "
read nombre read nombre echo echo passwd $nombre passwd $nombre echo echo ;; ;; 3 ) 3 ) echo echo echo
echo -n -n " " Dame Dame el el nombre nombre del del grupo: "grupo: "
read grupo read grupo echo echo addgroup $grupo addgroup $grupo echo echo ;; ;; 4 ) 4 ) echo echo echo
echo -n -n " " Dame Dame el el nombre nombre del del usuario: usuario: ""
read nombre
read nombre
echo
echo -n -n " " Dame eDame el l nombre nombre del del grupo: grupo: ""
read grupo
read grupo
echo
echo
addgroup $nombre $grupo
addgroup $nombre $grupo
echo echo ;; ;; 5 ) 5 ) echo echo echo
echo -n -n " " Dame Dame el el nombre nombre del del usuario: usuario: ""
read nombre read nombre echo echo id $nombre id $nombre echo echo ;; ;; 6 ) 6 ) echo echo echo
echo -n -n " " Dame Dame el el nombre nombre del del usuario: usuario: ""
read nombre read nombre echo echo deluser $nombre deluser $nombre echo echo ;; ;; 7 ) 7 )
echo
echo -n -n " " Dame Dame el el nombre nombre del del grupo: "grupo: "
read grupo read grupo echo echo delgroup $grupo delgroup $grupo echo echo ;; ;; esac esac done done echo echo echo
echo " " Hasta Hasta Pronto!"Pronto!"
echo echo " " --- --- ---"---" echo echo exit 0 exit 0
SEGUNDO
SEGUNDO DE DE ASIR ASIR Página Página 2020
COMPROBACION
COMPROBACION
MENU DE ADMINISTRACION DEL SISTEMA
MENU DE ADMINISTRACION DEL SISTEMA
1.- CREAR UN USUARIO NUEVO PARA EL SISTEMA
1.- CREAR UN USUARIO NUEVO PARA EL SISTEMA
2.- CAMBIAR DE CONTRASEÑA A UN USUARIO DEL
3.- CREAR UN GRUPO NUEVO
3.- CREAR UN GRUPO NUEVO
4.- AÑADIR UN USUARIO A UN GRUPO DEL S
4.- AÑADIR UN USUARIO A UN GRUPO DEL SISTEMA
ISTEMA
5.- INFORMACIÓN DE UN USUARIO DEL SISTEMA
5.- INFORMACIÓN DE UN USUARIO DEL SISTEMA
6.- BORRAR UN USUARIO DEL SISTEMA
6.- BORRAR UN USUARIO DEL SISTEMA
SEGUNDO
SEGUNDO DE DE ASIR ASIR Página Página 2222
7.- BORRAR UN GRUPO
7.- BORRAR UN GRUPO
VER SERVICIOS Y PROCESOS
VER SERVICIOS Y PROCESOS
(PARARLOS Y/O ARRANCARLOS)
(PARARLOS Y/O ARRANCARLOS)
#!/bin/bash
#!/bin/bash
echo
echo
echo "Procesos del sistema"
echo "Procesos del sistema"
echo
echo "---"---"---"
echo
echo
echo "1.- Parar procesos"
echo "1.- Parar procesos"
echo "2.- Arrancar procesos"
echo "2.- Arrancar procesos"
echo "3.- Ver procesos"
echo "3.- Ver procesos"
echo "F.- Salir"
echo "F.- Salir"
echo
echo
read -p "Escribe el numero de tu selección :" deci
read -p "Escribe el numero de tu selección :" deci
if [ "$deci" == 1 ]; then
if [ "$deci" == 1 ]; then
read -p "Escribe el nombre del proceso,
read -p "Escribe el nombre del proceso, para verificar si está activo: (Escribe * para para verificar si está activo: (Escribe * para salir) "salir) "
proc
proc
while [ "$proc" != "*" ]; do
while [ "$proc" != "*" ]; do
ps -ax | grep $proc
ps -ax | grep $proc
echo
echo
read -p "El procesos se
read -p "El procesos se detendrá ¿Realmente deseas pararlo?: (Escribe si/no) " resdetendrá ¿Realmente deseas pararlo?: (Escribe si/no) " res
if [ "$res" != "no" ]; then
if [ "$res" != "no" ]; then
if id | grep uid=0; then
if id | grep uid=0; then
read -p "¿Seguro que deseas terminar el
read -p "¿Seguro que deseas terminar el proceso $proc?" res2proceso $proc?" res2
if [ "$res2" != "no" ]; then
if [ "$res2" != "no" ]; then
read -p "Escribe el nombre del proceso
read -p "Escribe el nombre del proceso correctamente: " proc2correctamente: " proc2
killall $proc2;
killall $proc2;
echo
echo
echo "Proceso $proc2 terminado con exito"
echo "Proceso $proc2 terminado con exito"
fi fi else else echo echo
echo "Acceso denegado, hay que ser sudo para acabar el proceso"
echo "Acceso denegado, hay que ser sudo para acabar el proceso"
echo echo fi fi else else echo echo
echo "Selecciona otro proceso. (Escribe * para
echo "Selecciona otro proceso. (Escribe * para salir)"salir)"
fi
fi
read -p "Escribe el nombre del proceso,
read -p "Escribe el nombre del proceso, para verificar si está activo: (Escribe * para verificar si está activo: (Escribe * para salir) "para salir) "
proc
proc
done
done
elif [ "$deci" == 2 ]; then
elif [ "$deci" == 2 ]; then
read -p "Escribe el nombre del proceso
SEGUNDO
SEGUNDO DE DE ASIR ASIR Página Página 2424
while [ "$proc" != "*" ]; do
while [ "$proc" != "*" ]; do
ps -ax | grep $proc
ps -ax | grep $proc
echo
echo
read -p "¿Realmente deseas arrancar el
read -p "¿Realmente deseas arrancar el proceso? (Escribe si/no) " resproceso? (Escribe si/no) " res
if [ "$res" != "no" ]; then
if [ "$res" != "no" ]; then
read -p "Escribe el nombre del proceso
read -p "Escribe el nombre del proceso correctamente: " proc2correctamente: " proc2
#find /etc/init.d/ -name $proc
#find /etc/init.d/ -name $proc
sudo /etc/init.d/$proc2* start
sudo /etc/init.d/$proc2* start
fi
fi
read -p "Escribe el nombre del proceso
read -p "Escribe el nombre del proceso que quieres arrancar (Escribe * para que quieres arrancar (Escribe * para salir): " procsalir): " proc
done
done
elif [ "$deci" == 3 ]; then
elif [ "$deci" == 3 ]; then
echo "Lista de
echo "Lista de procesos activos"procesos activos"
echo echo "---"---"---" echo echo ps -an ps -an else else echo echo echo "Bye!" echo "Bye!" echo echo fi fi echo echo echo "Bye!" echo "Bye!" echo echo
MENU CON LAS DIFERENTES OPCIONES
MENU CON LAS DIFERENTES OPCIONES
PARAR PROCESOS
PARAR PROCESOS
SEGUNDO
SEGUNDO DE DE ASIR ASIR Página Página 2626