Mostrando entradas con la etiqueta sudoers. Mostrar todas las entradas
Mostrando entradas con la etiqueta sudoers. Mostrar todas las entradas

miércoles, 24 de septiembre de 2014

Gestión de usuarios: preliminares

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

En este post vamos a hablar de algunos términos que ya se han citado en otras entradas, de modo que lo utilizaremos como una suerte de recordatorio que nos ayudará a concatenar con lo que vendrá después: la creación y gestión de usuarios y grupos. Recordemos que GNU/Linux es un sistema operativo multiusuario, esto es, pensado para que muchas personas trabajen juntas compartiendo datos. Precisamente comenzamos hablando de qué tipos de usuarios existen en un sistema Linux.
  • Usuarios normales: disponen de privilegios parciales sobre los recursos que tengan asignados.
  • Usuarios de sistema: son los encargados de los llamados daemon del sistema, que son procesos ejecutados en segundo y no controlados directamente por el usuario. Son propietarios de algunos de estos procesos y directorios.
  • Superusuario o usuario ROOT: es el que tiene el control total sobre el sistema. Su UID y GID siempre tienen valor cero.
  • UID: número identificador de usuario, el cual puede estar en la franja que va desde el 0 hasta el 65535.
  • GID: número identificador de grupo, el cual puede estar en la franja que va desde el 0 hasta el 65535.
A continuación, algunos comandos que conviene comocer y/o dominar.

su
Este es un comando para logarnos en el sistema como root.

  • su usuario2: de esta forma nos estaríamos logando como el usuario2, siempre que conozcamos su contraseña. De esta forma accederíamos a su directorio HOME.
exit
Nos sirve para salir del modo root.

sudo
Comando ya conocido que nos permite ejecutar órdenes por teclado como si fuésemos root.
  • sudo passwd root: para cambiar, mediante el comando passwd, la contraseña de root.
  • sudo nautilus: para acceder al navegador de archivos Nautilus como usuario root ( y así poder manipular archivos y directorios como se nos antoje sin las restricciones del usuario corriente).
visudo
Comando que nos permite editar automáticamente el fichero /etc/sudoers, donde podemos indicar qué usuarios podrán ejecutar órdenes como si fuesen root a través del comando sudo.

w [usuario]
Sirve para listar los usuarios de un sistema y los datos de su sesión.

write [usuario]
Sirve para comunicarse con otro usuario (una especie de mensajería instantánea).

wall [mensaje]
Para enviar mensajes a todos los terminales del sistema.

mesg [y|n]
Activa o desactiva la facultad de recibir mensajes.

Valga este pequeño post como antesala de lo que nos espera, si el tiempo libre y las fuerzas lo permiten, en relación a la gestión de usuarios y grupos. Y para grupo en el que tenía grandes expectativas, que se han visto deshechas con su temprana disolución, los texanos Fair To Midland. Parecían llamados a ser una de las grandes bandas de rock de comienzos de siglo, pero tendremos que fijar la vista en otra distinta. "Musical chairs" nos recuerdan lo grandes que pudieron ser.


domingo, 12 de mayo de 2013

Cosas que hacer después de instalar Debian 7 Wheezy

Espero que nadie se me enfade pero he hecho algo que va en contra de lo que aquí llevo pregonando desde que este blog inició su andadura: he abandonado Ubuntu por Debian. La última version de Ubuntu con la que me sentí cómodo fue la 11.04, pero a partir de la 11.10 y la implementación de su deplorable entorno de escritorio Unity todo ha ido a peor. Cada actualización de versión suponía una losa en cuando a velocidad de la que he terminado harto, así que he aprovechado el reciente lanzamiento de Debian 7 Wheezy y lo he instalado en espera de la solidez y la estabilidad de que siempre ha presumido.

No olvidemos que Ubuntu es una distribución salida de Debian, así que el cambio tampoco será traumático.

No obstante, me he encontrado con un par de aspectos que merece la pena comentar por si a alguien  le apetece seguir mis pasos, para que esté sobre aviso. Vamos con ellos.

1) Que no nos fastidie el CD. A pesar de que lo he instalado desde un pendrive, al instalar, en mi caso, Virtualbox, el terminal de comandos me sorprendía con el siguiente mensaje:

Cambio de medio: Por favor, introduzca el disco etiquetado «Debian GNU/Linux 7.0.0 _Wheezy_ - Official i386 CD Binary-1 20130504-15:20» en la unidad «/media/cdrom/»


¿Qué es esto? Si ni siquiera he realizado la instalación desde un CD o un DVD. Da lo mismo, la solución reside en editar el fichero /etc/apt/sources.list con, por ejemplo, el editor de texto nano:

pacodebian@paco-pc:~$ nano /etc/apt/sources.list

El contenido del fichero es el siguiente:


# deb cdrom:[Debian GNU/Linux 7.0.0 _Wheezy_ - Official i386 CD Binary-1 201305$

deb cdrom:[Debian GNU/Linux 7.0.0 _Wheezy_ - Official i386 CD Binary-1 201305$

deb http://ftp.es.debian.org/debian/ wheezy main non-free contrib
deb-src http://ftp.es.debian.org/debian/ wheezy main non-free contrib

deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

# wheezy-updates, previously known as 'volatile'
deb http://ftp.es.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.es.debian.org/debian/ wheezy-updates main contrib non-free

Es la segunda línea la que hace una llamada a la unidad de CD, por eso hay que inutilizarla poniéndole una almohadilla delante (como está la línea anterior) o directamente borrarla. Si hacemos lo primero, quedaría así (modificación en negrita):


# deb cdrom:[Debian GNU/Linux 7.0.0 _Wheezy_ - Official i386 CD Binary-1 201305$

# deb cdrom:[Debian GNU/Linux 7.0.0 _Wheezy_ - Official i386 CD Binary-1 201305$

deb http://ftp.es.debian.org/debian/ wheezy main non-free contrib
deb-src http://ftp.es.debian.org/debian/ wheezy main non-free contrib

deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

# wheezy-updates, previously known as 'volatile'
deb http://ftp.es.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.es.debian.org/debian/ wheezy-updates main contrib non-free


Y problema solucionado.

2) La lista de sudoers. Debian, al contrario de Ubuntu, crea durante la instalación una cuenta de administrador root aparte de la del usuario habitual. Pero nos encontramos con que el sistema, al ejecutar determinados comandos como root con este usuario, nos dice que no lo encuentra en la lista de sudoers. ¿Qué significa esto? Pues simplemente que dicho usuario no aparece listado en el archivo /etc/sudoers. Este archivo solo puede editarse en modo root y se hace con el comando visudo:

root@paco-pc:/ visudo

Automáticamente invoca nano y abre el fichero sudoers que entramos a editar.

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Solo tenemos que añadir nuestro usuario (en mi caso, paco) bajo el comentario # User privilege specification, a continuación de la línea correspondiente a root (corrección en negrita):

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
paco    ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Una vez que hemos hecho esto ya lo tendríamos, pero he leído que es recomendable también añadir al usuario al grupo sudo, cosa que haremos así:

pacodebian@paco-pc:~$ sudo usermod -a -G sudo paco

De esta forma hemos añadido al usuario paco al grupo sudo, que el sistema trae por defecto, con lo que paco podrá disfrutar de sus privilegios y actuar como root anteponiendo sudo a cada comando.