Tag Archives: usermod

Controlando Acceso al Comando SU

Hoy vamos a explicar un método para controlar el acceso de los usuarios al comando su que permite hacerse pasar por otro usuario del sistema o por root si no se le pasan parámetros.

Si escribimos

su -

También cargaremos el entorno (variables del sistema) de ese usuario.

Lo primero que tenemos que hacer es ver cuales son los permisos del binario, en Debian son estos.

$ ls -l /bin/su
-rwsr-xr-x 1 root root 34024 sep 26 15:59 /bin/su

Vemos que tiene activado SetUID, lo que significa que el usuario que ejecuta lo hace con los permisos del propietario del binario.

Para controlar que usuarios van a poder ejecutar este comando vamos a crear un grupo, por ejemplo su

# groupadd su

Cambiamos el grupo de su

# chgrp su /bin/su

Y ajustamos los permisos para que no sea leído/ejecutado por el mundo

# chmod 4750 /bin/su

Nos queda así

$ ls -l /bin/su
-rwsr-x--- 1 root su 27108 nov 14  2009 /bin/su

Ahora tomamos los usuarios que queramos que puedan hacer su al sistema y los agregamos al grupo

# usermod -G [grupos],su

La sintaxis del comando usermod para cambios de grupo obliga a poner todos los grupos a los que el usuario pertenece, si no lo haces, solo quedará en el grupo su.

Históricamente, esto se hacía a traves del grupo wheel pero cayó en desuso.

Primero Pasos con FreeBSD

Tras seguir la guía de instalación de FreeBSD 8.0 publicada en Systemadmin.es empecé a manejar el sistema y me encontré con algunas cosas que tuve que resolver, estos son los primeros pasos que dí en este sistema.

El primer problema que tuve es que no me pilló la tarjeta de red, por lo que no cogía la IP del DHCP, con VirtualBox era la PCnet-FAST III y la cambié por la Intel Pro/1000MT. A continuación entramos en la utilidad de configuración del sistema a la que se accede mediante el programa sysinstall y la configuramos para que tome la IP del servidor de DHCP.

El siguiente punto fue que no tenía bash así que lo instalé, para instalar un paquete en FreeBSD hacemos

# pkg_add -r bash

El gestor de paquetes buscará e instalará el software en los repositorios. Para asignar una shell a un usuario en GNU/Linux usamos usermod, en FreeBSD hacemos lo siguiente

 # pw user mod nordri -s /usr/local/bin/bash

FreeBSD instala Bash en /usr/local/bin en lugar de /bin/bash como hace Linux.

Luego instalé algo más de software, y ahora intento montar un servidor FAMP que sería FreeBSD, Apache, MySQL y PHP aunque no sé si se puede decir.

Eliminar Un Usuario

El comando para eliminar un usuario es

userdel -r username

Esto eliminará al usuario del sistema, su directorio personal y su buzón de correo. Sin embargo, tengo dos razones para no usar este comando y en su lugar usar este

usermod -L username

Que bloquea la cuenta de usuario impidiendole entrar.

Las dos razones para no eliminar completamente al usuario son:

  1. Lo que borras hoy hace falta mañana. Esto lo he vivido en muchas ocasiones, que buscan la hoja de cálculo estupenda que tenía Pepito, o cosas así.
  2. Si se elimina un usuario, el UID queda libre para el siguiente que entre. Esto puede suponer un problema de seguridad si el usuario que se eliminó tenía ficheros fuera de su home (por ejemplo, en una unidad en red, o al restaurar una copia de seguridad). El nuevo usuario se convertiría en dueño de estos archivos.

Para volver a habilitar de nuevo la cuenta de usuario

usermod -U username