Unas pocas horas es lo que tengo para poner en marcha esta herramienta, al menos hasta un punto mínimamente funcional. Voy a echar de menos esa máquina.
ContinueTag: Administración
Tareas: sábado, 1 de enero de 2022
1 enero 2022Heme aquí aprovechando mi soledad para seguir trabajando en todo lo que me queda por hacer para que mis homínidos estén más seguros (y puedan funcionar) el día 3.
ContinueTareas: jueves, 30 de diciembre de 2021
30 diciembre 2021Limpiando flecos sueltos en los cambios de versión de Debian y retocando servicios para que sobrevivan a ello.
ContinueDisco RAID con offline uncorrectable sector (II)
30 diciembre 2021Tras cerca de seis horas efectuando un test de sólo lectura aparecen 8 errores.
ContinueTareas: miércoles, 29 de diciembre de 2021
29 diciembre 2021Esta es la lista de cosas que he hecho hoy junto con las notas y referencias si es necesario.
ContinueMigrando cuentas de usuario en LDAP
20 septiembre 2014Hace tiempo ya que vengo observando un molesto problema con los identificadores numéricos de usuarios (uid) dentro de la red. Sus valores son lo bastante bajos como para colisionar con los usuarios normales que crean algunos paquetes, especialmente aquél que me fuerza a crear la instalación de una nueva máquina y que por el momento (hasta que no tenga automatizado dicho proceso) no puedo evitar.
Necesitaba efectuar un cambio y mover todos los valores numéricos a un rango válido pero fuera de uso. Lo que he hecho ha sido lo siguiente:
- Instalar el paquete ldap-account-manager y habilitarlo como servicio en https://admin.venexma.net/lam.
- Crear un perfil que incluyese atributos para una cuenta POSIXy una inetOrgPerson para disponer también de correo electrónico y teléfono móvil.
- Volver a crear los grupos y los usuarios, ambos con valores numéricos por encima de 10000.
- Añadir un servicio de cambio de contraseñas para los usuarios:
- Instalar el paquete self-service-password.
- Crear un servidor virtual en https://usuarios.venexma.net.
- Comenzar el proceso de cambio y testeo individualmente.
Proceso de cambio
El proceso de cambio de identificador de usuario consiste en:
- Tomar nota del identificador antiguo y del nuevo.
- Eliminar la entrada antigua del directorio.
- Asignar una contraseña a la nueva
- Buscar archivos asignados al identificador antiguo y cambiarlos por el nuevo:
- Buscar y reemplazar en los archivos compartidos y los archivos propios en red.
- Buscar y reemplazar en los archivos de su máquina personal.
El script que empleo para ello es el siguiente:
#!/bin/bash set -e # Variables VERSION=0.2 LOGFILE="/tmp/$(basename $0).log" # Parámetros OLD_UID=$1 NEW_UID=$2 OLD_GID=$3 NEW_GID=$4 if [ $# -ne 4 ]; then cat <<EOF >&2 $0 - $VERSION uso: $0 old_uid new_uid old_gid new_gid
Busca en el directorio actual los archivos que pertenezcan al identificador
antiguo (old_uid) y los cambia al nuevo (new_uid). Realiza después la misma
operación con el grupo antiguo (old_gid) y el nuevo (new_gid).
Directorio actual: $(pwd)
Archivo de registro: $LOGFILE
EOF
exit 1
fi
echo «${0}: Buscando archivos en $(pwd)»
cat <<EOF >$LOGFILE
— $(date)
$(pwd)
cambio de UID ${OLD_UID} a ${NEW_UID}
cambio de GID ${OLD_GID} a ${NEW_GID}
—
EOF
echo -e «tcambiando usuario propietario …»
find . -user $OLD_UID -print -exec chown $NEW_UID {} ; | tee -a $LOGFILE
echo -e «tcambiando grupo propietario …»
find . -group $OLD_GID -print -exec chown $NEW_GID {} ;
echo «${0}: proceso registrado en $LOGFILE»
exit 0
[/sourcecode]
Gestor de contraseñas
12 septiembre 2014Llevo ya dos días intentando instalar y configurar el gestor de contraseñas teampass con resultados dispares.
La instalación no ha sido complicada, no más allá de descargar, desempaquetar, cambiar permisos y crear la base de datos. La configuración es vía web y se ha encargado de todo sin más problemas.
La configuración sí que está resultando pesada. Una vez con la cuenta del administrador he procedido a seguir estos pasos:
- Crear roles: administración y gerencia
- Crear usuarios y asignarles roles: luismi, mariano y yo
- Crear carpetas y asignar acceso a los roles a éstas.
También he activado la creación de carpetas personales y todo bien hasta que me he encontrado con un problema un tanto absurdo con las rutas de las carpetas upload y files.
En la documentación recomiendan que ambas carpetas estén fuera de la raíz del servidor y eso es lo que he hecho. Mientras que el programa está instalado en /opt/teampass las dos carpetas las he situado en /var/lib/teampass. El problema es que el URL de acceso a teampas (configurable en el panel del administrador) está situada en un subdirectorio de una máquina virtual y entonces no me queda otra que situar un enlace simbólico de /opt/teampass/upload a /var/lib/teampass por lo que dichas carpetas vuelven a estar, teóricamente, en la carpeta raíz del programa.
Veo dos soluciones:
- Crear alguna regla de reescritura en la configuración del servidor web específica para esos dos sitios (con el programa de no saber si aceptaría más de un componente en el URL de filtrado).
- Situar la instalación en una máquina virtual concreta: algo como pass.venexma.net.
Tengo que analizarlo con más calma.
Problemas con la impresión en local
10 septiembre 2014Las máquinas facturacion1 y extranjero se han quedado sin poder imprimir en la red esta mañana. Después de varios reintentos he conseguido que vuelvan a aparecer las impresoras pero no estoy seguro de qué lo ha causado y cómo se ha arreglado.
El problema se encuentra en que cups, el servidor local de impresión, no puede acceder a ciertos puertos en la red para escuchar qué impresoras se ofrecen. He reiniciado los servicios rpcbind, avahi-daemon y cups con varias combinaciones hasta que lo he conseguido.
Sí que he visto en los registros mensajes que hacía tiempo que no veía. Concretamente algo como:
Sep 10 09:49:06 extranjero rpc.idmapd[1783]: nss_getpwnam: name ‘alfredo@venexma.net’ does not map into domain ‘localdomain’
Y es algo que he visto antes pero no consigo saber dónde. Algún detalle de la última instalación, supongo.
Arreglando detallitos: el blog, actualizaciones y estadísticas web
9 septiembre 2014Hoy, entre otras cosas, me propongo reparar tres aspectos de la administración del sistema que no funcionan: la vista del blog de desarrollo desde la intranet, el usuario especial actualizador con el que pongo al día los sistemas y desatascar el analizador de registros del servidor web de venexma.es (y otros) que se hace un lío con registros antiguos.
Navegación interna por el blog de desarrollo
Tan sencillo como activar las reglas de reescritura de direcciones en el archivo htaccess correspondiente. En mi caso, y creo que es norma en Debian, este archivo se sitúa en /etc/wordpress/.htaccess, como enlace procedente de /usr/share/wordpress/.htaccess.
La estrofa es la siguiente:
[apache]
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
[/apache]
Usuario especial para actualizar máquinas
En todos los sistemas existe un usuario específico para actualizarlas en remoto y en bloque. Se llama actualizador, tiene la misma contraseña en todas las máquinas (es lo más cómodo, no lo más seguro) y accede desde un punto central (sigfrido) a cada una empleando una clave pública.
Hasta ahora no lo he automatizado por pura pereza, pero cada vez que cambio los componentes de una máquina la conexión se pierde y es necesario volver a hacer lo mismo.
Escribo una pequeña lista de cosas que hacer para poner en marcha una máquina como nodo del mecanismo de actualizaciones remotas:
- Instalar el paquete apt-dater-host.
- Activar configuración de sudo en el archivo /etc/sudoers.d/apt-dater-host.
- Crear un usuario llamado actualizador dentro del grupo adm y con la contraseña habitual registrada en https://admin.venexma.net/passwords.
- Accedemos al servidor central (sigfrido) con el usuario actualizador y desde allí copiamos la clave pública en la máquina que estamos configurando. Empleamos para ello ssh-copy-id sin darle más indicaciones que el destino.
- Testear ésto último entrando vía ssh a la máquina en configuración desde el servidor. Y cuidado porque es posible que ni así se consiga dado que la dirección IP, la identificación de la máquina o combinaciones de ambas hayan cambiado y sea necesario retocar el archivo ~/.ssh/known_hosts del usuario actualizador en sigfrido.
Martes, 9 de Septiembre
Obviamente ayer no me dio tiempo a completar lo que me proponía, así que esta mañana he tenido trabajo pendiente.
Registros de acceso al servidor web no válidos
Todo el mecanismo de creación de estadísticas web (y disponible aquí) tenía un fallo que impedía que funcionase y, de paso, me inundaba el buzón con mensajes de error. Resulta que los registros generados por el servidor web en venexma.es deben estar en un formato concreto. Si no es así awstats no puede realizar su trabajo y aborta todo el proceso.
La solución ha consistido en efectuar un filtrado previo de los registros para aceptar únicamente aquellos que tienen el formato adecuado. Dado que la configuración de awstats es flexible he creado un programa (incluído en el paquete venexma-sigfrido) que se encarga de este trabajo y de llamar a la herramienta correspondiente.
La configuración de cada dominio para las estadísiticas incluye una línea como la que sigue:
[ini]
LogFile=»/usr/bin/weblog2awstats dominio | »
[/ini]
reemplazando dominio por aquél que queremos procesar (static.venexma.com,venexma.com,…).
Miércoles reconstructivo
18 junio 2014He comenzado la mañana poniendo reconstruyendo mi equipo y aunque me he encontrado con algunas dificultades por ahora la operación está en marcha. Prueba de ello es que esta entrada la estoy escribiendo desde mi sesión.
La carga del sistema es muy alta en estos momentos. He conseguido que acepte la lista de paquetes de la instalación anterior y estaban pendientes más de 2000. Son muchos años cambiando de versión de sistema operativo sin realizar una limpia real; tampoco es ahora el momento para ello.
También resulta que esta entrada la he escrito como administrador, en lugar de como usuario. Voy a publicarla y luego completaré la historia con otra.