Administración de Usuarios y Grupos en Sistemas Unix/Linux

Clasificado en Informática

Escrito el en español con un tamaño de 7,32 KB

Gestión de Usuarios y Grupos en Sistemas Unix/Linux

Tipos de Usuarios

En los sistemas operativos **Unix/Linux**, existen diferentes tipos de usuarios, cada uno con roles y privilegios específicos:

<h4>Usuarios Normales</h4>
<p>Los **usuarios normales** son los usuarios habituales del sistema, que utilizarán sus recursos. Pueden iniciar sesión (<em>login</em>) y se les asigna una <em>shell</em> en cada inicio de sesión. Cada usuario tiene su propia carpeta personal, de la que es propietario.</p>

<h4>Usuarios del Sistema</h4>
<p>Los **usuarios del sistema** son aquellos incorporados por el propio sistema operativo, encargados de los <em>demonios</em> (servicios) de este. No tienen privilegios para iniciar sesión (<em>login</em>) en el sistema y no tienen una <em>shell</em> asignada. Su <em>shell</em> por defecto es <code>/bin/false</code>. Algunos ejemplos son: <code>daemon</code>, <code>lp</code>, <code>mail</code>.</p>

<h4>Usuario Root</h4>
<p>El **usuario <em>root</em>** es el único que tiene control total sobre todo el sistema. Su directorio personal está en <code>/root</code>, y es un directorio al cual solo él tiene acceso. Es el administrador del sistema y el único que tiene derecho a administrar al resto de usuarios. Es el único usuario que tiene privilegios sobre directorios y ejecutables críticos para el sistema. Los usuarios normales tienen control total únicamente sobre su carpeta personal (<code>/home/usuario</code>).</p>

Ficheros de Configuración de Usuarios

En **Unix/Linux**, los ficheros que contienen toda la información de los usuarios son:

  • /etc/passwd: donde se guardan los nombres de los usuarios, con sus **ID de usuario (UID)** y **grupo (GID)**, su directorio personal, su shell y un comentario acerca de ese usuario.
  • /etc/shadow: donde se guarda la contraseña de cada usuario y su configuración.

Cuando se crea un usuario nuevo, se añade una entrada en el fichero /etc/passwd.

Identificadores de Usuario y Grupo

<h4>Identificador de Usuario (UID)</h4>
<p>El **UID** (Identificador Único de Usuario) es un número con el que Linux identifica a cada usuario. Es único para cada usuario. Linux identifica a los usuarios por este número. Unix asigna un número a partir de 200 y Linux, generalmente, entre 500 y 700. El usuario <em>root</em> tiene un **UID de 0**.</p>

<h4>Identificador de Grupo (GID)</h4>
<p>El **GID** (Identificador de Grupo) es el número de identificación del grupo principal al que pertenece el usuario.</p>

La Shell (Intérprete de Comandos)

La **shell** es el intérprete de comandos que se carga una vez iniciada la sesión, y a través de ella nos comunicaremos con el sistema operativo. En **SUSE Linux**, la shell por defecto suele ser /bin/bash, pero puede ser modificada para que cada usuario ejecute la que considere más conveniente.

Cuando un usuario inicia sesión en el equipo, se carga una configuración por defecto. Esta configuración se guarda en los ficheros /etc/bash.bashrc y /etc/profile. En /etc/skel, se guarda una copia de estos ficheros, por si al modificarlos hubiera algún problema y tuvieran que ser reemplazados.

Comandos para la Gestión de Usuarios

<h3>Creación de Usuarios</h3>
<p>El comando <code>useradd</code> se utiliza para crear nuevas cuentas de usuario.</p>
<pre><code>useradd –u 500 –d /home/pepe –G floppy,pppusers,popusers pepe</code></pre>
<p>Este comando crea una cuenta de usuario llamada <code>pepe</code>, con un **UID de 500**, un directorio personal en <code>/home/pepe</code>, y lo incluye en los grupos secundarios <code>floppy</code>, <code>pppusers</code> y <code>popusers</code>.</p>

<h3>Eliminación de Usuarios</h3>
<p>El comando <code>userdel</code> se utiliza para eliminar cuentas de usuario.</p>
<pre><code>userdel [-r] nombre_usuario</code></pre>
<p>La opción <code>-r</code> elimina también el directorio personal del usuario.</p>

<h3>Modificación de Usuarios</h3>
<p>El comando <code>usermod</code> permite modificar las propiedades de una cuenta de usuario existente.</p>
<pre><code>usermod [-c comentarios] [-d home directory] [-e final de datos] [-g grupo inicial] [-G otros grupos] [-l nombre de login] [-s Shell] [-u uid] login</code></pre>
<p>Algunas opciones comunes incluyen:</p>
<ul>
    <li><code>-c</code>: Añadir o modificar comentarios.</li>
    <li><code>-d</code>: Cambiar el directorio personal.</li>
    <li><code>-e</code>: Establecer la fecha de caducidad de la cuenta.</li>
    <li><code>-g</code>: Cambiar el grupo principal del usuario.</li>
    <li><code>-G</code>: Añadir el usuario a grupos secundarios.</li>
    <li><code>-l</code>: Cambiar el nombre de login del usuario.</li>
    <li><code>-s</code>: Cambiar la <em>shell</em> por defecto.</li>
    <li><code>-u</code>: Cambiar el UID del usuario.</li>
</ul>

Comandos para la Gestión de Grupos

<h3>Creación de Grupos</h3>
<p>El comando <code>groupadd</code> se utiliza para crear nuevos grupos.</p>
<pre><code>groupadd [-g gid] [-o] [-r] grupo</code></pre>
<p>Algunas opciones comunes incluyen:</p>
<ul>
    <li><code>-g</code>: Especificar el GID del grupo.</li>
    <li><code>-o</code>: Permitir la creación de un grupo con un GID no único.</li>
    <li><code>-r</code>: Crear un grupo del sistema.</li>
</ul>

<h3>Eliminación de Grupos</h3>
<p>El comando <code>groupdel</code> se utiliza para eliminar grupos existentes.</p>
<pre><code>groupdel grupo</code></pre>

<h3>Modificación de Grupos</h3>
<p>El comando <code>groupmod</code> permite modificar las propiedades de un grupo existente.</p>
<pre><code>groupmod [-g nuevo_gid] [-n nuevo_nombre] grupo</code></pre>
<p>Algunas opciones comunes incluyen:</p>
<ul>
    <li><code>-g</code>: Cambiar el GID del grupo.</li>
    <li><code>-n</code>: Cambiar el nombre del grupo.</li>
</ul>

Cambio de Grupo de un Usuario

El comando newgrp permite a un usuario cambiar su grupo principal actual a otro grupo al que pertenezca.

newgrp nuevo_grupo

Entradas relacionadas: