Sei sulla pagina 1di 27

2012

SCRIPTS LINUX
UBUNTU 11.04

Javier Garca Cambronel SEGUNDO DE ASIR 10/03/2012

[SCRIPTS LINUX] 10 de marzo de 2012

SCRIPT ADMINISTRACION LDAP VER INFORMACION


#!/bin/bash read -p "Solo el nombre del dominio: " base1 read -p "Terminacion del dominio: " base2 read -p "contrasea: " contr base="dc=$base1,dc=$base2" pass="$contr" rootdn="cn=admin,dc=$base1,dc=$base2" while [ "$op" != "F" ]; do echo "Script de administracion de LDAP" echo "------ -- -------------- -- ----" echo "Elige la opcin que desees, usa \"F\" para salir" echo "1 - Listar todos los objetos" echo "2 - Ver todas las unidades organizativas" echo "3 - Ver datos de una OU concreta" echo "4 - Ver todos los usuarios" echo "5 - Buscar un usuario concreto" echo -n "Tu opcion: " read op case "$op" in 1) echo "Todos los objetos del dominio" ldapsearch -xLLL -b "$base"|more;; 2) echo "Unidades organizativas del dominio" ldapsearch -xLLL -b "$base" objectclass=Organizationalunit;;

SEGUNDO DE ASIR

Pgina 1

[SCRIPTS LINUX] 10 de marzo de 2012


3) read -p "Dima la OU donde quieres buscar: " ou
ldapsearch -xLLL -b "$base" ou=$ou ou description;;

4) echo "Todos los usuarios del dominio" ldapsearch -xLLL -b "$base" objectClass=inetOrgPerson|more;;

5) read -p "Dime el nombre del usuario a buscar: " usu

ldapsearch -xLLL -b "$base" uid=$usu;;

F) echo "Adios";; *) echo "Elige una de las opciones que aparecen" ;; esac done

SEGUNDO DE ASIR

Pgina 2

[SCRIPTS LINUX] 10 de marzo de 2012

COMPROBACION
1 MEN Y LISTAR TODOS LOS OBJETOS
Se nos pedir el nombre del dominio, la terminacin de este y la contrasea de ldap,una vez hecho esto ya podremos interactuar, en este caso listaremos todos los objetos de nuestro dominio.

2 - VER TODAS LAS UNIDADES ORGANIZATIVAS DEL DOMINIO

SEGUNDO DE ASIR

Pgina 3

[SCRIPTS LINUX] 10 de marzo de 2012

3 - VER DATOS DE UNA UNIDAD ORGANIZATIVA CONCRETA

4 - VER TODOS LOS USUARIOS DEL DOMINIO

5 - BUSCAR UN USUARIO CONCRETO Y VER SUS PROPIEDADES

SEGUNDO DE ASIR

Pgina 4

[SCRIPTS LINUX] 10 de marzo de 2012

ADMINISTRACION LDAP EN UBUNTU


CREAR UNIDADES ORGANIZATIVAS Y/O BORRARLAS
#!/bin/bash read -p "Solo el nombre del dominio: " base1 read -p "Terminacion del dominio: " base2 read -p "contrasea: " contr base="dc=$base1,dc=$base2" pass="$contr" rootdn="cn=admin,dc=$base1,dc=$base2" while [ "$op" != "F" ]; do echo "Script para crear o borrar unidades organizativas, usa \"F\" para salir" echo "------ ---- ----- - ------ -------- -------------- --- --- ---- -----" echo "1-Crear unidades Organizativas" echo "2-Borrar unidades Organizativas" echo "F - Para salir" read -p "Que deseas hacer: " op case "$op" in 1)read -p "Dime el nombre para la nueva unidad organizativa: " nuevaou while [ "$nuevaou" != "F" ]; do ldapsearch -xLLL -b "$base" ou=$nuevaou echo "dn: ou=$nuevaou,$base" > OuPersonal.ldif echo "objectClass: organizationalUnit" >> OuPersonal.ldif echo "ou: $nuevaou" >> OuPersonal.ldif sudo ldapadd -D $rootdn -w $pass -f ~/scripts/OuPersonal.ldif > /dev/null 2>&1 if [ ! $? -eq "0" ]; then echo echo "Esta unidad organizativa ya existe" else echo echo "OU $nuevaou creada de manera correcta" fi echo read -p "Nombre para una nueva unidad organizativa o usa F si no quieres crear mas: " nuevaou done;; 2) read -p "Dime la ou que deseas borrar: " delou sudo ldapdelete -x -D $rootdn -w $pass ou=$delou,dc=$base1,dc=$base2 > /dev/null 2>&1 if [ ! $? -eq "0" ]; then echo echo "Esta unidad organizativa no existe" SEGUNDO DE ASIR Pgina 5

[SCRIPTS LINUX] 10 de marzo de 2012


echo
else echo echo "OU $delou borrada de manera correcta" echo fi;; F) echo echo "Adios" echo;; *) echo echo "Elige una de las opciones que aparecen" echo;;

esac
done

SEGUNDO DE ASIR

Pgina 6

[SCRIPTS LINUX] 10 de marzo de 2012

COMPROBACION
CREACION DE UNIDADES ORGANIZATIVAS
Se nos pedir el nombre del dominio, la terminacin de este y la contrasea de ldap,una vez hecho esto ya podremos interactuar y crear las unidades organizativas y/o borrarlas, en este caso crearla como vemos en las siguientes dos imagenes.

Vemos que se ha creado perfectamente

SEGUNDO DE ASIR

Pgina 7

[SCRIPTS LINUX] 10 de marzo de 2012

BORRADO DE UNIDADES ORGANIZATIVAS


Se nos pedir el nombre del dominio, la terminacin de este y la contrasea de ldap,una vez hecho esto ya podremos interactuar y crear las unidades organizativas y/o borrarlas, en este caso borrarla como vemos en las siguientes dos imgenes.

Podemos comprobar desde softerra mismamente que se ha borrado perfectamente

SEGUNDO DE ASIR

Pgina 8

[SCRIPTS LINUX] 10 de marzo de 2012

CREACION Y BORRADO DE USUARIOS


#!/bin/bash read -p "Solo el nombre del dominio: " base1 read -p "Terminacion del dominio: " base2 read -p "contrasea: " contr read -p "nombre de tu carpeta personal normalmente el mismo que el usuario del sistema: " nomsis base="dc=$base1,dc=$base2" pass="$contr" rootdn="cn=admin,dc=$base1,dc=$base2" echo echo "Crear o borrar usuarios de una unidad organizativa" echo "--------------------------------------------------" read -p "nombre de la unidad organizativa donde crear o borrar usuarios : " ou while [ "$ou" != "F" ]; do exist=`ldapsearch -xLLL -b "$base" ou="$ou"` while [ ! "$exist" ]; do echo echo "La unidad organizativa $ou no existe" exit done echo echo "Opciones: " echo "1.- Crear un usuarios" echo "2.- Borrar un usuario" echo "F.- Para salir" echo read -p "Escribe el numero de la opcion de la seleccion: " op case "$op" in 1) read -p "Escribe el nombre del usuario que deseas crear: " nusu read -p "Escribe el apellido del usuario: " apeusu 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 |tail -1` nuevo_uid=`expr $ult + 1` echo "dn: uid=$nusu,ou=$ou,$base" > NuevoUser.ldif echo "objectClass: inetOrgPerson" >> NuevoUser.ldif echo "objectClass: posixAccount" >> NuevoUser.ldif echo "objectClass: shadowAccount" >> NuevoUser.ldif echo "uid: $nusu" >> NuevoUser.ldif echo "sn: $apeusu" >> NuevoUser.ldif echo "givenName: $nusu" >> NuevoUser.ldif echo "cn: $nusu $apeusu" >> NuevoUser.ldif echo "displayName: $mostrar" >> NuevoUser.ldif SEGUNDO DE ASIR Pgina 9

[SCRIPTS LINUX] 10 de marzo de 2012


echo "uidNumber: $nuevo_uid" >> NuevoUser.ldif echo "gidNumber: 10010" >> NuevoUser.ldif echo "gecos: $mostrar" >> NuevoUser.ldif echo "loginShell: /bin/bash" >> NuevoUser.ldif echo "homeDirectory: /home/$nusu" >> NuevoUser.ldif sudo ldapadd -D $rootdn -w $pass -f /home/$nomsis/NuevoUser.ldif #> /dev/null 2>&1 if [ ! $? -eq "0" ]; then echo echo "Este usuario ya existe" else echo echo "El usuario $mostrar se ha creado correctamente" fi;; 2) read -p "Escribe el usuario que quieres borrar: " delusu sudo ldapsearch -xLLL -b "ou=$ou,$base" |grep $delusu if [ $? -eq "0" ]; then echo read -p "Seguro? (Y/N) " res if [ "$res" = "Y" ]; then sudo ldapdelete -c -x -D $rootdn -w $pass uid=$delusu,"ou=$ou,$base" echo echo "Usuario borrado correctamente" elif [ "$res" = "N" ]; then echo echo "no se ha borrado" exit else echo echo "Solo Y o N" echo fi else echo echo "El usuario $delusu no existe" echo fi;; F) echo echo "Bye!" exit;; *) echo echo "Escribe el numero de la opcion de la seleccion" echo;; esac done

SEGUNDO DE ASIR

Pgina 10

[SCRIPTS LINUX] 10 de marzo de 2012

