<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Fundamentos_de_Usuarios_e_Permisos</id>
	<title>Fundamentos de Usuarios e Permisos - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Fundamentos_de_Usuarios_e_Permisos"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Fundamentos_de_Usuarios_e_Permisos&amp;action=history"/>
	<updated>2026-10-26T05:21:03Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=Fundamentos_de_Usuarios_e_Permisos&amp;diff=65524&amp;oldid=prev</id>
		<title>Javierfp: /* Creación y Administración de Usuarios */</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Fundamentos_de_Usuarios_e_Permisos&amp;diff=65524&amp;oldid=prev"/>
		<updated>2019-02-01T10:35:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Creación y Administración de Usuarios&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Gestión de Usuarios y Permisos ==&lt;br /&gt;
&lt;br /&gt;
El modelo de seguridad del Sistema Linux basa su simplicidad y robustez en la utilización del concepto de usuario y grupo para controlar este importante aspecto. Cada archivo, o directorio (que no es más que un tipo especial de archivo) tiene un propietario, un usuario. El propietario de un archivo albergará permisos sobre ése archivo, en general dispondrá de los máximos permisos sobre él, y además podrá modificar los permisos de los archivos de los que es propietario.&lt;br /&gt;
&lt;br /&gt;
Los demás usuarios del sistema y miembros del mismo grupo de seguridad que el propietario del archivo podrán ostentar específicamente permisos sobre él, pero nunca modificar ellos mismos los permisos de archivos que no son de su propiedad. En resumen, salvo una excepción, solo el propietario del archivo (o directorio) podrá controlar la asignación de permisos (RWX, Lectura, Escritura, Ejecución) a los demás usuarios.&lt;br /&gt;
La excepción a la que se refiere el párrafo anterior es el &amp;#039;&amp;#039;&amp;#039;superusuario o root&amp;#039;&amp;#039;&amp;#039;. Todo sistema Linux crea por defecto un usuario root y es el único que tiene por defecto permisos globales y no restringidos en el sistema.&lt;br /&gt;
&lt;br /&gt;
Otro aspecto fundamental relacionado con la seguridad de Linux y los usuarios es el concepto de propietario de un proceso. Cuando un programa se ejecuta en el Sistema Operativo, como ya sabemos, se crea un proceso para él. Ese proceso podrá acceder a aquellos recursos a los que el propietario del programa tenga acceso. Según esto, si un programa (archivo ejecutable) es ejecutado, solamente podrá acceder a aquellos recursos del sistema (archivos, dispositivos, etc.) a los que el propietario pueda efectivamente acceder, en caso contrario obtendrá una negativo por parte del Sistema Operativo para operar con esos recursos.&lt;br /&gt;
&lt;br /&gt;
En Linux, al igual que en Windows, se reconoce el concepto de &amp;#039;&amp;#039;&amp;#039;grupo&amp;#039;&amp;#039;&amp;#039; de seguridad (o simplemente grupo). Cada usuario puede pertenecer a uno o a varios grupos de usuarios. La utilización de grupos permiten simplificar la gestión de permisos cuando tenemos que manejar grandes cantidades de usuarios, de modo que, se pueden especificar los permisos a nivel de grupos, con lo cual, indirectamente, concedemos permisos sobre los usuarios del grupo.&lt;br /&gt;
&lt;br /&gt;
== Permisos ==&lt;br /&gt;
&lt;br /&gt;
Un Permiso establece un derecho de un usuario sobre un Archivo y Directorio. Linux utiliza un modelo simple, pero potente, de gestión de Permisos de usuario. Como en Linux &amp;quot;todo&amp;quot; es un Archivo (incluídos como ya se dijo los Directorios) este modelo de seguridad afecta directamente a todos los aspectos de uso del Sistema.&lt;br /&gt;
&lt;br /&gt;
Existen 3 tipos de Permisos: &amp;#039;&amp;#039;&amp;#039;r&amp;#039;&amp;#039;&amp;#039; (read, lectura), &amp;#039;&amp;#039;&amp;#039;w&amp;#039;&amp;#039;&amp;#039; (write, escritura) y &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; (execution, ejecución)&lt;br /&gt;
Existen 4 tipos de receptores de Permisos: &amp;#039;&amp;#039;&amp;#039;u&amp;#039;&amp;#039;&amp;#039; (user, el propietario del Archivo o Propietario), &amp;#039;&amp;#039;&amp;#039;g&amp;#039;&amp;#039;&amp;#039; (group, los usuarios miembros del mismo grupo de seguridad del usuario) &amp;#039;&amp;#039;&amp;#039;o&amp;#039;&amp;#039;&amp;#039; (others, los usuarios que no son ni propietarios ni pertenecen al grupo del propietario) y &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039; (all, todos)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Comandos para cambio de Permisos y Propietario de un Archivo o Directorio:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;chown&amp;#039;&amp;#039;&amp;#039;: Esta orden se utiliza para cambiar el propietario de un Archivo o Directorio. La sintaxis básica es:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;chown [-R] nuevo_usuario[:grupo_usuario] archivos&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejemplo&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
chown www-data:www-data /var/www&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cambia el propietario del directorio /var/www al usuario www-data y grupo www-data.&lt;br /&gt;
La &amp;#039;&amp;#039;&amp;#039;opción -R&amp;#039;&amp;#039;&amp;#039; se utiliza para cambios de propietario recursivos en Directorios, es decir, modifica el propietario dentro del Directorio y en todos los Subdirectorios&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;chmod&amp;#039;&amp;#039;&amp;#039;: Este comando es utilizado para cambiar los permisos de Archivos y Directorios&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;chmod [-R] cambio archivos&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejemplo&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
chmod a+x /home/javier/mi_programa&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
el comando anterior concede &amp;#039;&amp;#039;&amp;#039;(+)&amp;#039;&amp;#039;&amp;#039; el permiso de ejecución &amp;#039;&amp;#039;&amp;#039;(x)&amp;#039;&amp;#039;&amp;#039; a todos los usuarios del sistema &amp;#039;&amp;#039;&amp;#039;(a)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Esta sintaxis abreviada indica:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;¿a quién? (u, propietario, g, ,grupo del propietario, o, otros, a, todos)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;¿concede o quita? (+, concede, -, quita)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;¿qué permisos? (r, lectura, w, escritura, x, ejecución)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Hay otra sintaxis alternativa del comando chmod basada en &amp;#039;&amp;#039;&amp;#039;máscaras&amp;#039;&amp;#039;&amp;#039;. La máscara es un valor numérico de 3 cifras, cada una de las cuales puede tener los valores:&lt;br /&gt;
&lt;br /&gt;
* 0: ningún permiso&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 4: permiso de lectura (r)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 5: permisos de lectura y ejecución (rx)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 6: permisos de lectura y escritura (rw)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 7: todos los permisos, lectura, escritura y ejecución (rwx)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Por tanto los pesos de cada permiso en la expresión numérica son (notad que los valores corresponden con los pesos de las potencias de 2 según la posición de la cifra):&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;r w x&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;4 2 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
El resultado de obtener la máscara de permisos es la suma de los permisos concedido. Así, &amp;#039;&amp;#039;&amp;#039;rw es 6 (4+2=6)&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;rx es 5 (4+1=5)&amp;#039;&amp;#039;&amp;#039; y &amp;#039;&amp;#039;&amp;#039;rwx es 7 (4+2+1=7)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Como necesitamos especificar permisos para 3 identidades (usuario, u, grupo, g, y otros, o) &amp;#039;&amp;#039;&amp;#039;se utilizan 3 cifras decimales&amp;#039;&amp;#039;&amp;#039; con los valores anteriores, indicando, de izquierda a derecha, los &amp;#039;&amp;#039;&amp;#039;permisos para usuario, grupo y otros&amp;#039;&amp;#039;&amp;#039; respectivamente.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejemplo&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;u g o&amp;#039;&amp;#039;&amp;#039; (user, group, others)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;7 5 4&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
máscara que indica permisos de rwx (7) para el usuario (u), permisos rx (5) para los miembros del grupo del propietario y r (4) para los otros&lt;br /&gt;
&lt;br /&gt;
La correspondencia entre máscaras octales y permisos se ve en la siguiente tabla&lt;br /&gt;
&lt;br /&gt;
[[Imagen:mascaras.png]]&lt;br /&gt;
&lt;br /&gt;
Aplicado a las 3 identidades básicas del sistema en un listado de directorio (user, group, others):&lt;br /&gt;
&lt;br /&gt;
[[Imagen:permisos.png]]&lt;br /&gt;
&lt;br /&gt;
En la siguiente tabla vemos un resumen con las máscaras de permisos más utilizadas&lt;br /&gt;
&lt;br /&gt;
[[Archivo:chmod_tabla.png]]&lt;br /&gt;
&lt;br /&gt;
== Comandos sudo y su ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;sudo&amp;#039;&amp;#039;&amp;#039;: Este comando se utiliza para ejecutar un programa con permisos de otro usuario. En ocasiones un programa necesita ejecutarse con más permisos que los que posee el usuario invocador para poder acceder a ciertos recursos del sistema para el que no tiene permisos suficientes. Por ejemplo, si ejecutamos con nuestro usuario:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
cat /etc/shadow&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
veremos que nos da un error de permiso denegado. Esto es porque ese archivo solo puede ser leído por root y los miembros del grupo shadow (haced un ls -la /etc para comprobarlo). Por tanto para poder visualizar el contenido de ese archivo podemos invocar el comando con permisos de root, utilizando para ello la orden sudo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
sudo cat /etc/shadow&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
veréis que ahora sí os dejará listar el contenido de ese archivo. El motivo es que al utilizar sudo se invoca el comando al que precede con privilegios de root. Sin embargo sudo no está restringido solamente a ejecutar comandos como root, también pueden usarse otros usuarios y grupos del sistema, para ello usamos los comandos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
sudo -u usuario comando&lt;br /&gt;
sudo -g grupo comando&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta sintaxis permitiría ejecutar comandos en nombre de un usuario o grupo especificados&lt;br /&gt;
&lt;br /&gt;
El comportamiento de sudo está definido en el archivo &amp;#039;&amp;#039;&amp;#039;/etc/sudoers&amp;#039;&amp;#039;&amp;#039;, el cual debe ser solamente modificado mediante el comando &amp;#039;&amp;#039;&amp;#039;visudo&amp;#039;&amp;#039;&amp;#039; ejecutado como root (o mediante &amp;#039;&amp;#039;&amp;#039;sudo visudo&amp;#039;&amp;#039;&amp;#039; con un sudoer). La sintaxis de cada línea de asignación de privilegios es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
USERNAME/GROUPNAME SERVERNAME=(USERNAME_RUNAS:GROUPNAME_RUNAS) COMMAND&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La línea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
root ALL=(ALL:ALL) ALL&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Significa:&amp;#039;&amp;#039;&amp;#039; El usuario &amp;#039;&amp;#039;&amp;#039;root&amp;#039;&amp;#039;&amp;#039; puede ejecutar desde cualquier host (primer &amp;#039;&amp;#039;&amp;#039;ALL&amp;#039;&amp;#039;&amp;#039;, antes del =), como cualquier usuario, segundo &amp;#039;&amp;#039;&amp;#039;ALL&amp;#039;&amp;#039;&amp;#039; (primero dentro del paréntesis), como cualquier grupo, tercer &amp;#039;&amp;#039;&amp;#039;ALL&amp;#039;&amp;#039;&amp;#039;, todos los comandos, último &amp;#039;&amp;#039;&amp;#039;ALL&amp;#039;&amp;#039;&amp;#039; de la línea. Cuando indiquemos una lista de privilegios de ejecución para miembro de un grupo la línea debe empezar por %&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
%admin ALL=(ALL:ALL) ALL&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Los miembros del grupo admin pueden ejecutar cualquier comando&lt;br /&gt;
&lt;br /&gt;
También es posible definir en el archivo sudoers &amp;#039;&amp;#039;&amp;#039;alias&amp;#039;&amp;#039;&amp;#039; para usuarios, máquinas comandos y runas. Los alias deben definirse en letra mayúscula (Ver &amp;#039;&amp;#039;&amp;#039;man sudo&amp;#039;&amp;#039;&amp;#039; o &amp;#039;&amp;#039;&amp;#039;sudo --help&amp;#039;&amp;#039;&amp;#039; para más información)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
User_Alias  OFICINA1 = paco, luis, carlos&lt;br /&gt;
Cmnd_Alias  POWER = /sbin/shutdown, /sbin/halt, /sbin/reboot, /sbin/restart&lt;br /&gt;
Runas_Alias WEB = www-data, apache&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez definidos los alias puedo utilizarlos en las reglas de ejecución del archivo&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
OFICINA1 ALL = (WEB) ALL&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Los miembros del grupo alias OFICINA1 pueden ejecutar como usuarios &amp;#039;&amp;#039;&amp;#039;www-data, apache&amp;#039;&amp;#039;&amp;#039; todos los comandos con permisos de ejecución para esos usuarios&lt;br /&gt;
&lt;br /&gt;
En versiones recientes se puede conseguir que el usuario pueda &amp;#039;&amp;#039;&amp;#039;invocar a sudo&amp;#039;&amp;#039;&amp;#039; simplemente haciéndolo miembro del &amp;#039;&amp;#039;&amp;#039;grupo sudo&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Un comando interesante es &amp;#039;&amp;#039;&amp;#039;sudo -i&amp;#039;&amp;#039;&amp;#039; que permite iniciar una sesión interactiva de root sin necesidad de la invocación recursiva &amp;#039;&amp;#039;&amp;#039;sudo su&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;su&amp;#039;&amp;#039;&amp;#039;: Este comando se utiliza para cambiar el usuario de la sesión de consola actual: Sintaxis:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;su [-] [usuario [argumentos]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Si se pone el - se ejecutarán los archivos de inicio del usuario (para iniciación de variables de entorno por ejemplo), en caso de que no se ponga se mantendrán las de la sesión de usuario anterior al cambio.&lt;br /&gt;
Si no se especifica el &amp;#039;&amp;#039;&amp;#039;usuario&amp;#039;&amp;#039;&amp;#039; entonces se cambiará por defecto al usuario root. En algunos sistemas, como Debian o Ubuntu, el usuario root viene deshabilitado por defecto, es decir no se podrá iniciar sesión con él. Esto se hace por motivos de seguridad.&lt;br /&gt;
Los &amp;#039;&amp;#039;&amp;#039;argumentos&amp;#039;&amp;#039;&amp;#039; también son opcionales y se refieren a la shell, por ejemplo -c comando ejecutaría el comando indicado en nombre del usuario indicado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
su -&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
el comando anterior cambiaría la sesión al usuario root, ejecutando sus archivos de inicio y situándolo en el home de root&lt;br /&gt;
&lt;br /&gt;
== Creación y Administración de Usuarios ==&lt;br /&gt;
&lt;br /&gt;
Linux posee, como la mayoría de Sistemas, una gestión integrada de usuarios y grupos. El soporte en el Sistema Operativo para las operaciones de definición y mantenimiento de usuarios se basa en los archivos del Sistema siguientes:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;/etc/passwd&amp;#039;&amp;#039;&amp;#039;: Archivo de texto en el que se almacenan los usuarios del Sistema. Cada línea de este archivo representa la información relativa a un usuario determinado y su sintaxis es la siguiente:&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;usuario:contraseña:id:gid:descripcion:directorio_trabajo:shell&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
dónde:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;usuario&amp;#039;&amp;#039;&amp;#039;: nombre del usuario&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;contraseña&amp;#039;&amp;#039;&amp;#039;: contraseña del usuario. Actualmente, por motivos de seguridad, las contraseñas no se almacenan en este archivo, sino en /etc/shadow. Por este motivo aparecerá una &amp;quot;x&amp;quot; en este campo&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;id&amp;#039;&amp;#039;&amp;#039;: id del usuario en el Sistema&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;gid&amp;#039;&amp;#039;&amp;#039;: id del grupo principal del usuario en el Sistema&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;descripción&amp;#039;&amp;#039;&amp;#039;: breve descripción&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;directorio_trabajo&amp;#039;&amp;#039;&amp;#039;: directorio home del usuario&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;shell&amp;#039;&amp;#039;&amp;#039;: programa de intérprete de comandos, o shell, asociado al usuario&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;/etc/shadow&amp;#039;&amp;#039;&amp;#039;: Archivo de texto en el que se almacena la información de contraseñas (cifradas) de los usuarios. A diferencia de /etc/passwd este archivo solo puede ser leído por root, de modo que solamente el superusuario puede ver su contenido. Con esta medida se fortaleza la seguridad de los sistemas Linux. De nuevo hay una línea por cada usuario del sistema, de modo que toda línea en /etc/passwd tendría su correspondiente en /etc/shadow. La sintaxis es:&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;usuario:contraseña:ultimo_cambio:min:max:aviso:inactivo:expiración:indicador&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
dónde:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;usuario&amp;#039;&amp;#039;&amp;#039;: tiene el mismo significado que en /etc/passwd&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;contraseña&amp;#039;&amp;#039;&amp;#039;: contraseña del usuario en formato cifrado. Si el valor en este campo es &amp;#039;&amp;#039;&amp;#039;LK&amp;#039;&amp;#039;&amp;#039; indicará que la cuenta está bloqueada, si el campo está vacío se indicará que no hay contraseña para el usuario&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;ultimo_cambio&amp;#039;&amp;#039;&amp;#039;: número de días entre el 1 de enero de 1970 y el último cambio de contraseña&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;min&amp;#039;&amp;#039;&amp;#039;: número de días mínimo antes de cambiar contraseña&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;max&amp;#039;&amp;#039;&amp;#039;: número de días máximo de vigencia de la contraseña&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;aviso&amp;#039;&amp;#039;&amp;#039;: número de días antes de que expire la contraseña, para avisar al usuario&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;inactivo&amp;#039;&amp;#039;&amp;#039;: número de días permitidos de inactividad de la cuenta&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;expiración&amp;#039;&amp;#039;&amp;#039;: fecha en la que la cuenta ya no podrá ser usada&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;indicador&amp;#039;&amp;#039;&amp;#039;: para uso futuro, valor por defecto 0&lt;br /&gt;
&lt;br /&gt;
Veréis que muchas de las líneas de este archivo tienen un &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot; en el campo de contraseña. Esto indica que corresponden a cuentas de usuario con los que no se va a inicar sesión, como por ejemplo los usuarios que se crean al instalar programas, éstos tendrán los permisos mínimos necesarios para ejecutar el programa, pero no se iniciará sesión con ellos.&lt;br /&gt;
En caso de root, el cual en Ubuntu está deshabilitado como usuario de inicio de sesión por defecto, veréis que hay un &amp;quot;!&amp;quot; en el campo de la contraseña. Para poder iniciar sesión con root directamente en Ubuntu debemos asignarle una contraseña, para ello podríamos usar los comando&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
sudo su&lt;br /&gt;
passwd&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Las líneas de /etc/shadow correspondientes a usuarios con inicio de sesión habilitado veremos que en el campo de la contraseña se almacena un código hash de la misma, identificado con los 2 caracteres iniciales, como por ejemplo $6, el cual indica SHA-512. Más concretamente:&lt;br /&gt;
&lt;br /&gt;
Concentrándonos en la parte de la contraseña, tenemos que este hash se compone de tres partes separadas por el caracter $:&lt;br /&gt;
 &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Id&amp;#039;&amp;#039;&amp;#039;: Identifica el método de encriptación utilizado: 1 para MD5; 2 o 2a para Blowfish; 3 para NT Hash; 5 para SHA-256; y 6 para SHA-512.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Salt&amp;#039;&amp;#039;&amp;#039;: Es utilizado por los algoritmos de encriptación, regularmente son 16 caracteres o más. El salt es una semilla de aleatorización utilizada con el propósito de que una misma contraseña en claro no genere siempre la misma cadena de caracteres cifrados, distintos salt producirán distintas versiones cifradas de la contraseña, lo cual dificulta los ataques de fuerza bruta.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Hash&amp;#039;&amp;#039;&amp;#039;: Esto es la &amp;quot;contraseña&amp;quot; (o hash). MD5 utiliza 22 caracteres, SHA-256 usa 43, y SHA-512 usa 86.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Veamos un ejemplo:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Supongamos que en /etc/shadow tenemos la línea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
