Shadow-4.0.4.1

El paquete Shadow contiene programas para manejar contraseñas de forma segura.

Tiempo estimado de construcción:  0.4 SBU
Espacio requerido en disco:       11 MB

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

Instalación de Shadow

Shadow fija la ruta al binario passwd dentro del propio binario, pero lo hace de forma incorrecta. Si antes de instalar Shadow no existe un binario passwd, este asume erróneamente que el binario estará en /bin/passwd, pero luego lo instala como /usr/bin/passwd. Esto resultará en errores sobre que no se puede encontrar /bin/passwd. Para corregir este fallo de Shadow crearemos un fichero temporal passwd para que en su código se fije la ruta correcta:

touch /usr/bin/passwd

Ahora, prepara Shadow para su compilación:

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

Evita un problema que impide que funcione la internacionalización en Shadow:

echo '#define HAVE_SETLOCALE 1' >> config.h

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

En vez de usar el método por defecto, crypt, queremos utiliza el más seguro método de encriptación de contraseñas MD5, que además permite contraseñas de más de 8 caractéres. También queremos cambiar la obsoleta localización /var/spool/mail, que Shadow utiliza por defecto para los buzones de los usuarios, a /var/mail, que es la localización usada hoy en día. Haremos ambas cosas modificando el fichero de configuración correspondiente mientras lo copiamos a su destino (posiblemente sea mejor cortar y pegar esto que intentar teclearlo):

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

Mueve algunos enlaces mal ubicados a sus lugares correctos:

mv /bin/sg /usr/bin
mv /bin/vigr /usr/sbin

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

La opción -D del programa useradd requiere este directorio para funcionar correctamente:

mkdir /etc/default

Coreutils ya ha instalado un programa groups mejor en /usr/bin. Borra el instalado por Shadow:

rm /bin/groups

Configuración de Shadow

Este paquete contiene utilidades para añadir, modificar o eliminar usuarios y grupos, establecer y cambiar sus contraseñas y otras tareas administrativas. Puedes encontrar una completa explicación de lo que significa password shadowing (ocultación de contraseñas) en el fichero doc/HOWTO dentro del árbol de las fuentes. Hay una cosa que debes recordar si decides usar soporte para Shadow: los programas que necesiten verificar contraseñas (administradores de sesión, programas ftp, demonios pop3, etc) necesitarán ser compatibles con shadow, pues necesitan ser capaces de trabajar con contraseñas ocultas.

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

pwconv

Para habilitar las contraseñas de grupo ocultas, ejecuta:

grpconv

Bajo circunstancias normales aún no habrás creado ninguna contraseña. Sin embargo, si más tarde 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.

Establecer la contraseña de root

Elige una contraseña para el administrador (root) y establécela mediante:

passwd root

Contenido de Shadow

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

Descripciones cortas

chage cambia el número máximo de días entre cambios obligatorios de contraseña.

chfn se usa para cambiar el nombre completo de un usuario y otra información.

chpasswd sirve para actualizar las contraseñas de un grupo de cuentas de usuario de una sola vez.

chsh cambia el intérprete de comandos por defecto que se ejecuta cuando el usuario entra al sistema.

dpasswd cambia las contraseñas de acceso telefónico de un usuario.

expiry comprueba y refuerza la política actual de expiración de contraseñas.

faillog sirve para examinar el contenido del registro de ingresos fallidos al sistema, establecer un máximo de fallos para bloquear una cuenta de usuario y reiniciar el contador de fallos.

gpasswd se usa para agregar y eliminar miembros y administradores a los grupos.

groupadd crea un nuevo grupo con el nombre especificado.

groupdel borra un grupo a partir de un nombre especificado.

groupmod modifica el nombre o el identificador (GID) de un grupo especificado.

groups muestra los grupos a los que pertenece un usuario dado.

grpck verifica la integridad de los ficheros de grupos, /etc/group y /etc/gshadow.

grpconv crea o actualiza el fichero de grupos ocultos (shadow group file) a partir de un fichero de grupos normal.

grpunconv actualiza /etc/group a partir de /etc/gshadow, borrando este último.

lastlog muestra el último acceso de cada usuario o de un usuario especificado.

login se usa para establecer una nueva sesión con el sistema.

logoutd es un demonio que refuerza las restricciones en base a horas y puertos de acceso.

mkpasswd encripta una contraseña dada usando para ello una perturbación también dada.

newgrp se usa para cambiar el identificador de grupo actual durante una sesión de acceso.

newusers crea o actualiza un grupo de cuentas de usuario de una sola vez.

passwd cambia las contraseñas de las cuentas de usuarios y grupos.

pwck verifica la integridad de los ficheros de contraseñas, /etc/passwd y /etc/shadow.

pwconv crea o actualiza el fichero de contraseñas ocultas a partir de un fichero de contraseñas normal.

pwunconv actualiza /etc/passwd a partir de /etc/shadow, borrando este último.

sg ejecuta un comando dado con el identificador de grupo del grupo indicado.

useradd crea un nuevo usuario con el nombre especificado o actualiza la información por defecto de un nuevo usuario.

userdel borra una cuenta de usuario.

usermod modifica el nombre, identificador (UID), intérprete de comandos, grupo inicial, directorio personal, etc, de un usuario.

vigr puede usarse para editar los ficheros /etc/group y /etc/gshadow.

vipw puede usarse para editar los ficheros /etc/passwd y /etc/shadow.

libmisc...

libshadow contiene funciones usadas por la mayoría de los programas de este paquete.