COMPROBACION
CREAR USUARIOS
Se nos pedir el nombre del dominio, la terminacin de este, la contrasea de ldap, y el 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 borrarlos, en este caso crearlo como vemos en las siguientes dos imgenes.

Vemos que el usuario David, se ha creado perfectamente

SEGUNDO DE ASIR

Pgina 11

[SCRIPTS LINUX] 10 de marzo de 2012

BORRAR USUARIOS
Podremos borrarlo directamente, antes de que se termine de ejecutar, si no se nos volvera a pedir el dominio y los dems datos necesarios, siendo as, solo tendremos que seleccionar la opcin correspondiente para que se borre, sin ningn problema.

Ahora vemos, como el usuario ya no esta, con lo cual se ha borrado perfectamente.

SEGUNDO DE ASIR

Pgina 12

[SCRIPTS LINUX] 10 de marzo de 2012

COPIA DE SEGURIDAD
#!/bin/bash echo echo "Crear respaldo y restaurar sistema LDAP" echo "---------------------------------------" read -p "solo el nombre del dominio: " base1 read -p "Terminacion del dominio: " base2 read -p "nombre de tu carpeta personal normalmente el mismo que el usuario del sistema: " nomsis base="dc=$base1,dc=$base2" pass="$contr" rootdn="cn=admin,dc=$base1,dc=$base2" #echo "Parando el servicio LDAP" #sudo /etc/init.d/slapd stop echo "Realizando copia..." sudo ldapsearch -xLLL -b "dc=$base1,dc=$base2" > /home/$nomsis/respaldodc=$base1,dc=$base2-`date +%d-%b-%Y`.ldif echo #echo "Encendiendo servicio LDAP" #sudo /etc/init.d/slapd start echo read -p "Para ver ver el fichero de respaldo creado pulsa S/N" op if [ "$op" = "S" ]; then sudo cat /home/$nomsis/respaldo-dc=$base1,dc=$base2-`date +%d-%b-%Y`.ldif fi echo read -p "Quieres restaurar el sistema con este fichero ahora (Escribe S/N)" op if [ "$op" = "S" ]; then echo echo "Deteniendo el servicio LDAP..." sudo /etc/init.d/slapd stop echo echo "Borrando Base de datos LDAP..." sudo rm -fv /var/lib/ldap/* echo echo "Restaurando desde copia de respaldo..." sudo slapadd -v -b dc=$base1,dc=$base2 -l /home/$nomsis/respaldodc=$base1,dc=$base2-`date +%d-%b-%Y`.ldif echo echo "Reindexando Base de datos LDAP" sudo slapindex -v echo SEGUNDO DE ASIR Pgina 13

[SCRIPTS LINUX] 10 de marzo de 2012


echo "Cambiando permisos de usuario y grupo LDAP..." sudo chown -R openldap:openldap /var/lib/ldap echo echo "Reiniciando servicio LDAP..." sudo /etc/init.d/slapd start echo echo "Fin de restauracion LDAP" echo read -p "Para ver el estado actual del sistema LDAP escribe S/N" op if [ "$op" = "S" ]; then echo ldapsearch -xLLL -b dc=$base1,dc=$base2 fi echo echo "Bye!" echo
else echo echo "Bye!" echo fi

SEGUNDO DE ASIR

Pgina 14

[SCRIPTS LINUX] 10 de marzo de 2012


Veremos como otra vez, se nos pide el nombre del dominio y la terminacin de este y tambin indicaremos el nombre de la carpeta personal de nuestro usuario, una vez ejecutado se realizara la copia, y podremos ver el contenido del archivo de respaldo.

Nos preguntara que si deseamos restaurar el sistema, con el fichero recin creado

SEGUNDO DE ASIR

Pgina 15

[SCRIPTS LINUX] 10 de marzo de 2012


Y se iniciara, la restauracin

Una vez terminada la restauracin, podremos ver el estado actual del sistema

SEGUNDO DE ASIR

Pgina 16

[SCRIPTS LINUX] 10 de marzo de 2012

ADMINISTRACION UBUNTU
#!/bin/bash #Script de Administracin de Linux. #Comprobamos que el usuario es root. if [ $(whoami) != "root" ]; then echo "Debes ser root para correr este script." echo "Para entrar como root, escribe \"sudo su\" sin las comillas." exit 1 fi

#Presentacin. echo echo "Script de Administracin de Linux Ubuntu v. 0.1" echo "------ -- -------------- -- ----- ------ -- ---" echo
#Menu de Administracin while [ "$opcion" != "0" ] do #Mostramos el men echo echo "Men" echo "----" echo " 1. Crear un usuario." echo " 2. Cambiarle la contrasea a un usuario." echo " 3. Crear grupo." echo " 4. Aadir un usuario a un grupo." echo " 5. Ver datos de un usuario." echo " 6. Borrar un usuario." echo " 7. Borrar un grupo." echo " 0. Salir." echo echo -n " Elige una opcin: " read opcion case $opcion in 1) echo echo -n " Dame el nombre del usuario a crear: " read nombre echo adduser $nombre SEGUNDO DE ASIR Pgina 17

