Instalación de Shadow-4.0.3

Tiempo estimado de construcción:		0.4 SBU
Estimación del espacio necesario en disco:	11 MB

Contenido de Shadow

El paquete Shadow se creó para consolidar la seguridad del sistema de contraseñas.

Programas instalados: chage, chfn, chpasswd, chsh, dpasswd, expiry, faillog, gpasswd, groupadd, groupdel, groupmod, groups, grpck, grpconv, grpunconv, lastlog, login, logoutd, mkpasswd, newgrp, newusers, passwd, pwck, pwconv, pwunconv, sg (enlace a newgrp), useradd, userdel, usermod, vigr (enlace a vipw) y vipw

Dependencias de instalación de Shadow

Shadow depende de: Bash, Binutils, Bison, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed.

Instalación de Shadow

Los programas login, getty e init (entre otros) mantienen una serie de ficheros de registro con información sobre quienes están y estaban dentro del sistema. Sin embargo, estos programas no crean dichos ficheros si no existen, por lo que si quieres que se produzca el registro, deberás crear los ficheros tú mismo. El paquete Shadow necesita detectar estos ficheros en sus ubicaciones adecuadas, así que los crearemos ahora con sus permisos correctos:

touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
chmod 644 /var/run/utmp /var/log/{btmp,lastlog,wtmp}

El fichero /var/run/utmp lista los usuarios que están actualmente dentro del sistema, /var/log/wtmp registra quienes estuvieron en el sistema y cuando. El fichero /var/log/lastlog nos muestra, para cada usuario, cuando fue la última vez que ingresó y el fichero /var/log/btmp lista los intentos de ingreso fallidos.

Shadow fija en su código la ruta al binario passwd, pero lo hace de forma incorrecta. Si no existe un binario passwd antes de instalar Shadow, este asume erróneamente que el binario estará en /bin/passwd, pero luego lo instala en /usr/bin/passwd, lo que llevará a obtener errores extraños acerca de que no puede encontrar /bin/passwd. Para corregir este error de Shadow crearemos un fichero passwd temporal para que en su código se fije la ruta correcta:

touch /usr/bin/passwd

El paquete Shadow actual tiene un problema que hace que el comando newgrp falle. El siguiente parche (también aparece en el código CVS de Shadow) corrige este problema.

patch -Np1 -i ../shadow-4.0.3-newgrp-fix.patch

Ahora, prepara Shadow para su compilación:

./configure --prefix=/usr --libdir=/usr/lib --enable-shared

Compila el paquete:

make

E instálalo:

make install

Shadow utiliza dos ficheros para configurar los ajustes de autenticación para el sistema. Instala estos ficheros de configuración:

cp etc/{limits,login.access} /etc

Queremos cambiar el método de contraseñas para activar las contraseñas MD5 que, teoricamente, son mas seguras que el método "crypt" que hay por defecto, y tambien permite contraseñas de mas de 8 caracteres de longitud. Al mismo tiempo necesitamos cambiar la antigua localización de los buzones de correo de usuario /var/spool/mail a su localización actual /var/mail. Haremos esto cambiando en el fichero adecuado de configuración mientras lo copiamos a su destino:

sed -e 's%/var/spool/mail%/var/mail%' \
    -e 's%#MD5_CRYPT_ENAB.no%MD5_CRYPT_ENAB yes%' \
    etc/login.defs.linux > /etc/login.defs

Nota: Ten mucho cuidado cuando teclees lo anterior. Posiblemente sea más seguro cortar y copiar que intentar escribirlo.

De acuerdo a la página de manual de vipw, debería existir también el programa vigr. Como el procedimiento de instalación no crea este programa, haz manualmente un enlace simbólico:

ln -s vipw /usr/sbin/vigr

Puesto que el enlace vipw es redundante (además de apuntar a un fichero que no existe), elimínalo:

rm /bin/vipw

Mueve el programa sg a una ubicación adecuada:

mv /bin/sg /usr/bin

Y mueve las librerías dinámicas de Shadow a un lugar más apropiado:

mv /usr/lib/lib{shadow,misc}.so.0* /lib

Como algunos paquetes esperan encontrar las librerías que acabamos de mover en /usr/lib, crea los siguientes enlaces simbólicos:

ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so
ln -sf ../../lib/libmisc.so.0 /usr/lib/libmisc.so

Coreutils ya ha instalado un programa groups en /usr/bin. Si lo deseas, puedes borrar el que acaba de instalar Shadow:

rm /bin/groups

Configuración del entorno de contraseñas ocultas (Shadow Password Suite)

Este paquete contiene las utilidades para modificar las contraseñas de los usuarios, añadir o borrar usuarios y grupos, etc. No vamos a explicar lo que significa 'password shadowing'. Puedes econtrar una completa explicación en el fichero doc/HOWTO que está en el árbol de fuentes de Shadow al desempaquetarlo. Hay una cosa que debes recordar si decides usar soporte para Shadow: los programas que necesiten verificar contraseñas (por ejemplo xdm, demonios de ftp, demonios de pop3, etc) necesitarán ser 'compatibles con shadow', es decir, necesitan ser capaces de trabajar con contraseñas ocultas.

Para habilitar las contraseñas ocultas, ejecuta el siguiente comando:

/usr/sbin/pwconv

Y para habilitar las contraseñas de grupo ocultas, ejecuta este otro comando:

/usr/sbin/grpconv

Bajo circunstancias normales aún no habrás creado ninguna contraseña. Sin embargo, si regresas a esta sección para activar la ocultación, debes restablecer cualquier contraseña actual de usuario con el comando passwd, o cualquier contraseña de grupo con el comando gpasswd.