Revisión 535
Añadido por Alfonso Pastor hace alrededor de 10 años
scripts/ltsp-server/backupltsp.sh | ||
---|---|---|
#!/bin/bash
|
||
#Hace una copia de seguridad de los ficheros relevantes de los servidores de aula de la red:
|
||
# /etc/udev/rules.d/70-persistent-net.rules
|
||
# /var/lib/aulalinex-profesor/aulalinex-profesor.conf
|
||
# /var/lib/aulalinex-profesor-ltsp/setup.ini
|
||
# /etc/hostapd/hostapd.accept
|
||
# /etc/hostapd/hostapd.conf
|
||
#Ejecutar desde un ordenador donde se tenga relacion de confianza con todos los servidores de aula, para evitar la petición de contraseñas.
|
||
#Version: 1.5
|
||
#Fecha : 11/10/2012
|
||
#Autor : Alfonso Pastor
|
||
# IES Virgen de Guadalupe (Cáceres)
|
||
|
||
servidoresaula=$(ldapsearch -xLLL -h ldap -b cn=ltsp-server-hosts,ou=Netgroup,dc=instituto,dc=extremadura,dc=es "nisNetgroupTriple" |grep -v "dn:"| cut -f2 -d "(" | cut -f1 -d",")
|
||
|
||
listaficheros="/etc/udev/rules.d/70-persistent-net.rules /var/lib/aulalinex-profesor/aulalinex-profesor.conf /var/lib/aulalinex-profesor-ltsp/setup.ini /etc/hostapd/hostapd.accept /etc/hostapd/hostapd.conf"
|
||
|
||
for servidoraula in $servidoresaula
|
||
do
|
||
echo "Backup de $servidoraula:"
|
||
mkdir -p backupltsp/$servidoraula
|
||
for ruta in $listaficheros
|
||
do
|
||
fichero=$(basename $ruta)
|
||
if scp root@$servidoraula:$ruta backupltsp/$servidoraula/$fichero > /dev/null 2>&1
|
||
then
|
||
echo " Copiado: $fichero"
|
||
else
|
||
echo " No encontrado: $fichero"
|
||
fi
|
||
done
|
||
|
||
done
|
||
echo "Finalizado: tiene todos los datos que se han podido copiar en ./backupltsp"
|
||
|
||
scripts/nfs/limpiar-credenciales.sh | ||
---|---|---|
#!/bin/bash
|
||
# Ejecutar en el servidor nfs.
|
||
# Borra las credenciales puppet del equipo indicado como parametro.
|
||
# Alfonso Pastor. IES Virgen de Guadalupe.
|
||
if [ $# -ne 1 ]
|
||
then
|
||
echo "Uso: `basename $0` <nombre equipo>"
|
||
exit 1
|
||
fi
|
||
equipo=$1
|
||
rm /var/lib/puppet/ssl/ca/signed/${equipo}.vguadalupe.pem
|
||
rm /var/lib/puppet/yaml/node/${equipo}.vguadalupe.yaml
|
||
rm /var/lib/puppet/yaml/facts/${equipo}.vguadalupe.yaml
|
||
|
||
scripts/nfs/copiar-escritorio-todos-alumnos.sh | ||
---|---|---|
#!/bin/bash
|
||
#Para ejecutar en el servidor nfs
|
||
#Copia un fichero en el escritorio de todos los alumnos.
|
||
#Si se añade el parametro -i el fichero se hace inmutablep para que no pueda ser borrado
|
||
#Alfonso Pastor. IES Virgen de Guadalupe.
|
||
|
||
function error() {
|
||
echo "Uso: $0 [-i] fichero"
|
||
echo " -i : hacer el fichero inmutable tras copiarlo"
|
||
exit
|
||
}
|
||
|
||
function copiar_escritorio() {
|
||
# 3 parametros: ruta home destino, fichero a copiar, "I" hacerlo inmutable
|
||
|
||
destino=$1
|
||
fichero=$2
|
||
inmutable=$3
|
||
|
||
uid=$(stat -c%u $destino)
|
||
if test ! -d $destino/Desktop
|
||
then
|
||
echo "El usuario $destino no tiene escritorio. Creandolo...."
|
||
mkdir $destino/Desktop
|
||
chown $uid:$uid $destino/Desktop
|
||
chmod 2755 $destino/Desktop
|
||
fi
|
||
cp -p $fichero $destino/Desktop
|
||
chown $uid:$uid $destino/Desktop/$fichero
|
||
if [ "$inmutable" = "I" ]
|
||
then
|
||
chattr +i /home/alumnos/$i/Desktop/$fichero
|
||
fi
|
||
|
||
}
|
||
|
||
|
||
if test $# -eq 0
|
||
then
|
||
error
|
||
fi
|
||
|
||
if [ "$1" = "-i" ]
|
||
then
|
||
cambiar="I"
|
||
fichero=$2
|
||
if test -z "$fichero"
|
||
then
|
||
error
|
||
fi
|
||
else
|
||
cambiar="N"
|
||
fichero=$1
|
||
fi
|
||
|
||
echo "Fichero a copiar: $*"
|
||
for i in $(ls /home/alumnos); do
|
||
echo "Copiando al escritorio del alumno $i"
|
||
copiar_escritorio /home/alumnos/$i $fichero $cambiar
|
||
done
|
||
|
||
scripts/nfs/despierta-equipo.sh | ||
---|---|---|
#!/bin/bash
|
||
|
||
#Manda una orden WOL al equipo indicado como parametro. Debe estar dado de alta en ldap.
|
||
#Alfonso Pastor. IES Virgen de Guadalupe.
|
||
|
||
if [ $# -eq 0 ]; then
|
||
echo "Uso: $0 hostname ..."
|
||
exit
|
||
fi
|
||
|
||
for i in $*
|
||
do
|
||
mac=$(ldapsearch -xLLL -h ldap -b cn=$i,cn=group1,cn=INTERNAL,cn=DHCP\ Config,dc=instituto,dc=extremadura,dc=es "dhcpHWAddress" | grep ethernet | grep -v '00:00:00:00:00:00' | cut -f3 -d " "
|
||
)
|
||
echo "Despertando $i con mac $mac"
|
||
wakeonlan $mac
|
||
etherwake $mac
|
||
done
|
||
|
||
|
||
scripts/nfs/copiar-skel-xfce-todos.sh | ||
---|---|---|
#!/bin/bash
|
||
|
||
#Para ejecutar en el servidor nfs
|
||
#Copia un skel ubicado en /root/scripts/skel-xfce sobre todos los usuarios, preservando los ficheros que ya existan en cada perfil
|
||
#Alfonso Pastor. IES Virgen de Guadalupe.
|
||
|
||
function copiar_skel() {
|
||
ruta=$1
|
||
uid=$(stat -c%u "$ruta")
|
||
shopt -s dotglob # Para copiar tambien los archivos ocultos
|
||
cd /root/scripts/skel-xfce
|
||
cp -pfR * "$ruta"
|
||
chown -R $uid:$uid "$ruta"
|
||
cd -
|
||
shopt -u dotglob
|
||
}
|
||
|
||
for i in in $(ls /home/alumnos)
|
||
do
|
||
echo "Copiando al home alumno $i"
|
||
copiar_skel "/home/alumnos/$i"
|
||
done
|
||
|
||
for i in $(ls /home/profesor)
|
||
do
|
||
if [ "$i" != "/home/profesor/dpto" ]
|
||
then
|
||
echo "Copiando al home del profesor $i"
|
||
copiar_skel "/home/profesor/$i"
|
||
fi
|
||
done
|
||
|
||
exit 0
|
||
|
||
scripts/nfs/limpiar_usuarios.sh | ||
---|---|---|
#!/bin/sh
|
||
# Ejecutar en el servidor nfs. Lo ideal es ponerlo en el crontab y ejecutarlo cada noche.
|
||
# Borra los directorios thumbnails (visor de fotos), cache de java, cache de mozilla,
|
||
# base de datos mozilla, applet actualizacion (apt-watch), cache de openoffice y papelera.
|
||
# Francisco Rodrigo
|
||
|
||
cd /home/profesor/
|
||
for i in *
|
||
do
|
||
if [ -d $i/Desktop ]; then
|
||
if [ $i != "dpto" ]
|
||
then
|
||
rm -rf $i/.thumbnails
|
||
rm -rf $i/.java/deployment/cache
|
||
rm -rf $i/.local/share/Trash
|
||
rm -rf $i/.mozilla/firefox/*.default/Cache/*
|
||
rm -rf $i/.googleearth/Cache/*
|
||
rm -rf $i/.cache/google-chrome/*
|
||
# Si queremos comprimir la base de datos sqlite hacemos lo siguiente (necesita tener instalado sqlite3 en el servidor nfs y en mayhave):
|
||
for f in $i/.mozilla/firefox/*/*.sqlite; do sqlite3 $f 'VACUUM;'; done
|
||
# Si queremos borrar las bases de datos hacemos esto otro:
|
||
#rm -rf $i/.mozilla/firefox/*.default/*.sqlite*
|
||
rm -rf $i/.openoffice.org/3/user/uno_packages/cache
|
||
rm -rf $i/.openoffice.org/3/user/registry/cache
|
||
rm -rf $i/.evolution/cache
|
||
rm -rf $i/.apt-watch
|
||
#Desbloqueamos firefox por si se queda colgado
|
||
rm -rf $i/.mozilla/firefox/*.default/lock
|
||
fi
|
||
fi
|
||
done
|
||
cd -
|
||
|
||
cd /home/alumnos/
|
||
for i in *
|
||
do
|
||
rm -rf $i/.thumbnails
|
||
rm -rf $i/.java/deployment/cache
|
||
rm -rf $i/.local/share/Trash
|
||
rm -rf $i/.mozilla/firefox/*.default/Cache/*
|
||
rm -rf $i/.googleearth/Cache/*
|
||
rm -rf $i/.cache/google-chrome/*
|
||
#for f in $i/.mozilla/firefox/*/*.sqlite; do sqlite3 $f 'VACUUM;'; done
|
||
rm -rf $i/.mozilla/firefox/*.default/*.sqlite*
|
||
rm -rf $i/.openoffice.org/3/user/uno_packages/cache
|
||
rm -rf $i/.openoffice.org/3/user/registry/cache
|
||
rm -rf $i/.evolution/cache
|
||
rm -rf $i/.apt-watch
|
||
#Desbloqueamos firefox por si se queda colgado
|
||
rm -rf $i/.mozilla/firefox/*.default/lock
|
||
#Limpiamos la carpeta recibidos del alumno y enviados. De momento no.
|
||
#rm -rf $i/recibidos_profesor/*
|
||
#rm -rf $i/enviar_profesor/*
|
||
done
|
||
cd -
|
||
scripts/nfs/copiar-escritorio-todos-profesores.sh | ||
---|---|---|
#!/bin/bash
|
||
#Para ejecutar en el servidor nfs
|
||
#Copia una serie de ficheros en el escritorio de todos los profesores.
|
||
#Alfonso Pastor. IES Virgen de Guadalupe.
|
||
|
||
echo "Ficheros a copiar: $*"
|
||
for i in $(ls /home/profesor); do
|
||
echo "Copiando al escritorio del profesor $i"
|
||
uid=$(stat -c%u /home/profesor/$i)
|
||
if test ! -d /home/profesor/$i/Desktop
|
||
then
|
||
echo "El usuario $i no tiene escritorio. Creandolo...."
|
||
mkdir /home/profesor/$i/Desktop
|
||
chown $uid:$uid /home/profesor/$i/Desktop
|
||
chmod 2755 /home/profesor/$i/Desktop
|
||
fi
|
||
cp -pfR "$*" /home/profesor/$i/Desktop
|
||
for fichero in "$*" ; do
|
||
chown -R $uid:$uid "/home/profesor/$i/Desktop/$fichero"
|
||
done
|
||
done
|
||
|
||
scripts/nfs/copiar-skel-xfce-user.sh | ||
---|---|---|
#!/bin/bash
|
||
|
||
#Para ejecutar en el servidor nfs
|
||
#Copia un skel ubicado en /root/scripts/skel-xfce sobre el usuario indicado como parametro. Se debe indicar la ruta completa del home.
|
||
#Alfonso Pastor. IES Virgen de Guadalupe.
|
||
|
||
function copiar_skel() {
|
||
ruta=$1
|
||
uid=$(stat -c%u "$ruta")
|
||
shopt -s dotglob # Para copiar tambien los archivos ocultos
|
||
cd /root/scripts/skel-xfce
|
||
cp -pfR * "$ruta"
|
||
chown -R $uid:$uid "$ruta"
|
||
cd -
|
||
shopt -u dotglob
|
||
}
|
||
|
||
ruta=$1
|
||
if [ -z $ruta ]
|
||
then
|
||
echo "Debes indicar la ruta del home a copiar skel"
|
||
else
|
||
|
||
echo "Copiando al home $ruta"
|
||
copiar_skel "$ruta"
|
||
fi
|
||
|
||
scripts/ldap/addipfija.sh | ||
---|---|---|
#!/bin/bash
|
||
|
||
#Añade un equipo (impresora, switch, etc) que tendra IP Fija al directorio LDAP, sin añadirlo a ningún
|
||
#grupo de Netgroups.
|
||
#Basado en el script addworkstation.sh de Ricardo Salgado Cid (IESO Galisteo)
|
||
#Alfonso Pastor. IES Virgen de Guadalupe.
|
||
|
||
if [ $# -ne 3 ]; then
|
||
echo "Uso: $0 hostname ip mac"
|
||
exit
|
||
fi
|
||
|
||
|
||
dominio=`hostname -d`
|
||
host=$1
|
||
ip=$2
|
||
ip1=`echo $2 | cut -d"." -f1`
|
||
ip2=`echo $2 | cut -d"." -f2`
|
||
ip3=`echo $2 | cut -d"." -f3`
|
||
ip4=`echo $2 | cut -d"." -f4`
|
||
mac=`echo $3 |tr '[:lower:]' '[:upper:]'`
|
||
|
||
FICHERO=$host.$dominio.ldif
|
||
if [ -e $FICHERO ]; then
|
||
rm $FICHERO
|
||
fi
|
||
|
||
echo "
|
||
dn: dc=$ip4,dc=$ip3,dc=$ip2,dc=$ip1,dc=in-addr,dc=arpa,ou=hosts,dc=instituto,dc=extremadura,dc=es
|
||
changetype: add
|
||
objectclass: dnsdomain2
|
||
objectclass: domainrelatedobject
|
||
dc: $ip4
|
||
associateddomain: $ip4.$ip3.$ip2.$ip1.in-addr.arpa
|
||
PTRRecord: $host.$dominio
|
||
|
||
dn: dc=$host,dc=$dominio,ou=hosts,dc=instituto,dc=extremadura,dc=es
|
||
changetype: add
|
||
objectclass: dnsdomain2
|
||
objectclass: domainrelatedobject
|
||
dc: $host
|
||
associateddomain: $host.$dominio
|
||
ARecord: $ip
|
||
|
||
dn: cn=$host,cn=group1,cn=INTERNAL,cn=DHCP Config,dc=instituto,dc=extremadura,dc=es
|
||
changetype: add
|
||
cn: $host
|
||
objectClass: top
|
||
objectClass: dhcpHost
|
||
dhcpHWAddress: ethernet $mac
|
||
dhcpStatements: fixed-address $host
|
||
" > $FICHERO
|
||
|
||
echo "Añadiendo $host.$dominio a ldap con ip=$ip y mac=$mac"
|
||
|
||
ldapadd -c -x -h ldap -W -D "cn=admin,ou=People,dc=instituto,dc=extremadura,dc=es" -f $FICHERO
|
||
|
||
scripts/ldap/genexpal_profes.sh | ||
---|---|---|
#!/bin/sh
|
||
|
||
# Tiene de entrada un fichero de profesores descargado de Rayuela. Elimina de ?l los
|
||
# profesores ya dados de alta en Rayuela, de manera que quedan solamente los nuevos.
|
||
# Este script debe estar en el mismo directorio que el archivo .xml de exportacion
|
||
# de profes de Rayuela mas reciente (bueno, cualquiera vale, pero lo suyo es tener
|
||
# los profes al dia).
|
||
# Funcionamiento : genexpal_profes.sh Exportacion_Datos_Profes_Mas_Reciente.xml
|
||
|
||
if [ -f ./Profes_Nuevos.xml ]; then
|
||
rm -f ./Profes_Nuevos.xml
|
||
fi
|
||
|
||
clear
|
||
|
||
if [ $# -lt 1 ]; then
|
||
echo
|
||
echo Funcionamiento : genexpal_profes.sh Exportacion_Datos_Profes_Mas_Reciente.xml
|
||
ls -lh
|
||
exit 1
|
||
fi
|
||
|
||
if [ ! -f $1 ]; then
|
||
echo
|
||
echo Funcionamiento : genexpal_profes.sh Exportacion_Datos_Profes_Mas_Reciente.xml
|
||
echo Y ademas tiene que existir $1.
|
||
ls -lh
|
||
exit 1
|
||
fi
|
||
|
||
# Sacamos los nie para no hacer grep sobre un fichero tan gordo todo el tiempo
|
||
ldapsearch -xLLL -h ldap -b "ou=People,dc=instituto,dc=extremadura,dc=es" homeDirectory employeeNumber | tr '\n' ' ' | sed 's/dc=es/dc=es\n/g' | grep profesor | cut -d" " -f5 | grep -v "dn:" > dnis
|
||
|
||
# Estas tonter?as son para el porcentaje
|
||
total_lineas=`wc -l ./$1 | cut -d" " -f1`
|
||
lineas=1
|
||
|
||
# Variable de guarda, para saber cu?ndo copiar
|
||
copiar=si
|
||
|
||
clear
|
||
|
||
echo Empezamos, esto va a tardar un ratillo...
|
||
|
||
while [ $lineas -le $total_lineas ]
|
||
do
|
||
linea=`head -$lineas ./$1 | tail -1`
|
||
etiqueta=`echo $linea | tr '<' '>' | cut -d">" -f2`
|
||
|
||
tpc=`expr $lineas \* 100 / $total_lineas`
|
||
echo -n "Procesando l?nea $lineas...$tpc% completado..."
|
||
echo -ne "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b"
|
||
lineas=`expr $lineas + 1`
|
||
|
||
if [ "$etiqueta" = "dni" ]; then
|
||
valor_dni=`echo $linea | tr '<' '>' | cut -d">" -f3`
|
||
if [ "`grep -c "$valor_dni" dnis`" != "0" ]; then
|
||
copiar=no
|
||
else
|
||
copiar=si
|
||
echo "<profesor>" >> Profes_Nuevos.xml
|
||
fi
|
||
fi
|
||
|
||
if [ "$copiar" = "si" -a "$etiqueta" != "profesor" ]; then
|
||
echo "$linea" >> Profes_Nuevos.xml
|
||
fi
|
||
|
||
if [ "$copiar" = "no" -a "$etiqueta" = "/profesor" ]; then
|
||
copiar=si
|
||
fi
|
||
|
||
done
|
||
|
||
rm -f dnis
|
||
|
||
echo
|
||
echo Exportacion generada : Profes_Nuevos.xml
|
||
echo Contiene `grep -c "<profesor>" Profes_Nuevos.xml` nuevos profes para incluir.
|
||
|
||
scripts/ldap/limpiar-cache-squid.sh | ||
---|---|---|
#!/bin/bash
|
||
#Ejecutar en el servidor ldap. Limpia la caché del squid y lo reinicia.
|
||
#Alfonso Pastor. IES Virgen de Guadalupe.
|
||
cd /var/spool
|
||
/etc/init.d/squid stop
|
||
rm -Rf squid
|
||
mkdir squid
|
||
chown proxy:proxy squid
|
||
chmod 750 squid
|
||
/etc/init.d/squid start
|
||
|
||
scripts/ldap/delhost-workstation.sh | ||
---|---|---|
#!/bin/bash
|
||
|
||
#Borra un host del directorio LDAP
|
||
#Ricardo Salgado Cid
|
||
#IESO Galisteo
|
||
#
|
||
#20/03/11 Release incial ()
|
||
|
||
if [ $# -ne 1 ]; then
|
||
echo "Uso: $0 hostname"
|
||
exit
|
||
fi
|
||
|
||
|
||
dominio=`hostname -d`
|
||
host=$1
|
||
dn=$(ldapsearch -xLLL -h ldap -b cn="DHCP Config",dc=instituto,dc=extremadura,dc=es "(&(objectClass=dhcpHost)(cn=$host))" dn | perl -p0e 's/\n //g')
|
||
|
||
if [ ! "$dn" ] ; then
|
||
echo "No hay ningun equipo llamado $host"
|
||
exit 1
|
||
fi
|
||
|
||
ip=$(ldapsearch -xLLL -h ldap -b dc="$dominio",ou="hosts",dc=instituto,dc=extremadura,dc=es "(&(|(objectClass=dNSDomain2)(objectClass=dNSDomain))(dc=$host))" | grep aRecord: | cut -d" " -f2)
|
||
|
||
ip1=$(echo $ip | cut -d"." -f1)
|
||
ip2=$(echo $ip | cut -d"." -f2)
|
||
ip3=$(echo $ip | cut -d"." -f3)
|
||
ip4=$(echo $ip | cut -d"." -f4)
|
||
|
||
FICHERO=$host.$dominio.ldif
|
||
if [ -e $FICHERO ]; then
|
||
rm $FICHERO
|
||
fi
|
||
|
||
echo "
|
||
dn: dc=$ip4,dc=$ip3,dc=$ip2,dc=$ip1,dc=in-addr,dc=arpa,ou=hosts,dc=instituto,dc=extremadura,dc=es
|
||
changetype: delete
|
||
|
||
dn: dc=$host,dc=$dominio,ou=hosts,dc=instituto,dc=extremadura,dc=es
|
||
changetype: delete
|
||
|
||
dn: cn=$host,cn=group1,cn=INTERNAL,cn=DHCP Config,dc=instituto,dc=extremadura,dc=es
|
||
changetype: delete
|
||
|
||
" > $FICHERO
|
||
|
||
echo "dn: cn=workstation-hosts, ou=Netgroup,dc=instituto,dc=extremadura,dc=es
|
||
changetype: modify" >> $FICHERO
|
||
echo "replace: nisNetgroupTriple" >> $FICHERO
|
||
ldapsearch -xLLL -h ldap -b ou=Netgroup,dc=instituto,dc=extremadura,dc=es "(cn=workstation-hosts)" | grep nisNetgroupTriple | grep -v "nisNetgroupTriple: ($host," | while read triple
|
||
do
|
||
echo $triple >> $FICHERO
|
||
done
|
||
|
||
echo "Borrando $host.$dominio de ldap con ip=$ip"
|
||
|
||
ldapadd -c -x -H ldaps://ldap.$dominio -W -D "cn=admin,ou=People,dc=instituto,dc=extremadura,dc=es" -f $FICHERO
|
||
|
||
|
||
read -p "Intentar borrar tambien los restos en puppet (s/n)?"
|
||
if [ $REPLY != "s" ]; then
|
||
exit 1
|
||
fi
|
||
|
||
if [ "$(hostname)" = "servidor" ]; then
|
||
puppetca --clean $host.$dominio; rm /var/lib/puppet/yaml/facts/$host.$dominio.yaml; rm /var/lib/puppet/yaml/node/$host.$dominio.yaml
|
||
else
|
||
echo "Es necesaria la contrseña de root del servidor nfs"
|
||
ssh root@servidor "puppetca --clean $host.$dominio; rm /var/lib/puppet/yaml/facts/$host.$dominio.yaml; rm /var/lib/puppet/yaml/node/$host.$dominio.yaml"
|
||
fi
|
||
|
||
|
||
scripts/ldap/restauraldap.sh | ||
---|---|---|
#!/bin/bash
|
||
|
||
#Ejecutar en el servidor ldap. Restaura el árbol ldap completo de una copia previa del ldip.
|
||
#Complementario a copialdap.sh
|
||
#Alfonso Pastor. IES Virgen de Guadalupe.
|
||
|
||
if [ "$1" == "" ]
|
||
then
|
||
echo "Debe indicar como parametro el fichero ldif".
|
||
exit 1
|
||
fi
|
||
|
||
if [ ! -e $1 ]
|
||
then
|
||
echo "El fichero $1 no existe"
|
||
exit 1
|
||
fi
|
||
|
||
|
||
echo "Restaurando ldap desde $1"
|
||
|
||
/etc/init.d/slapd stop
|
||
|
||
rm /var/lib/ldap/*
|
||
|
||
slapadd -l $1
|
||
|
||
chown -R openldap:openldap /var/lib/ldap/
|
||
|
||
/etc/init.d/slapd start
|
||
scripts/ldap/copialdap.sh | ||
---|---|---|
#!/bin/bash
|
||
#Ejecutar en el servidor ldap. Hace copia de seguridad del arbol ldap en la ruta "/root/scripts/"
|
||
#Alfonso Pastor. IES Virgen de Guadalupe.
|
||
/etc/init.d/slapd stop
|
||
fecha=$(date +%F )
|
||
copia="/root/scripts/copia-seguridad-ldap-$fecha.ldif"
|
||
slapcat > $copia
|
||
/etc/init.d/slapd start
|
||
echo "Copiado en $copia".
|
||
|
||
|
||
scripts/ldap/genexpal.sh | ||
---|---|---|
#!/bin/sh
|
||
|
||
# Tiene de entrada un fichero de alumnos descargado de rayuela. Elimina de dicho fichero
|
||
# los alumnos que ya est?n en ldap, de tal manera que quedan solamente los nuevos alumnos.
|
||
# Este script debe estar en el mismo directorio que el archivo .zip de exportacion
|
||
# de alumnos de Rayuela mas reciente (bueno, cualquiera vale, pero lo suyo es tener
|
||
# los alumnos al dia).
|
||
# Funcionamiento : genexpal.sh Exportacion_Mas_Reciente.zip
|
||
|
||
|
||
rm -f Alumnos_nuevos.xml
|
||
rm -r ./NuevaExportacion
|
||
|
||
clear
|
||
|
||
echo -n "Contraseña de administrador de la BBDD ldap:"
|
||
read pwd
|
||
|
||
|
||
if [ $# -lt 1 ]; then
|
||
echo
|
||
echo Funcionamiento : genexpal.sh Exportacion_Mas_Reciente.zip
|
||
ls -lh
|
||
exit 1
|
||
fi
|
||
|
||
if [ ! -f $1 ]; then
|
||
echo
|
||
echo Funcionamiento : genexpal.sh Exportacion_Mas_Reciente.zip
|
||
echo Y ademas tiene que existir $1.
|
||
ls -lh
|
||
exit 1
|
||
fi
|
||
|
||
error=`unzip -t $1 | grep "No errors detected"`
|
||
|
||
if [ "$error" = "" ]; then
|
||
echo
|
||
echo Errores en fichero comprimido $1, abortando...
|
||
exit 1
|
||
fi
|
||
|
||
unzip -o $1 -d ./NuevaExportacion/
|
||
|
||
# Sacamos los nie para no hacer grep sobre un fichero tan gordo todo el tiempo
|
||
ldapsearch -w $pwd -xLLL -h ldap -b "ou=People,dc=instituto,dc=extremadura,dc=es" homeDirectory| tr '\n' ' ' | sed 's/dc=es/dc=es\n/g' | grep alumnos | tr '/' ' '| cut -d" " -f6 > estudiantes
|
||
#ldapsearch -w $pwd -xLLL -h ldap -b "cn=students,ou=Group,dc=instituto,dc=extremadura,dc=es" member | tr '=,' ' ' | cut -d" " -f3 > estudiantes
|
||
|
||
while read ident
|
||
do
|
||
ldapsearch -w $pwd -xLLL -h ldap -b "uid=$ident,ou=People,dc=instituto,dc=extremadura,dc=es" employeeNumber | grep employeeNumber | cut -d" " -f2 >> nies_existentes
|
||
done < estudiantes
|
||
|
||
|
||
# Estas tonter?as son para el porcentaje
|
||
total_lineas=`wc -l ./NuevaExportacion/Alumnos.xml | cut -d" " -f1`
|
||
lineas=1
|
||
|
||
# Variable de guarda, para saber cu?ndo copiar
|
||
copiar=si
|
||
|
||
clear
|
||
|
||
echo Empezamos, esto va a tardar un ratillo...
|
||
|
||
while [ $lineas -le $total_lineas ]
|
||
do
|
||
linea=`head -$lineas ./NuevaExportacion/Alumnos.xml | tail -1`
|
||
etiqueta=`echo $linea | tr '<' '>' | cut -d">" -f2`
|
||
|
||
tpc=`expr $lineas \* 100 / $total_lineas`
|
||
echo -n "Procesando l?nea $lineas...$tpc% completado..."
|
||
echo -ne "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b"
|
||
lineas=`expr $lineas + 1`
|
||
|
||
if [ "$etiqueta" = "nie" ]; then
|
||
valor_nies=`echo $linea | tr '<' '>' | cut -d">" -f3`
|
||
if [ "`grep -c "$valor_nies" nies_existentes`" != "0" ]; then
|
||
copiar=no
|
||
else
|
||
copiar=si
|
||
echo "<alumno>" >> Alumnos_nuevos.xml
|
||
fi
|
||
fi
|
||
|
||
if [ "$copiar" = "si" -a "$etiqueta" != "alumno" ]; then
|
||
echo "$linea" >> Alumnos_nuevos.xml
|
||
fi
|
||
|
||
if [ "$copiar" = "no" -a "$etiqueta" = "nombre-fichero" ]; then
|
||
fichero_foto=`echo $linea | tr '<' '>' | cut -d">" -f3`
|
||
rm -f ./NuevaExportacion/$fichero_foto
|
||
fi
|
||
|
||
if [ "$copiar" = "no" -a "$etiqueta" = "/alumno" ]; then
|
||
copiar=si
|
||
fi
|
||
|
||
done
|
||
|
||
rm -f nies_existentes
|
||
#iconv -t ISO_8859-1//TRANSLIT Alumnos_nuevos.xml -o ./NuevaExportacion/Alumnos.xml
|
||
cp -f Alumnos_nuevos.xml ./NuevaExportacion/Alumnos.xml
|
||
rm -f Alumnos.xml
|
||
rm -f estudiantes
|
||
|
||
cd ./NuevaExportacion
|
||
nuevaexp="NuevaExportacionAlumnos`date +%y%m%d`"
|
||
zip ../$nuevaexp *
|
||
cd ..
|
||
rm -r ./NuevaExportacion
|
||
echo
|
||
echo Exportacion generada : $nuevaexp.zip
|
||
echo Contiene `grep -c "<alumno>" Alumnos_nuevos.xml` nuevos alumnos para incluir.
|
||
rm -f Alumnos_nuevos.xml
|
||
|
||
scripts/ldap/renhost-workstation.sh | ||
---|---|---|
#!/bin/bash
|
||
|
||
#Modifica el nombre de un equipo en LDAP
|
||
#Ricardo Salgado Cid
|
||
#IESO Galisteo
|
||
#
|
||
#20/03/12 Adaptado a ldaps
|
||
#07/10/10 Modificacion para que funcione adecuadamente con los host con los que se uso lwat
|
||
#17/09/10 Release incial ()
|
||
|
||
|
||
PASSWORDLDAP=""
|
||
#Usa el valor de esta variable como password de ldap en vez de pedirla en cada ocasión.
|
||
#Ojo!, utilizar con cuidado
|
||
|
||
if [ $# -ne 2 ]; then
|
||
echo "Uso: $0 nombre_actual nuevo_nombre"
|
||
exit
|
||
fi
|
||
|
||
dominio=`hostname -d`
|
||
nactual=$1
|
||
nnuevo=$2
|
||
|
||
FICHERO=$nnuevo.$dominio.ldif
|
||
if [ -e $FICHERO ]; then
|
||
rm $FICHERO
|
||
fi
|
||
|
||
dnactual=$(ldapsearch -xLLL -h ldap -b cn="DHCP Config",dc=instituto,dc=extremadura,dc=es "(&(objectClass=dhcpHost)(cn=$nactual))" dn | perl -p0e 's/\n //g' )
|
||
|
||
|
||
if [ ! "$dnactual" ] ; then
|
||
echo "No hay ningun equipo llamado $nactual"
|
||
exit 1
|
||
fi
|
||
|
||
if ldapsearch -xLLL -h ldap -b cn="DHCP Config",dc=instituto,dc=extremadura,dc=es "(&(objectClass=dhcpHost)(cn=$nnuevo))" dn | perl -p0e 's/\n //g' > /dev/null ; then
|
||
echo "Ya existe un equipo con el nombre $nnuevo"
|
||
exit 1
|
||
fi
|
||
|
||
|
||
dnnuevo=$(echo $dnactual | sed "s/$nactual/$nnuevo/" )
|
||
|
||
ip=$(ldapsearch -xLLL -h ldap -b dc="$dominio",ou="hosts",dc=instituto,dc=extremadura,dc=es "(&(|(objectClass=dNSDomain2)(objectClass=dNSDomain))(dc=$nactual))" | grep aRecord: | cut -d" " -f2)
|
||
ip1=$(echo $ip | cut -d"." -f1)
|
||
ip2=$(echo $ip | cut -d"." -f2)
|
||
ip3=$(echo $ip | cut -d"." -f3)
|
||
ip4=$(echo $ip | cut -d"." -f4)
|
||
|
||
echo "$dnactual
|
||
changetype: moddn
|
||
newrdn: cn=$nnuevo
|
||
deleteoldrdn: 1
|
||
|
||
$dnnuevo
|
||
changetype: modify
|
||
delete: dhcpStatements
|
||
|
||
$dnnuevo
|
||
changetype: modify
|
||
add: dhcpStatements
|
||
dhcpStatements: fixed-address $nnuevo
|
||
|
||
dn: dc=$nactual,dc=$dominio,ou=hosts,dc=instituto,dc=extremadura,dc=es
|
||
changetype: moddn
|
||
newrdn: dc=$nnuevo
|
||
deleteoldrdn: 1
|
||
|
||
dn: dc=$nnuevo,dc=$dominio,ou=hosts,dc=instituto,dc=extremadura,dc=es
|
||
changetype: modify
|
||
replace: associatedDomain
|
||
associatedDomain: $nnuevo.$dominio
|
||
|
||
dn: dc=$ip4,dc=$ip3,dc=$ip2,dc=$ip1,dc=in-addr,dc=arpa,ou=hosts,dc=instituto,dc=extremadura,dc=es
|
||
changetype: modify
|
||
replace: pTRRecord
|
||
pTRRecord: $nnuevo.$dominio
|
||
|
||
" > $FICHERO
|
||
|
||
#Comprobar si el host tiene la entrada extra que añade lwat
|
||
#y en ese caso modificarla tambien
|
||
entradalwat=$(ldapsearch -xLLL -h ldap -b ou="hosts",dc=instituto,dc=extremadura,dc=es "(&(objectClass=ipHost)(cn=$nactual))" dn | perl -p0e 's/\n //g')
|
||
|
||
if [ "$entradalwat" ]; then
|
||
echo "$entradalwat
|
||
changetype: moddn
|
||
newrdn: cn=$nnuevo
|
||
deleteoldrdn: 1
|
||
">> $FICHERO
|
||
|
||
fi
|
||
|
||
|
||
|
||
echo "dn: cn=workstation-hosts, ou=Netgroup,dc=instituto,dc=extremadura,dc=es
|
||
changetype: modify
|
||
replace: nisNetgroupTriple" >> $FICHERO
|
||
|
||
ldapsearch -xLLL -h ldap -b ou=Netgroup,dc=instituto,dc=extremadura,dc=es "(cn=workstation-hosts)" | grep nisNetgroupTriple | grep -v "nisNetgroupTriple: ($nactual," | while read triple
|
||
do
|
||
echo $triple >> $FICHERO
|
||
done
|
||
|
||
echo "nisNetgroupTriple: ($nnuevo,-,-)" >> $FICHERO
|
||
if [ "$PASSWORDLDAP" ]; then
|
||
ldapmodify -c -x -H ldaps://ldap.$dominio -w$PASSWORDLDAP -D "cn=admin,ou=People,dc=instituto,dc=extremadura,dc=es" -f $FICHERO
|
||
else
|
||
ldapmodify -c -x -H ldaps://ldap.$dominio -W -D "cn=admin,ou=People,dc=instituto,dc=extremadura,dc=es" -f $FICHERO
|
||
fi
|
||
|
||
|
||
read -p "Intentar eliminar los restos del normbre antiguo en puppet (s/n)?"
|
||
if [ $REPLY != "s" ]; then
|
||
exit 1
|
||
fi
|
||
host=$nactual
|
||
if [ "$(hostname)" = "servidor" ]; then
|
||
puppetca --clean $host.$dominio; rm /var/lib/puppet/yaml/facts/$host.$dominio.yaml; rm /var/lib/puppet/yaml/node/$host.$dominio.yaml
|
||
else
|
||
echo "Es necesaria la contrseña de root del servidor nfs"
|
||
ssh root@servidor "puppetca --clean $host.$dominio; rm /var/lib/puppet/yaml/facts/$host.$dominio.yaml; rm /var/lib/puppet/yaml/node/$host.$dominio.yaml"
|
||
fi
|
||
|
||
scripts/ldap/addhost-workstation.sh | ||
---|---|---|
#!/bin/bash
|
||
|
||
#Añade un host al directorio LDAP
|
||
#Ricardo Salgado Cid
|
||
#IESO Galisteo
|
||
#
|
||
#21/03/11 Corregido bug en la comprobacion de si el equipos existe en el Netgroup
|
||
# Adaptado para funcionar con ldaps
|
||
# Ya no es necesario el hack para modificar el Netgroup
|
||
#23/09/09 Corregido problema de compatibilidad con ldap-utils 2.4.x
|
||
#24/03/09 Release incial ()
|
||
|
||
|
||
PASSWORDLDAP=""
|
||
#Usa el valor de esta variable como password de ldap en vez de pedirla en cada ocasión.
|
||
#Ojo!, utilizar con cuidado
|
||
|
||
|
||
if [ $# -ne 3 ]; then
|
||
echo "Uso: $0 hostname ip mac"
|
||
exit
|
||
fi
|
||
|
||
|
||
dominio=`hostname -d`
|
||
host=$1
|
||
ip=$2
|
||
ip1=$(echo $ip | cut -d"." -f1)
|
||
ip2=$(echo $ip | cut -d"." -f2)
|
||
ip3=$(echo $ip | cut -d"." -f3)
|
||
ip4=$(echo $ip | cut -d"." -f4)
|
||
mac=$(echo $3 |tr '[:lower:]' '[:upper:]')
|
||
|
||
FICHERO=$host.$dominio.ldif
|
||
if [ -e $FICHERO ]; then
|
||
rm $FICHERO
|
||
fi
|
||
|
||
echo "
|
||
dn: dc=$ip4,dc=$ip3,dc=$ip2,dc=$ip1,dc=in-addr,dc=arpa,ou=hosts,dc=instituto,dc=extremadura,dc=es
|
||
changetype: add
|
||
objectclass: dnsdomain2
|
||
objectclass: domainrelatedobject
|
||
dc: $ip4
|
||
associateddomain: $ip4.$ip3.$ip2.$ip1.in-addr.arpa
|
||
PTRRecord: $host.$dominio
|
||
|
||
dn: dc=$host,dc=$dominio,ou=hosts,dc=instituto,dc=extremadura,dc=es
|
||
changetype: add
|
||
objectclass: dnsdomain2
|
||
objectclass: domainrelatedobject
|
||
dc: $host
|
||
associateddomain: $host.$dominio
|
||
ARecord: $ip
|
||
|
||
dn: cn=$host,cn=group1,cn=INTERNAL,cn=DHCP Config,dc=instituto,dc=extremadura,dc=es
|
||
changetype: add
|
||
cn: $host
|
||
objectClass: top
|
||
objectClass: dhcpHost
|
||
dhcpHWAddress: ethernet $mac
|
||
dhcpStatements: fixed-address $host
|
||
|
||
" > $FICHERO
|
||
|
||
echo "dn: cn=workstation-hosts, ou=Netgroup,dc=instituto,dc=extremadura,dc=es
|
||
changetype: modify" >> $FICHERO
|
||
echo "replace: nisNetgroupTriple" >> $FICHERO
|
||
ldapsearch -xLLL -h ldap -b ou=Netgroup,dc=instituto,dc=extremadura,dc=es "(cn=workstation-hosts)" | grep nisNetgroupTriple | grep -v "nisNetgroupTriple: ($host," | while read triple
|
||
do
|
||
echo $triple >> $FICHERO
|
||
done
|
||
|
||
echo "nisNetgroupTriple: ($host,-,-)" >> $FICHERO
|
||
|
||
echo "Añadiendo $host.$dominio a ldap con ip=$ip y mac=$mac"
|
||
|
||
if [ "$PASSWORDLDAP" ]; then
|
||
ldapmodify -c -x -H ldaps://ldap.$dominio -w$PASSWORDLDAP -D "cn=admin,ou=People,dc=instituto,dc=extremadura,dc=es" -f $FICHERO
|
||
else
|
||
ldapmodify -c -x -H ldaps://ldap.$dominio -W -D "cn=admin,ou=People,dc=instituto,dc=extremadura,dc=es" -f $FICHERO
|
||
fi
|
||
|
||
scripts/ldap/limpiarGrupos.php | ||
---|---|---|
<?
|
||
# Descripción del Script:
|
||
# Este script borra de los grupos (clases, departamentos, alumnos y profesores) todas las referencias
|
||
# a individuos (members y membersUID) que no existan en LDAP
|
||
# Se instala en /var/www del servidor ldap.
|
||
# Se llama desde el navegador abriendo http://ldap/limpiarGrupos.php
|
||
# Script realizado por:
|
||
# - Manuel Mora Gordillo
|
||
# - Francisco Méndez Palma
|
||
# I.E.S. Santa Eulalia. Mérida
|
||
# Septiembre 2009
|
||
|
||
$host = "localhost"; // Aquí debes poner la ip de tu servidor LDAP
|
||
$puerto = 389;
|
||
|
||
$admin="cn=admin,ou=People,dc=instituto,dc=extremadura,dc=es";
|
||
$passwd=""; // Aquí debes poner tu password
|
||
|
||
|
||
$conex=ldap_connect($host,$puerto) or die ("No ha sido posible conectarse al servidor");
|
||
|
||
if (!ldap_set_option($conex, LDAP_OPT_PROTOCOL_VERSION, 3)){
|
||
echo "Falló la configuracion de protocolo version 3";
|
||
die();
|
||
}
|
||
|
||
if ($conex){
|
||
$r=ldap_bind($conex, $admin, $passwd);
|
||
|
||
if (!$r){
|
||
echo "Upsss, error. Vuelve a intentarlo otra vez.";
|
||
die();
|
||
}
|
||
}
|
||
|
||
|
||
// Obtenemos un listado de todas los individuos que hay en el nodo "People"
|
||
|
||
$dn = "ou=People,dc=instituto,dc=extremadura,dc=es";
|
||
$filtro="uid=*";
|
||
|
||
$solonecesito = array("uid");
|
||
$sr=ldap_search($conex, $dn, $filtro,$solonecesito);
|
||
$info = ldap_get_entries($conex, $sr);
|
||
|
||
$individuosUID = array();
|
||
$individuos = array();
|
||
|
||
for($i=0;$i<count($info);$i++){
|
||
$individuosUID[] = $info[$i]["uid"][0];
|
||
$individuos[] = "uid=".$info[$i]["uid"][0].",ou=People,dc=instituto,dc=extremadura,dc=es";
|
||
}
|
||
|
||
// Obtenemos todos los grupos (clases, departamentos, alumnos y profesores)
|
||
// y revisamos si sus "members" existen, sino lo borramos
|
||
|
||
$dn = "ou=Group,dc=instituto,dc=extremadura,dc=es";
|
||
$filtro="cn=*";
|
||
$solonecesito = array("cn","grouptype","member","memberuid");
|
||
$sr=ldap_search($conex, $dn, $filtro,$solonecesito);
|
||
$info = ldap_get_entries($conex, $sr);
|
||
|
||
for($i=0;$i<count($info);$i++){
|
||
|
||
if($info[$i]["grouptype"][0]=="school_class" ||
|
||
$info[$i]["grouptype"][0]=="school_department" ||
|
||
$info[$i]["grouptype"][0]=="authority_group"){
|
||
|
||
for($j=0;$j<count($info[$i]["member"]);$j++){
|
||
|
||
if(trim($info[$i]["member"][$j])!="" && !in_array($info[$i]["member"][$j],$individuos)){
|
||
|
||
echo "Grupo <b>".$info[$i]["cn"][0]."</b>: el individuo <b>".$info[$i]["member"][$j]."</b> no existe en 'People', lo eliminamos del grupo.<br>";
|
||
|
||
$tmp = array();
|
||
$tmp["member"][0]=$info[$i]["member"][$j];
|
||
|
||
@ldap_mod_del($conex,"cn=".$info[$i]["cn"][0].",ou=Group,dc=instituto,dc=extremadura,dc=es",$tmp);
|
||
}
|
||
}
|
||
for($j=0;$j<count($info[$i]["memberuid"]);$j++){
|
||
|
||
if(trim($info[$i]["memberuid"][$j])!="" && !in_array($info[$i]["memberuid"][$j],$individuosUID)){
|
||
|
||
echo "Grupo <b>".$info[$i]["cn"][0]."</b>: el individuo <b>".$info[$i]["memberuid"][$j]."</b> no existe en 'People', procedemos a eliminarlo del grupo.<br>";
|
||
|
||
$tmp = array();
|
||
$tmp["memberuid"][0]=$info[$i]["memberuid"][$j];
|
||
|
||
@ldap_mod_del($conex,"cn=".$info[$i]["cn"][0].",ou=Group,dc=instituto,dc=extremadura,dc=es",$tmp);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
echo "<br><br><br><b>Nota: Los grupos obligatoriamente deben tener al menos un miembro, si el individuo a borrar es el unico del grupo, no se borrara.</b>";
|
||
|
||
?>
|
scripts/ldap/alumnos-sin-foto.sh | ||
---|---|---|
#!/bin/sh
|
||
#Lista los alumnos que hay sin foto en ldap.
|
||
|
||
ldapsearch -xLLL -h ldap -b "ou=People,dc=instituto,dc=extremadura,dc=es" "(&(objectClass=inetOrgPerson)(!(jpegPhoto=*)))" "homeDirectory" | grep "/home/alumnos" | cut -d"/" -f4
|
||
|
||
scripts/puestos/regenera_grub.sh | ||
---|---|---|
#!/bin/bash
|
||
#Para ser ejecutado como root
|
||
#Regenera el grub de un equipo que no arranca. Se ejecuta desde un disco de rescate (SystemRescueCD, Clonezilla, etc).
|
||
#Alojarlo en el servidor nfs en /var/www/ficheros.
|
||
#Bajarlo con wget http://servidor/ficheros/regenera_grub.sh
|
||
#Hacerlo ejecutable chmod +x regenera_grub.sh
|
||
#Ejecutarlo con los parametros
|
||
# $1 = ruta a la particion con Linux. Ej /dev/sda1
|
||
# $2 = ruta al disco donde va el grub. Ej /dev/sda
|
||
#Alfonso Pastor. IES Virgen de Guadalupe.
|
||
|
||
if [ $# -ne 2 ]
|
||
then
|
||
echo "Ejemplo uso: $0 /dev/sda1 /dev/sda"
|
||
echo "Siendo /dev/sda1 la partición raiz con Linux y /dev/sda el disco donde instalar Grub"
|
||
echo "Las particiones se listan con fdisk -l"
|
||
exit 1
|
||
fi
|
||
|
||
particion=$1
|
||
disco=$2
|
||
|
||
echo "Montando particiones..."
|
||
mount $particion /mnt
|
||
mount --bind /dev /mnt/dev
|
||
mount --bind /dev/pts /mnt/dev/pts
|
||
mount --bind /proc /mnt/proc
|
||
mount --bind /sys /mnt/sys
|
||
|
||
echo "Regenerando grub...."
|
||
chroot /mnt /usr/sbin/grub-install --recheck $disco
|
||
chroot /mnt /usr/sbin/update-grub2
|
||
|
||
echo "Desmontando particiones"
|
||
umount /mnt/dev/pts
|
||
umount /mnt/dev
|
||
umount /mnt/proc
|
||
umount /mnt/sys
|
||
umount /mnt
|
||
|
||
echo "Fin"
|
scripts/puestos/mintldap/nscd.conf | ||
---|---|---|
#
|
||
# /etc/nscd.conf
|
||
#
|
||
# An example Name Service Cache config file. This file is needed by nscd.
|
||
#
|
||
# Legal entries are:
|
||
#
|
||
# logfile <file>
|
||
# debug-level <level>
|
||
# threads <initial #threads to use>
|
||
# max-threads <maximum #threads to use>
|
||
# server-user <user to run server as instead of root>
|
||
# server-user is ignored if nscd is started with -S parameters
|
||
# stat-user <user who is allowed to request statistics>
|
||
# reload-count unlimited|<number>
|
||
# paranoia <yes|no>
|
||
# restart-interval <time in seconds>
|
||
#
|
||
# enable-cache <service> <yes|no>
|
||
# positive-time-to-live <service> <time in seconds>
|
||
# negative-time-to-live <service> <time in seconds>
|
||
# suggested-size <service> <prime number>
|
||
# check-files <service> <yes|no>
|
||
# persistent <service> <yes|no>
|
||
# shared <service> <yes|no>
|
||
# max-db-size <service> <number bytes>
|
||
# auto-propagate <service> <yes|no>
|
||
#
|
||
# Currently supported cache names (services): passwd, group, hosts, services
|
||
#
|
||
|
||
|
||
# logfile /var/log/nscd.log
|
||
# threads 6
|
||
# max-threads 128
|
||
# server-user nobody
|
||
# stat-user somebody
|
||
debug-level 0
|
||
# reload-count 5
|
||
paranoia no
|
||
# restart-interval 3600
|
||
|
||
enable-cache passwd yes
|
||
positive-time-to-live passwd 600
|
||
negative-time-to-live passwd 20
|
||
suggested-size passwd 211
|
||
check-files passwd yes
|
||
persistent passwd yes
|
||
shared passwd yes
|
||
max-db-size passwd 33554432
|
||
auto-propagate passwd yes
|
||
|
||
enable-cache group no
|
||
positive-time-to-live group 3600
|
||
negative-time-to-live group 60
|
||
suggested-size group 211
|
||
check-files group yes
|
||
persistent group yes
|
||
shared group yes
|
||
max-db-size group 33554432
|
||
auto-propagate group yes
|
||
|
||
# hosts caching is broken with gethostby* calls, hence is now disabled
|
||
# per default. See /usr/share/doc/nscd/NEWS.Debian.
|
||
enable-cache hosts no
|
||
positive-time-to-live hosts 3600
|
||
negative-time-to-live hosts 20
|
||
suggested-size hosts 211
|
||
check-files hosts yes
|
||
persistent hosts yes
|
||
shared hosts yes
|
||
max-db-size hosts 33554432
|
||
|
||
enable-cache services yes
|
||
positive-time-to-live services 28800
|
||
negative-time-to-live services 20
|
||
suggested-size services 211
|
||
check-files services yes
|
||
persistent services yes
|
||
shared services yes
|
||
max-db-size services 33554432
|
scripts/puestos/mintldap/ldap/common-auth.bak | ||
---|---|---|
#
|
||
# /etc/pam.d/common-auth - authentication settings common to all services
|
||
#
|
||
# This file is included from other service-specific PAM config files,
|
||
# and should contain a list of the authentication modules that define
|
||
# the central authentication scheme for use on the system
|
||
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
|
||
# traditional Unix authentication mechanisms.
|
||
#
|
||
auth required pam_unix.so nullok_secure
|
scripts/puestos/mintldap/ldap/ldap.conf | ||
---|---|---|
# $OpenLDAP: pkg/ldap/libraries/libldap/ldap.conf,v 1.9 2000/09/04 19:57:01 kurt Exp $
|
||
BASE dc=instituto,dc=extremadura,dc=es
|
||
#
|
||
# LDAP Defaults
|
||
#
|
||
|
||
# See ldap.conf(5) for details
|
||
# This file should be world readable but not world writable.
|
||
|
||
#BASE dc=example, dc=com
|
||
#URI ldap://ldap.example.com ldap://ldap-master.example.com:666
|
||
#SIZELIMIT 12
|
||
#TIMELIMIT 15
|
||
#DEREF never
|
||
HOST ldap
|
||
TLS_REQCERT never
|
||
TLS_CACERT /etc/ldap/ssl/ldap-server-pubkey.pem
|
||
|
scripts/puestos/mintldap/ldap/common-password.bak | ||
---|---|---|
#
|
||
# /etc/pam.d/common-password - password-related modules common to all services
|
||
#
|
||
# This file is included from other service-specific PAM config files,
|
||
# and should contain a list of modules that define the services to be
|
||
#used to change user passwords. The default is pam_unix
|
||
|
||
# The "nullok" option allows users to change an empty password, else
|
||
# empty passwords are treated as locked accounts.
|
||
#
|
||
# (Add `md5' after the module name to enable MD5 passwords)
|
||
#
|
||
# The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in
|
||
# login.defs. Also the "min" and "max" options enforce the length of the
|
||
# new password.
|
||
|
||
password required pam_unix.so nullok obscure min=4 max=8 md5
|
||
|
||
# Alternate strength checking for password. Note that this
|
||
# requires the libpam-cracklib package to be installed.
|
||
# You will need to comment out the password line above and
|
||
# uncomment the next two in order to use this.
|
||
# (Replaces the `OBSCURE_CHECKS_ENAB', `CRACKLIB_DICTPATH')
|
||
#
|
||
# password required pam_cracklib.so retry=3 minlen=6 difok=3
|
||
# password required pam_unix.so use_authtok nullok md5
|
||
|
scripts/puestos/mintldap/ldap/common-session.bak | ||
---|---|---|
#
|
||
# /etc/pam.d/common-session - session-related modules common to all services
|
||
#
|
||
# This file is included from other service-specific PAM config files,
|
||
# and should contain a list of modules that define tasks to be performed
|
||
# at the start and end of sessions of *any* kind (both interactive and
|
||
# non-interactive). The default is pam_unix.
|
||
#
|
||
session required pam_unix.so
|
scripts/puestos/mintldap/ldap/nsswitch.conf | ||
---|---|---|
# /etc/nsswitch.conf
|
||
#
|
||
# Example configuration of GNU Name Service Switch functionality.
|
||
# If you have the `glibc-doc-reference' and `info' packages installed, try:
|
||
# `info libc "Name Service Switch"' for information about this file.
|
||
|
||
netgroup: files ldap
|
||
automount: files ldap
|
||
passwd: files ldap [NOTFOUND=return] db
|
||
group: files ldap [NOTFOUND=return] db
|
||
shadow: files ldap
|
||
|
||
hosts: files dns
|
||
networks: files
|
||
|
||
protocols: db files
|
||
services: db files
|
||
ethers: db files
|
||
rpc: db files
|
||
|
||
# netgroup: nis
|
scripts/puestos/mintldap/ldap/common-auth | ||
---|---|---|
#
|
||
# /etc/pam.d/common-auth - authentication settings common to all services
|
||
#
|
||
# This file is included from other service-specific PAM config files,
|
||
# and should contain a list of the authentication modules that define
|
||
# the central authentication scheme for use on the system
|
||
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
|
||
# traditional Unix authentication mechanisms.
|
||
#
|
||
auth optional pam_group.so
|
||
auth sufficient pam_unix.so shadow nullok_secure
|
||
auth required pam_ldap.so use_first_pass
|
scripts/puestos/mintldap/ldap/common-password | ||
---|---|---|
#
|
||
# /etc/pam.d/common-password - password-related modules common to all services
|
||
#
|
||
# This file is included from other service-specific PAM config files,
|
||
# and should contain a list of modules that define the services to be
|
||
#used to change user passwords. The default is pam_unix
|
||
|
||
# The "nullok" option allows users to change an empty password, else
|
||
# empty passwords are treated as locked accounts.
|
||
#
|
||
# (Add `md5' after the module name to enable MD5 passwords)
|
||
#
|
||
# The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in
|
||
# login.defs. Also the "min" and "max" options enforce the length of the
|
||
# new password.
|
||
|
||
password sufficient pam_ldap.so
|
||
password required pam_unix.so nullok obscure min=4 max=8 md5
|
||
|
||
# Alternate strength checking for password. Note that this
|
||
# requires the libpam-cracklib package to be installed.
|
||
# You will need to comment out the password line above and
|
||
# uncomment the next two in order to use this.
|
||
# (Replaces the `OBSCURE_CHECKS_ENAB', `CRACKLIB_DICTPATH')
|
||
#
|
||
# password required pam_cracklib.so retry=3 minlen=6 difok=3
|
||
# password required pam_unix.so use_authtok nullok md5
|
||
|
scripts/puestos/mintldap/ldap/common-session | ||
---|---|---|
#
|
||
# /etc/pam.d/common-session - session-related modules common to all services
|
||
#
|
||
# This file is included from other service-specific PAM config files,
|
||
# and should contain a list of modules that define tasks to be performed
|
||
# at the start and end of sessions of *any* kind (both interactive and
|
||
# non-interactive). The default is pam_unix.
|
||
#
|
||
session required pam_env.so
|
||
session optional pam_foreground.so
|
||
session required pam_unix.so
|
scripts/puestos/mintldap/ldap/nss-ldapd.conf | ||
---|---|---|
# /etc/nss-ldapd.conf
|
||
# nss-ldapd configuration file. See nss-ldapd.conf(5)
|
||
# for details.
|
||
|
||
# The user and group nslcd should run as.
|
||
uid nslcd
|
||
gid nslcd
|
||
|
||
# The location at which the LDAP server(s) should be reachable.
|
Exportar a: Unified diff