[SCRIPTS LINUX] 10 de marzo de 2012


echo ;; 2) echo echo -n " Dame el nombre del usuario a cuya contrasea quieres cambiar: " read nombre echo passwd $nombre echo ;; 3) echo echo -n " Dame el nombre del grupo: " read grupo echo addgroup $grupo echo ;; 4) echo echo -n " Dame el nombre del usuario: " read nombre echo -n " Dame el nombre del grupo: " read grupo echo addgroup $nombre $grupo echo ;; 5) echo echo -n " Dame el nombre del usuario: " read nombre echo id $nombre echo ;; 6) echo echo -n " Dame el nombre del usuario: " read nombre echo deluser $nombre echo ;; 7)
SEGUNDO DE ASIR Pgina 18

[SCRIPTS LINUX] 10 de marzo de 2012


echo -n " Dame el nombre del grupo: " read grupo echo delgroup $grupo echo ;; esac done
echo echo " Hasta Pronto!" echo " ----- -------" echo exit 0

SEGUNDO DE ASIR

Pgina 19

[SCRIPTS LINUX] 10 de marzo de 2012

COMPROBACION
MENU DE ADMINISTRACION DEL SISTEMA

1.- CREAR UN USUARIO NUEVO PARA EL SISTEMA

2.- CAMBIAR DE CONTRASEA A UN USUARIO DEL SISTEMA

SEGUNDO DE ASIR

Pgina 20

[SCRIPTS LINUX] 10 de marzo de 2012

3.- CREAR UN GRUPO NUEVO

4.- AADIR UN USUARIO A UN GRUPO DEL SISTEMA

5.- INFORMACIN DE UN USUARIO DEL SISTEMA

6.- BORRAR UN USUARIO DEL SISTEMA

SEGUNDO DE ASIR

Pgina 21

[SCRIPTS LINUX] 10 de marzo de 2012

7.- BORRAR UN GRUPO

SEGUNDO DE ASIR

Pgina 22

[SCRIPTS LINUX] 10 de marzo de 2012

VER SERVICIOS Y PROCESOS (PARARLOS Y/O ARRANCARLOS)


#!/bin/bash echo echo "Procesos del sistema" echo "--------------------" echo echo "1.- Parar procesos" echo "2.- Arrancar procesos" echo "3.- Ver procesos" echo "F.- Salir" echo read -p "Escribe el numero de tu seleccin :" deci if [ "$deci" == 1 ]; then read -p "Escribe el nombre del proceso, para verificar si est activo: (Escribe * para salir) " proc while [ "$proc" != "*" ]; do ps -ax | grep $proc echo read -p "El procesos se detendr Realmente deseas pararlo?: (Escribe si/no) " res if [ "$res" != "no" ]; then if id | grep uid=0; then read -p "Seguro que deseas terminar el proceso $proc?" res2 if [ "$res2" != "no" ]; then read -p "Escribe el nombre del proceso correctamente: " proc2 killall $proc2; echo echo "Proceso $proc2 terminado con exito" fi else echo echo "Acceso denegado, hay que ser sudo para acabar el proceso" echo fi else echo echo "Selecciona otro proceso. (Escribe * para salir)" fi read -p "Escribe el nombre del proceso, para verificar si est activo: (Escribe * para salir) " proc done elif [ "$deci" == 2 ]; then read -p "Escribe el nombre del proceso que quieres arrancar (Escribe * para salir): " proc SEGUNDO DE ASIR Pgina 23

[SCRIPTS LINUX] 10 de marzo de 2012


while [ "$proc" != "*" ]; do ps -ax | grep $proc echo read -p "Realmente deseas arrancar el proceso? (Escribe si/no) " res if [ "$res" != "no" ]; then read -p "Escribe el nombre del proceso correctamente: " proc2 #find /etc/init.d/ -name $proc sudo /etc/init.d/$proc2* start fi read -p "Escribe el nombre del proceso que quieres arrancar (Escribe * para salir): " proc done elif [ "$deci" == 3 ]; then echo "Lista de procesos activos" echo "-------------------------" echo ps -an else echo echo "Bye!" echo fi echo echo "Bye!" echo

SEGUNDO DE ASIR

Pgina 24

[SCRIPTS LINUX] 10 de marzo de 2012

MENU CON LAS DIFERENTES OPCIONES

PARAR PROCESOS

SEGUNDO DE ASIR

Pgina 25

[SCRIPTS LINUX] 10 de marzo de 2012

INICIAR PROCESOS

VER PROCESOS

SEGUNDO DE ASIR

Pgina 26

Potrebbero piacerti anche