Scripts de Administración Linux
Short Description
2012 SCRIPTS LINUX UBUNTU 11.04 Javier García Cambronel SEGUNDO DE ASIR 10/03/2012 [SCRIPTS LINUX] 10 de marzo de 201...
Description
2012
SCRIPTS LINUX UBUNTU 11.04
Javier García 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 "contraseña: " 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 opción 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
Página 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
Página 2
[SCRIPTS LINUX]
10 de marzo de 2012
COMPROBACION 1 – MENÚ Y LISTAR TODOS LOS OBJETOS Se nos pedirá el nombre del dominio, la terminación de este y la contraseña 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
Página 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
Página 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 "contraseña: " 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" ou=$nuevaou,$base" > OuPersonal.ldif OuPersonal.ldif echo "objectClass: organizationalUnit" >> OuPersonal.ldif echo "ou: $nuevaou" >> OuPersonal.ld OuPersonal.ldif if sudo ldapadd -D $rootdn -w $pass $ 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 -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
Página 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
Página 6
[SCRIPTS LINUX]
10 de marzo de 2012
COMPROBACION CREACION DE UNIDADES ORGANIZATIVAS Se nos pedirá el nombre del dominio, la terminación de este y la contraseña 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
Página 7
[SCRIPTS LINUX]
10 de marzo de 2012
BORRADO DE UNIDADES ORGANIZATIVAS Se nos pedirá el nombre del dominio, la terminación de este y la contraseña 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 imágenes.
Podemos comprobar desde softerra mismamente que se s e ha borrado perfectamente
SEGUNDO DE ASIR
Página 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 "contraseña: " 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
Página 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 N uevoUser.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
Página 10
[SCRIPTS LINUX]
10 de marzo de 2012
COMPROBACION CREAR USUARIOS Se nos pedirá el nombre del dominio, la terminación de este, la contraseña 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 imágenes.
Vemos que el usuario David, se ha creado perfectamente
SEGUNDO DE ASIR
Página 11
[SCRIPTS LINUX]
10 de marzo de 2012
BORRAR USUARIOS Podremos borrarlo directamente, antes de que se termine de ejecutar, si no se s e nos volvería a pedir el dominio y los demás datos necesarios, siendo así, solo tendremos que seleccionar la 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.
SEGUNDO DE ASIR
Página 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 -xLLL -b "dc=$base1,dc=$base2" > /home/$nomsis/respaldo /home/$nomsis/respaldo-dc=$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= / home/$nomsis/respaldo-dc=$base1,dc=$base2-`date $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
Página 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
Página 14
[SCRIPTS LINUX]
10 de marzo de 2012
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 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 recién creado
SEGUNDO DE ASIR
Página 15
[SCRIPTS LINUX]
10 de marzo de 2012
Y se iniciara, la restauración
Una vez terminada la restauración, podremos ver el estado actual del sistema
SEGUNDO DE ASIR
Página 16
[SCRIPTS LINUX]
10 de marzo de 2012
ADMINISTRACION UBUNTU #!/bin/bash #Script de Administración 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\" s u\" sin las comillas." exit 1 fi
#Presentación. echo echo "Script de Administración de Linux Ubuntu v. 0.1" echo "------ -- -------------- -- ----- ------ -- ---" echo #Menu de Administración while [ "$opcion" != "0" ] do #Mostramos el menú echo echo "Menú" echo "----" echo " 1. Crear un usuario." echo " 2. Cambiarle la contraseña a un usuario." echo " 3. Crear grupo." echo " 4. Añadir 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 opción: " read opcion case $opcion in 1) echo echo -n -n " Dame el nombre del usuario a crear: " read nombre echo adduser $nombre
SEGUNDO DE ASIR
Página 17
[SCRIPTS LINUX]
10 de marzo de 2012
echo ;; 2) echo echo -n " Dame el nombre del usuario a cuya contraseña quieres cambiar: 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 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
Página 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
Página 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 CONTRASEÑA A UN USUARIO DEL SISTEMA
SEGUNDO DE ASIR
Página 20
[SCRIPTS LINUX]
10 de marzo de 2012
3.- CREAR UN GRUPO NUEVO
4.- AÑADIR UN USUARIO A UN GRUPO DEL SISTEMA S ISTEMA
5.- INFORMACIÓN DE UN USUARIO DEL SISTEMA
6.- BORRAR UN USUARIO DEL SISTEMA
SEGUNDO DE ASIR
Página 21
[SCRIPTS LINUX]
10 de marzo de 2012
7.- BORRAR UN GRUPO
SEGUNDO DE ASIR
Página 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 selección :" 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
Página 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
Página 24
[SCRIPTS LINUX]
10 de marzo de 2012
MENU CON LAS DIFERENTES OPCIONES
PARAR PROCESOS
SEGUNDO DE ASIR
Página 25
[SCRIPTS LINUX]
10 de marzo de 2012
INICIAR PROCESOS
VER PROCESOS
SEGUNDO DE ASIR
Página 26
View more...
Comments