oracle:$6$MvOuttAz$5ZUMuRkx8b2kGJ/jQvTszUQz73R1G9wM78kh1SogNRnSNARUtH9YFbRX/&lt;br /&gt;
E9iSkcokC4Djyo86DDj39Tq5ebw4/:15057:0:99999:7:::&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se interpretaría así:&lt;br /&gt;
&lt;br /&gt;
* Id=6 (SHA-512)&lt;br /&gt;
* Salt=MvOuttAz &lt;br /&gt;
* Hash= 5ZUMuRkx8b2kGJ/jQvTszUQz73R1G9wM78kh1SogNRnSNARUtH9YFbRX/E9iSkcokC4Djyo86DDj39Tq5ebw4/ &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;/etc/group&amp;#039;&amp;#039;&amp;#039;: Archivo de texto en el que se definen los grupos de usuarios. Todo usuario tiene un grupo principal asociado, además de otros de los que también puede ser miembros. De nuevo, se define en cada línea del archivo un grupo, con la sintaxis siguiente:&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;grupo:gid:lista_usuarios&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
dónde:&lt;br /&gt;
* grupo: nombre del grupo&lt;br /&gt;
* gid: id de Sistema para el grupo&lt;br /&gt;
* lista_usuarios: usuarios del grupo separados por comas&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pasos para crear un usuario manualmente&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Crear el grupo en /etc/group&lt;br /&gt;
* Añadir el usuario en el fichero /etc/passwd y /etc/shadow, dejando la contraseña en blanco&lt;br /&gt;
* Ejecutar el comando passwd para asignarle contraseña al usuario&lt;br /&gt;
* Crear el directorio HOME del usuario y asignarle como propietario al usuario&lt;br /&gt;
&lt;br /&gt;
== Uso de comandos relacionados con la gestión de usuarios ==&lt;br /&gt;
&lt;br /&gt;
Existen varios comandos en Linux para automatizar, o al menos simplificar, las tareas de creación de usuarios y grupos:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;useradd&amp;#039;&amp;#039;&amp;#039;: Comando para añadir usuario especificando toda la información como parámetros&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
useradd -m -s /bin/bash prueba&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
El comando anterior crea el usuario prueba con shell /bin/bash y &amp;#039;&amp;#039;&amp;#039;creando también automáticamente su directorio home&amp;#039;&amp;#039;&amp;#039; (opción -m). Pueden verse más opciones de este comando ejecutando&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
useradd --help&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;groupadd&amp;#039;&amp;#039;&amp;#039;: Comando para añadir grupos especificando toda la información como parámetros&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
groupadd test&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
El comando anterior crea el grupo test (Más opciones con la opción &amp;#039;&amp;#039;&amp;#039;--help&amp;#039;&amp;#039;&amp;#039; del comando)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;usermod&amp;#039;&amp;#039;&amp;#039;: Comando para modificar un usuario existente&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
usermod -a -G test prueba&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
El comando anterior añade al usuario &amp;#039;&amp;#039;&amp;#039;prueba&amp;#039;&amp;#039;&amp;#039; como miembro del grupo &amp;#039;&amp;#039;&amp;#039;test&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Tras ejecutar el comando podemos comprobar que efectivamente el usuario se ha añadido al grupo con el comando&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
id prueba&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
El siguiente comando:&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
usermod -p $(openssl passwd -1 abc123.) prueba&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
establece la contraseña &amp;#039;&amp;#039;&amp;#039;abc123.&amp;#039;&amp;#039;&amp;#039; para el usuario prueba. Debemos pasar como parámetro la &amp;#039;&amp;#039;&amp;#039;contraseña cifrada&amp;#039;&amp;#039;&amp;#039;, en este caso utilizando el algoritmo MD5, al comando &amp;#039;&amp;#039;&amp;#039;usermod&amp;#039;&amp;#039;&amp;#039;, por ese motivo se utiliza el comando openssl para generarla. Para obtener ayuda adicional para creación de passwords del comando &amp;#039;&amp;#039;&amp;#039;openssl&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
openssl passwd --help&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;vipw&amp;#039;&amp;#039;&amp;#039;: Comando que permite editar el archivo /etc/passwd de forma segura pues trabaja con una copia de seguridad&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;adduser&amp;#039;&amp;#039;&amp;#039;: Comando para &amp;#039;&amp;#039;&amp;#039;añadir usuarios pero de un modo asistido&amp;#039;&amp;#039;&amp;#039;, no es necesario especificar la información como parámetros, solamente el nombre del usuario. También se puede utilizar para establecer el grupo de un usuario con la sintaxis &amp;#039;&amp;#039;&amp;#039;adduser usuario grupo&amp;#039;&amp;#039;&amp;#039;. Adicionalmente permite la creación de grupos con la sintaxis &amp;#039;&amp;#039;&amp;#039;adduser --group nombre_grupo&amp;#039;&amp;#039;&amp;#039;. La opción &amp;#039;&amp;#039;&amp;#039;--system&amp;#039;&amp;#039;&amp;#039; indica que se creará un usuario del sistema, con inicio de sesión deshabilitado.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;addgroup&amp;#039;&amp;#039;&amp;#039;: Comando para añadir grupos pero de un modo asistido, simplemente especificando el nombre del grupo&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;gpasswd&amp;#039;&amp;#039;&amp;#039;: Comando para añadir usuarios a grupos. Ejemplo (añade el usuario uadmin al grupo wireshark)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
gpasswd -a uadmin wireshark&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Sería equivalente a&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
usermod -G wireshark uadmin&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Estos comandos añadirían el usuario al grupo pero no como grupo principal. Para cambiar el grupo principal del usuario podemos usar&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
usermod -g wireshark uadmin&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
El comando &amp;#039;&amp;#039;&amp;#039;gpasswd también se puede utilizar para eliminar a usuarios de grupos&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
gpasswd -d usuario sudo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Elimina a usuario del grupo sudo&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Eliminar usuarios&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Podemos hacerlo de varios formas:&lt;br /&gt;
* Poniendo en la definición de shell el valor /bin/false&lt;br /&gt;
* Poniendo  una contraseña inválida, como &amp;#039;&amp;#039;&amp;#039;LK&amp;#039;&amp;#039;&amp;#039;. Pensad que en /etc/shadow se almacenan las contraseñas cifradas, por lo tanto cualquier cosa que pongáis &amp;quot;a voleo&amp;quot; no coincidirá con ninguna contraseña &amp;quot;real&amp;quot;&lt;br /&gt;
* Eliminar al usuario eliminando la línea de /etc/passwd y /etc/shadow&lt;br /&gt;
Ahora bien, hay que tener en cuenta que, aunque eliminemos al usuario, todos sus archivos y directorios permanecen en el sistema. Por tanto mucho cuidado si tratáis de &amp;#039;&amp;#039;&amp;#039;reutilizar identificadores de usuario (UID)&amp;#039;&amp;#039;&amp;#039; pues todos esos archivos y directorios aparecerían asociados al nuevo usuario.&lt;br /&gt;
* Utilizar comandos como &amp;#039;&amp;#039;&amp;#039;userdel&amp;#039;&amp;#039;&amp;#039; para eliminar usuarios o &amp;#039;&amp;#039;&amp;#039;groupdel&amp;#039;&amp;#039;&amp;#039; para eliminar grupos (ejecutados con sudo)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;El comando id&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Este comando es útil para visualizar la información relativa a un usuario. La sintaxis es&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;id usuario&amp;lt;/source&amp;gt;&lt;br /&gt;
La salida del comando muestra el &amp;#039;&amp;#039;&amp;#039;uid, gid, y la lista de grupos adicionales del usuario&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;El comando getent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Permite visualizar información de entorno relacionada con los usuarios del sistema. Si, por ejemplo el equipo está conectado a un dominio, permitirá ver, además de los usuarios locales, todos los usuarios y grupos del dominio. Veamos algún ejemplo de uso:&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;getent passwd&amp;lt;/source&amp;gt;&lt;br /&gt;
Muestra todas las cuentas de usuarios en el sistema&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;getent group&amp;lt;/source&amp;gt;&lt;br /&gt;
Muestra todas las cuentas de grupos en el sistema&lt;br /&gt;
&lt;br /&gt;
== Referencias ==&lt;br /&gt;
&lt;br /&gt;
Tutoriales sobre sudo&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/how-to-edit-the-sudoers-file-on-ubuntu-and-centos&lt;br /&gt;
&lt;br /&gt;
Ejemplos sudo&lt;br /&gt;
http://www.courtesan.com/sudo/sample.sudoers&lt;br /&gt;
&lt;br /&gt;
Calculador de permisos chmod:&lt;br /&gt;
http://www.wwwwdot.com/chmod-calculator/&lt;br /&gt;
&lt;br /&gt;
[[Comandos básicos de xestión e administración en linux|Volver]]&lt;br /&gt;
&lt;br /&gt;
JavierFP 16:31 08 ene 2019 (CET)&lt;/div&gt;</summary>
		<author><name>Javierfp</name></author>
	</entry>
</feed>