# data[].attributes.body
https://www.google.com/url?sa=t&source=web&rct=j&url=https://www.dte.us.es/cursos/linux-admin/unidades/unidad_3_usuario_grupos_permisos_procesos.pdf/at_download/file&ved=2ahUKEwiwkZmmp9zyAhVHOs0KHQwcCasQFnoECCcQAQ&usg=AOvVaw3ff4A3VkLCEcimweZgnThe

# data[].attributes.body
https://www.softzone.es/programas/linux/permisos-archivos-directorios-linux/
https://santi-gf.github.io/usuarios-grupos/

# data[].attributes.attachment_link.readable_text
El sistema de archivos que utiliza Linux es mucho más avanzado, y a la vez sencillo, que el que utilizan otros sistemas, como Windows. Este se basa en especificar si el propietario, el grupo de usuarios o cualquiera puede leer, escribir o ejecutar el archivo. Sin duda, es una forma muy eficaz de mantener a cada usuario del sistema controlado, evitando que este pueda acceder a los datos de los demás sin permiso.

Es cierto que este sistema de permisos puede parecer algo complicado. Pero, a continuación, te explicamos en qué se basa y cómo podemos cambiar a nuestro gusto estos permisos.

Qué significan los "números" o "letras" en los permisos de Linux

Los permisos en Linux se pueden reflejar tanto con letras como con números. Ambas formas son correctas e igual de funcionales. Sin embargo, lo más intuitivo son las letras, ya que nos permiten comprender mejor de qué permiso se trata. Los números son más usados por usuarios avanzados, al ser más rápido de especificar.

Cada archivo o carpeta que nos encontremos al listar el contenido de un directorio irá indicado con un símbolo:

- indica que se trata de un archivo.

d indica que se trata de un directorio.

l indica que se trata de un enlace (acceso directo, por ejemplo).

Y cada archivo o directorio lleva tres niveles de permisos diferentes: uno para el propietario, otro para los usuarios del mismo grupo que el propietario, y otro para los demás usuarios. A su vez, cada uno de estos niveles puede tener 3 valores diferentes en función del grado de privilegios que especifiquemos en el sistema. Estos valores podemos especificarlos por las siguientes letras:

r - permiso de lectura (permite abrirlo, copiarlo, etc).

w - permiso de escritura (permite modificarlo, borrarlo, etc).

x - permiso de ejecución (si es binario, permite ejecutarlo).

De esta manera, tenemos que elegir los permisos (rwx) para cada nivel de usuario (dueño, grupo y otros).

Por ejemplo, supongamos que tenemos un archivo llamado "softzone" en nuestro disco duro con Linux. Vamos a configurar que el propietario tenga control total sobre él (rwx), los miembros del grupo solo lectura (r-) y los demás usuarios ningún permiso (-). En ese caso, los permisos serían los siguientes:

Cómo funcionan los permisos de Linux mediante números

Si no nos gustan las letras, también podemos usar el código numérico para cambiar los permisos de Linux. Este código no es más que el valor del código binario según los permisos que estén o no usados. Supongamos que cada uno de los permisos ocupa una posición en binario. En este caso, rwx equivaldría a 111 binario, que en decimal sería 7. r- sería 100 en binario, o lo que es lo mismo, 4 en decimal. Y - sería 000 en binario, 0 en decimal.

Siguiendo estas directrices, los permisos del ejemplo del caso anterior sería 740. El primer dígito corresponde al propietario del archivo, el segundo al grupo y el tercero a todos los demás. Los números de permisos que nos podemos encontrar serán los siguientes:

Algunos ejemplos de esto serían:

Ambos sistemas son igual de efectivos, y cada uno tiene sus ventajas e inconvenientes. Mientras que las letras nos permiten tener ver más claro el nivel de permisos, los números son mucho más simples, aunque hay que pensar un poco más.

Cómo cambiar los permisos en Linux

Para cambiar los permisos en Linux es necesario usar el comando "chmod". Este comando debe ir acompañado del nuevo nivel de privilegios que queramos darle al nuevo archivo o directorio, así como de un "+" si lo que vamos a hacer es darle ese nuevo permiso, o un "-" si lo que vamos a hacer es quitarle permisos. También podemos cambiar los permisos del "grupo" y "otros usuarios" añadiendo los parámetros "g" y "o" respectivamente. El propietario se indicaría sin este parámetro, o con una "u". Y si queremos cambiar los permisos a todos a la vez, podemos usar el parámetro "a".

Partiendo de un archivo "softzone", estos son algunos ejemplos para cambiar los permisos usando el código de letras:

chmod +rwx softzone -> añade permiso de lectura, escritura y ejecución al propietario.

chmod g+rwx softzone -> añade permiso de lectura, escritura y ejecución al grupo del usuario propietario.

chmod o+rwx softzone -> añade permiso de lectura, escritura y ejecución al resto de usuarios.

chmod -x softzone -> quita el permiso de ejecución al propietario.

chmod g-wx softzone -> quita los permisos de escritura y ejecución al grupo del usuario propietario.

chmod o-rwx softzone -> quita todos los permisos al resto de usuarios.

chmod a+r -> añade permiso de lectura a propietario, grupo y resto de usuarios.

También podemos usar el código numérico para cambiar el nivel de permisos de cualquier archivo de la siguiente manera:

chmod 777 softzone -> permiso rwx para propietario, grupo y resto de usuarios.

chmod 700 softzone -> permiso rwx para propietario, y grupo y usuarios sin permisos.

chmod 327 softzone - permiso de escritura y ejecución para propietario, escritura para grupo y rwx para resto de usuarios.

Para cambiar los privilegios a un directorio, los comandos son los mismos, con la diferencia de que en vez del nombre del archivo tendremos que especificar el directorio en cuestión.

Cambiar el propietario o grupo de un archivo o directorio

Además de cambiar los permisos de los archivos o los directorios, si tenemos problemas también podemos cambiar nosotros el propietario o el grupo al que pertenece cualquiera de ellos.

Por ejemplo, podemos cambiar el grupo de un archivo (o directorio) usando el comando "chgrp groupname archivo" (cambiando "groupname" por el nombre del grupo que queremos añadir, y "archivo" por el nombre del fichero o el directorio que corresponda).

También podemos cambiar quién es el propietario de cualquier archivo. Para ello, usaremos el comando "chown" seguido del nombre del nuevo propietario del archivo, y el nombre del archivo o directorio sobre el que realizar el cambio.

# data[].attributes.attachment_link.title
Permisos en Linux | Cómo son y cómo se cambian

# data[].attributes.attachment_link.description
El sistema de archivos que utiliza Linux es mucho más avanzado, y a la vez sencillo, que el que utilizan otros sistemas, como Windows. Este se basa en especificar si el propietario, el grupo de usuarios o cualquiera puede leer, escribir o ejecutar el archivo.

# data[].attributes.body
https://eltallerdelbit.com/usuarios-grupos-linux/

# data[].attributes.attachment_link.readable_text
En este tutorial aprenderemos cómo crear y gestionar usuarios y grupos en Linux.

Vamos a ver algunas de las dudas más frecuentes acerca de usuarios y grupos en Linux, como por ejemplo cómolistar usuarios en Linux por medio de la terminal (nos valdremos de varios comandos), cómo listar los grupos en Linux, cómo borrar usuarios, cómo crear usuarios en Linux, y muchas opciones más que seguro te serán útiles.

En este artículo:

Cuestiones importantes sobre usuarios y grupos Linux

-> La organización de usuarios de Linux en grupos de usuarios, permite otorgar diferentes permisos a cada grupo, y de esta forma gestionar " en bloque" qué grupos tienen permiso y para qué.

En Linux los usuarios pertenecen a un grupo primario y un grupo secundario. Podemos modificar los grupos a los que pertenece un usuario si es necesario. De hecho en algunas ocasiones, por cuestión de permisos (para modificar o acceder a ficheros/directorios) será necesario añadir un usuario a un grupo, o añadir a un usuario como miembro de un grupo secundario.

Relacionado : Usuarios y grupos Samba en Linux

Es importante conocer los términos (User ID o Identificador de Usuario) y (Group ID o Identificador de grupo).

El usuario root siempre tiene asignado el UID 0.

Los UID del 0 al 99 se reservan para usos administrativos.

Comandos y archivos importantes para crear y gestionar usuarios y grupos en Linux:

useradd : Añadir un usuario

usermod : Modificar un usuario

userdel : Eliminar un usuario

groupadd : Añadir un grupo.

groupmod : Modificar un grupo.

groupdel : Eliminar un grupo.

el archivo /etc/passwd : en este archivo podemos ver todos los usuarios creados, sus UID y sus GID.

el archivo /etc/group : En este archivo podemos ver los GID de los grupos existentes en el sistema, y los usuarios pertenecientes a cada grupo.

el archivo /etc/shadow : En este archivo se encuentran cifradas las contraseñas de los usuarios.

Al crear un usuario en Linux, este recibe unUID (Identificador de Usuario Unico)

Es un ID, un código único para el usuario. Al crear un usuario, a su vez se crea un grupo para ese usuario y un GID (Identificador Único de Grupo) para ese grupo del nuevo usuario.

-m crea automáticamente el directorio personal del usuario

-g grupo principal al que añadimos el usuario

-G grupo secundario

-d permite especificar el directorio personal del usuario, que será creado a la vez que el usuario

Crear usuarios Linux por terminal (Ejemplo de uso de useradd)

Crear usuario, asignarlo a un grupo, especificar su directorio personal y el shell a utilizar:

Después asignamos un password a esa nueva cuenta de usuario Linux:

Y después de crear el usuario y asignarlo al grupo1 con el comando anterior ( useradd -g grupo1), ejecutamos cat /etc/passwd para ver los GID de los grupos en los que se encuentra el nuevo usuario creado:

Podemos ver que el usuario1 se encuentra en el grupo que tiene asignado el GID 1004 (tanto el grupo primario como el secundario).

Y después ejecutamos cat /etc/group para ver qué grupos corresponden a los GID ´s en los que se encuentra el nuevo usuario:

Cómo ver los usuarios en Linux por consola

Para listar los usuarios en Linux, podremos hacerlo mostrando el contenido del fichero /etc/passwd, que es el archivo donde se encuentran los usuarios que pueden acceder al sistema. Podemos mostrar el contenido del fichero /etc/passwd con el comando " cat" o el comando " more ".

OTRAS FORMAS DE VER LOS USUARIOS EN LINUX

También podríamos utilizar los comandos Linux more y less que nos muestran el resultado de forma paginada, más agradable de ver:

Aunque aún podemos mejorar el resultado mostrado por pantalla, seleccionando solamente los campos deseados (en este caso el campo username o nombre de usuario), usando también una tubería ( grep) y el comando cut, así:

ver usuarios linux con el comando awk

ver usuarios linux con el comando getent

ver usuarios linux con el comando compgen

Al visualizar el contenido completo del archivo/etc/passwd, veremos varios datos que debemos conocer:

El nombre de la cuenta

El UID de la cuenta de usuario.

el GID del grupo principal del usuario.

el directorio de trabajo del usuario

el interprete de comando del usuario

Aquí vemos el resultado del comando anterior:

-> Se puede apreciar que muchos usuarios tienen al final:

esto significa que estos usuarios que tienen configurada esta ruta como shell, realmente no pueden iniciar sesión; recibirán un mensaje avisando de ello:

Esto suele ser porque son usuarios del sistema, para varios procesos Linux o software del sistema.

Cómo ver las contraseñas de usuarios en Linux

Las contraseñas de los usuarios en Linux se almacenan cifradas en el archivo

Así que no podemos averiguar las contraseñas de los usuarios, pero podemos cambiar la contraseña de un usuario si no la recordamos.

Cómo cambiar contraseñas de usuario

Podemos cambiar la contraseña de un usuario con el comando passwd y el nombre de usuario.

así:

Modificar Usuarios con el comando usermod

Podemos modificar usuarios en Linux con el comando usermod

Vamos a ver varios ejemplos de cómo modificar usuarios.

Modificar el directorio de trabajo de un usuario:

El nuevo directorio de trabajo del usuario test será /var/www

Ahora el usuario test se llamará nuevotest

Modificar el grupo primario de un usuario

Ahora el grupo primario del usuario test será el grupo apache

Modifica el grupo suplementario de un usuario existente (sustituyendo el grupo anterior)

Añadir un grupo suplementario de un usuario existente (añadiendo el grupo sin sustituir el primario en el que ya está el usuario)

Modificar la fecha de expiración de una cuenta de usuario:

Ahora la cuenta de usuario expirará el 15 de marzo de 2021

Bloquear una cuenta de usuario:

Desbloquear una cuenta de usuario

El usuario test ha sido eliminado.

CREAR GRUPOS DE USUARIOS EN LINUX

Creamos diversos grupos de usuarios con el comando groupadd:

Con el comando cat /etc/group

comprobamos el GID de los nuevos grupos de usuarios creados (visualizando el contenido del archivo /etc/group):

Podremos ver los grupos que existen dentro de un sistema linux con:

De esta forma mostramos todos los grupos que existen en el sistema.

Usando " more " el contenido del fichero se mostrará permitiendo la paginación (muestra las páginas una a una, y pasamos a la siguiente pulsando la tecla de espacio.

Ver los grupos a los que pertenecen los usuarios

Otra forma de ver los grupos a los que pertenecen los usuarios es usando el comando cut con el archivo /etc/passwd

así:

Aquí vemos la salida del comando:

Ver Usuarios de un grupo Linux

Podremos ver los usuarios que hay dentro de un grupo con el comando getent:

mostrará los usuarios dentro del grupo " ssh "

Cambiar grupo primario de un usuario en Linux

Así añadimos como grupo primario el " grupo1" para el usuario " usuario1"

Añadir un usuario a un grupo secundario en Linux

Este ejemplo añadirá al usuario " usuario1" al grupo " grupo2 ".

Eliminar grupos con groupdel

Eliminamos un grupo con " groupdel ", seguido del grupo que queremos eliminar.

Quitar usuario de un grupo con deluser

Si queremos sacar de un grupo a un usuario, usaremos el comando deluser así:

Ahora el usuario " usuario" ya no pertenece al grupo " grupo"

Otros COMANDOS para trabajar con Usuarios y grupos Linux

¿Qué hace el comando id en Linux?

id es un comando de linux que permite conocer los datos de un usuario : su identificador de usuario ( ID), su identificador de grupo ( GID), y el nombre del grupo o grupos a los que pertenece el usuario.
Para ver los datos relativos a un usuario, ejecutamos:

o directamente

y veremos los datos del usuario actual.

Ejemplo:

Podemos ver que si tecleamos:

veremos los datos del usuario1: su , el GID y el nombre del grupo al que pertenece dicho usuario, y los grupos en los que se encuentra incluido (en este caso solo se encuentra en el grupo con GID 1004, llamado grupo1)

También vemos que el usuario root posee el UID 0. Al igual que su GID es 0. A la cuenta root siempre se le asigna el UID 0.

whoami es un comando de linux que muestra el nombre de usuario que estamos utilizando.

Con toda esta info, comandos y archivos necesarios, podremos administrar correctamente nuestros usuarios y grupos en Linux.

Otros enlaces con más info sobre Usuarios y Grupos en Linux:

report this ad

# data[].attributes.attachment_link.title
Administrar usuarios y grupos en Linux - El Taller del Bit

# data[].attributes.attachment_link.description
Vamos a ver algunas de las dudas más frecuentes acerca de usuarios y grupos en Linux, como por ejemplo cómolistar usuarios en Linux por medio de la terminal (nos valdremos de varios comandos), cómo listar los grupos en Linux , cómo borrar usuarios , cómo crear usuarios en Linux , y muchas opciones más que seguro te serán útiles.

# data[].attributes.body
https://access.redhat.com/documentation/es-es/red_hat_enterprise_linux/6/html/configuring_the_red_hat_high_availability_add-on_with_pacemaker/s1-accesscontrol-haar

https://blog.carreralinux.com.ar/2016/07/permisos-en-linux/

# data[].attributes.attachment_link.readable_text
A partir de Red Hat Enteprise Linux 6.6, usted puede usar el comando pcs acl para establecer el permiso para que usuarios locales tengan acceso de solo lectura o solo escritura para la configuración de clúster mediante las listas de control de acceso (ACL).

El establecimiento de permisos para usuarios es un proceso de dos pasos:

1. Ejecute el comando pcs acl role create... para crear un rol que defina los permisos para dicho rol.

2. Asigne el rol que creó a un usuario con el comando pcs acl user create.

El siguiente procedimiento de ejemplo proporciona acceso de solo lectura para una configuración de clúster a un usuario local llamado rouser.

1. Este procedimiento requiere que el usuario rouser exista en el sistema local y que el usuario rouser sea un miembro del grupo hacluster.

2. Cree el usuario rouser en el sistema pcs ACL y asígnele el rol de read-only.

#pcs acl user create rouser read-only

3.
#pcs acl User: rouser Roles: read-only Role: read-only Description: Read access to cluster Permission: read xpath /cib (read-only-read)

El siguiente procedimiento de ejemplo proporciona acceso de escritura a un usuario local llamado wuser.

1. Este procedimiento requiere que el usuario wuser exista en el sistema local y que el usuario wuser sea miembro del grupo hacluster.

2. Cree el usuario wuser en el sistema pcs ACL y asígnele el rol write-access.

#pcs acl user create wuser write-access

3.
#pcs acl User: rouser Roles: read-only User: wuser Roles: write-access Role: read-only Description: Read access to cluster Permission: read xpath /cib (read-only-read) Role: write-access Description: Full Access Permission: write xpath /cib (write-access-write)

Para más información sobre las ACL de clúster, consulte la pantalla de ayuda para el comando pcs acl.

# data[].attributes.attachment_link.title
3.3. Configuración de permisos de usuario Red Hat Enterprise Linux 6 | Red Hat Customer Portal

# data[].attributes.attachment_link.description
A partir de Red Hat Enteprise Linux 6.6, usted puede usar el comando pcs acl para establecer el permiso para que usuarios locales tengan acceso de solo lectura o solo escritura para la configuración de clúster mediante las listas de control de acceso (ACL).

# data[].attributes.body
https://blog.carreralinux.com.ar/2016/07/permisos-en-linux/

# data[].attributes.attachment_link.readable_text
En el último post (" Usuarios y grupos en Linux ") aprendimos cómo administrar grupos y usuarios. En esta ocasión veremos cómo utilizar los permisos en Linux para usuarios y grupos como primera medida de control de acceso a los recursos del sistema.

Permisos en Linux

Veamos cómo crear un directorio llamado midirectorio en /tmp y mostrar el usuario y el grupo dueños del mismo, lo cual podremos luego observar en la Fig. 1:

Si queremos cambiar el usuario dueño o el grupo propietario de /tmp/midirectorio, podemos utilizar el comando chown de la siguiente manera:

Otra opción para cambiar el grupo propietario es chgrp:

Ahora cambiemos el grupo propietario a fulano:

y veamos los resultados resaltados en la Fig. 1 (usuario dueño y grupo propietario -en ese orden- aparecen resaltados):

Una explicación detallada de los permisos en Linux

En la primer columna de la salida de ls -ld podemos ver los permisos asignados para el usuario dueño y el grupo propietario de /tmp/midirectorio, y para el resto de los usuarios del sistema:

La primer letra (d) indica que /tmp/midirectorio es un directorio. Si bien nosotros sabíamos esto por haberlo creado previamente, en ocasiones tendremos que identificar si el recurso indicado es un directorio, un archivo "común y silvestre" (indicado por un - en vez de la d), o un enlace simbólico (por la presencia de una l), entre otros.

A continuación, la primer terna de caracteres (rwx) indica que el usuario dueño posee permisos de lectura (r), escritura (w), y ejecución (x) sobre el directorio. La segunda terna (r-x) indica que los miembros del grupo propietario posee permisos de lectura y ejecución (pero no de escritura). Finalmente, la última terna muestra que todos los demás usuarios del sistema poseen los mismos permisos que en el caso anterior.

Veamos la forma en que los permisos rwx nos permiten restringir el acceso a los recursos del sistema:

El permiso de lectura [r] es requerido para poder listar el contenido del directorio.

El permiso de escritura [w] permite que se agreguen archivos al directorio, que se renombren otros ya existentes, que se borren dichos archivos, o que se modifiquen los atributos del directorio. De todas formas, hay que tener en cuenta que para poder realizar estas operaciones es necesario el permiso de ejecución sobre el mismo directorio.

El permiso de ejecución [x] es necesario para ingresar al directorio y acceder a archivos y a subdirectorios que se encuentren dentro del mismo.

Para dar permisos de escritura sobre /tmp/midirectorio a miembros del grupo fulano deberemos usar el comando chmod seguido de la opción g (grupo), del signo + y del permiso que deseemos asignar (en este caso w):

Si quisiéramos asignar (o quitar, en cuyo caso utilizaremos el signo -) más de un permiso a la vez podemos hacerlo fácilmente. Por ejemplo, veamos cómo quitar los permisos de lectura y ejecución para el resto de los usuarios del sistema (simbolizados por la opción o, de others en inglés):

En el caso de que queramos modificar los permisos de un directorio y de sus contenidos simultáneamente, podemos usar la opción -R (de recursiva) de chmod. Tomando el caso anterior como ejemplo:

Por último, para asignar o quitar permisos al usuario dueño, utilizamos la opción u (del inglés user), mientras que si queremos otorgar o remover un permiso en particular para todos usaremos la opción a (de all). De esta manera, el siguiente comando activa los permisos de ejecución sobre /tmp/midirectorio para todos los usuarios:

Adicionalmente, podemos indicar un determinado permiso en forma octal en vez de r, w, o x. La conversión entre ambas formas de asignar permisos en Linux puede consultarse aquí.

Espero que les sirva. ¡Nos leemos en breve!

# data[].attributes.attachment_link.title
Permisos en Linux y accesos para usuarios y grupos - El Camino del Sysadmin

# data[].attributes.attachment_link.description
En el último post ("Usuarios y grupos en Linux") aprendimos cómo administrar grupos y usuarios. En esta ocasión veremos cómo utilizar los permisos en Linux para usuarios y grupos como primera medida de control de acceso a los recursos del sistema. Permisos en Linux Veamos cómo crear un directorio llamado midirectorio en /tmp y mostrar [...]

# data[].attributes.body
https://www.google.com/url?sa=t&source=web&rct=j&url=https://www.dte.us.es/cursos/linux-admin/unidades/unidad_3_usuario_grupos_permisos_procesos.pdf/at_download/file&ved=2ahUKEwjMu8P3kNzyAhXKWc0KHWSMDGYQFnoECDIQAQ&usg=AOvVaw3ff4A3VkLCEcimweZgnThe

# data[].attributes.body
Permisos Linux: https://docs.bluehosting.cl/tutoriales/servidores/conceptos-basicos-sobre-permisos-y-propiedades-en-linux.html

Usuarios y Grupos Linux: https://atareao.es/como/gestion-de-usuarios-y-grupos-en-linux/

# data[].attributes.attachment_link.readable_text
Introducción

Las propiedades y permisos en Linux son conceptos algo complejos, pero su comprensión es esencial para poder operar y mantener su sistema. Ya sea que utilice su servidor para la gestión de su sitio web o para la administración de grandes plataformas, este tutorial le ayudará a comprender la mayoría de los conceptos de los usuarios, grupos y sus permisos.

Tipos de cuenta

Por defecto, Linux distingue entre varios tipos de cuenta con el fin de aislar los procesos y cargas de trabajo. Linux trabaja con cuatro tipos de cuenta:

Una de las recomendaciones básicas de seguridad en Linux (visite nuestra Guía básica de seguridad es limitar el acceso root para proveer un ambiente seguro de trabajo. También se sugiere otorgar el mínimo de privilegios posibles a una cuenta de usuario. La importancia de las buenas prácticas en sistemas multiusuario es crucial para una operación óptima en sus servidores.

Cuenta root

root es la cuenta con mayores privilegios en un sistema Linux/UNIX. Esta cuenta tiene la capacidad de llevar a cabo cualquier función de administración, incluyendo: añadir cuentas, cambiar contraseñas de usuarios, examinar archivos log e instalar software. Esta cuenta no tiene restricciones de seguridad, y debe tenerse extremo cuidado al usarla.

Si un usuario es el administrador del sistema, y requiere permisos root se recomienda que dicho administrador tenga su propio usuario y que ejecute los comandos que requieran privilegios de superusuario usando el prefijo sudo.

Permisos

La lectura, escritura y ejecución son los tres parámetros principales de los permisos. Debido a que los usuarios se disponen en grupos cuando sus cuentas son creadas, también puede especificar si ciertos grupos pueden leer, escribir o ejecutar un archivo.

Algunas de las operaciones que requieren privilegios root incluyen: crear, remover y administrar cuentas de usuario; remover o modificar archivos del sistema; reiniciar servicios del sistema. En contraste, un usuario regular puede ejecutar operaciones como: ejecutar un cliente de red; operar archivos para los cuales tiene los permisos apropiados; instalar algunos paquetes de software; entre otros.

Cómo identificar los permisos y propietarios de los archivos y directorios del sistema

Para aprender a identificar los atributos de un archivo/directorio y determinar cuáles son los permisos y propietarios siga los siguientes pasos:

1. Diríjase a un directorio de su preferencia y ejecute el comando ls -l. Observe el siguiente ejemplo:

Al ejecutar el comando, veremos una lista de los archivos y subdirectorios que contiene el directorio actual (pwd). En este ejemplo podemos ver el script AnalisisRed.sh acompañado de varios parámetros que iremos entendiendo a lo largo del tutorial.
El tercer parámetro indica el usuario al cual pertenece el archivo:rubencs. El parámetro que le sigue indica el grupo propietario del archivo: operadoresred. Este último parámetro podría ser igual al usuario si este no está asociado a ningún grupo.

2. El siguiente parámetro que debemos ver con cuidado es la secuencia -rw-rw-r--, ¿Alguna vez se ha preguntado qué significa cada una de estas letras?, hay que mirarlo paso a paso:

Esta secuencia contiene diez (10) caracteres que indican los permisos del archivo o directorio. Para entenderlo debemos dividir la secuencia en el primer carácter y tres grupos de tres caracteres. Miremos más de cerca el archivo del ejemplo:

Tal como se observa en la imagen arriba, el primer carácter indica el tipo de archivo. El primer grupo revela los permisos del usuario propietario del archivo, el siguiente muestra los permisos del grupo propietario y el último grupo indica los permisos que regirán al resto de los usuarios.
Cada una de las letras indica el tipo de permiso, y cada grupo de tres caracteres está ordenado en la formarwx, así:

r indica read o permiso de lectura;

w indica write o permiso de escritura;

x indica execute o permiso de ejecución.

- el guion indica que el archivo o directorio carece del permiso correspondiente en dicha posición. Por ejemplo, si en el grupo de permisos del propietario aparece r--, significa que el usuario propietario solo tiene permisos para leer o visualizar el archivo.

Tipos de archivo
Tal como se mencionó, el primer parámetro indica el tipo de fichero, existen tres principales:

- indica un archivo regular;

d indica directorios o carpetas;

l o link indica que es un enlace simbólico;

Permisos de lectura
Este permiso indica que el usuario puede leer o visualizar el contenido de un archivo. Si un usuario tiene permiso de lectura de una carpeta, entonces este podrá ver el contenido de dicho directorio. Para el caso de nuestro ejemplo:

Permisos de escritura
Los permisos de escritura en un archivo simplemente indican que el usuario puede modificar el contenido del archivo y sus permisos usandochmod o chown. El usuario también podrá eliminar el archivo si tiene permisos de escritura. Cuando el permiso aplica a un directorio, el usuario puede modificar el contenido dentro de dicho directorio e incluso eliminarlo. Para nuestro ejemplo:

Permisos de ejecución
El permiso de ejecución se explica por sí solo: un usuario puede ejecutar un archivo solo si posee este tipo de permisos (los archivos ejecutables son las aplicaciones yscripts). En nuestro ejemplo, el archivo AnalisisRed.sh es un script, veamos quiénes poseen permisos para ejecutarlo:

En resumen, nuestro archivo puede ser leído por cualquier usuario, modificado por el propietario y el grupo, y no puede ser ejecutado por nadie. En la próxima sección aprenderá cómo cambiar estos permisos.

Usar referencias binarias para configurar permisos

Otra manera muy común de denominar y configurar permisos es usando referencias binarias. Para entender cómo funcionan estas referencias, recuerde que los permisos están dados por tres caracteres rwx y que existen tres grupos establecidos para otorgar permisos (propietario, grupo y resto de los usuarios).

Tenga en cuenta que un permiso en forma binaria está representado por tres números enteros: el primer número representa los permisos del propietario, el segundo representa los permisos de grupo; y el último número representa los permisos del resto de los usuarios. Los números son una representación binaria de los caracteres rwx asignando a cada letra un valor:

Para obtener el número entero que representa cada conjunto de permisos, debe sumar los permisos que desea habilitar para cada conjunto. Si algún permiso no será habilitado no sumará el entero correspondiente a dicho permiso. Por ejemplo, digamos que un archivo posee los siguientes permisos:

El usuario tiene todos los permisos habilitados ( rwx), por lo que debe sumar 4+2+1 = 7. Solo están habilitados los permisos de lectura (r) y escritura (w) en los grupos, por lo tanto, el número entero que identificará los permisos de grupos será 6 (4+2+0). Finalmente, el resto de los usuarios solo puede leer (r) el archivo, este conjunto de permisos se representará entonces con 4 (4+0+0). Así, los permisos de este archivo estarán representados con el número 764.

Cómo configurar/cambiar los permisos de archivos y directorios

Hay distintos métodos que puede utilizar para cambiar los permisos y propietarios de un archivo o directorio. La explicación y comprensión de las referencias binarias facilitará este proceso:

1. Para cambiar los permisos a través de la línea de comandos se utiliza chmod con la siguiente sintaxis:

chmod [permisos] nombre_del_archivo

Puede especificar los permisos a través de una representación binaria, o utilizando la letra inicial a quién va dirigido el permiso (usuario=u; grupo=g; otros=o; todos=a del inglés all); seguido del signo + (agregar) - (quitar); y finalmente el permiso correspondiente r/ w/ x. Ejemplos:

chmod u+x AnalisisRed.sh

Otorga el permiso de ejecución al usuario.

chmod g-r AnalisisRed.sh

Revoca el permiso de lectura al grupo.

chmod o-w AnalisisRed.sh

Revoca el permiso de escritura al resto de los usuarios.

chmod a+rw AnalisisRed.sh

Otorga el permiso de lectura y escritura a todos los usuarios.

chmod 740 AnalisisRed.sh

Otorga al usuario todos los permisos (rwx); a los grupos solo el permiso de lectura (r); y ningún permiso al resto de los usuarios. Este último método es el más sencillo y recomendable.

2. Para cambiar la asignación de propiedad del usuario o grupo de un archivo (o directorio) se utiliza:

chown usuario:grupo nombre_del_archivo

Simplemente se indica cuál usuario y cuál grupos serán propietarios de dicho archivo.

3. Si solo desea cambiar el grupo propietario puede utilizar chgrp nuevo_grupo nombre_del_archivo.

4. Siguiendo con el ejemplo anterior hagamos un par de cambios y veamos cómo afectan los atributos del archivo:

chown rubencs:administradores AnalisisRed.sh chmod 700 AnalisisRed.sh

El primer comando mantuvo a rubencs como el propietario del archivo, pero definió un nuevo grupo propietario: administradores. El segundo comando otorga todos los permisos a rubencs como propietario del archivo, y revoca todos los permisos a los grupos y otros usuarios.
Si volvemos a usar ls -l para visualizar los permisos del archivo, podremos ver los cambios:

[root@centos rubencs]# ls -l total 4 -rwx------ 1 rubencs administradores 107 Aug 1 15:56 AnalisisRed.sh

Ahora el propietario ( rubencs) será capaz de visualizar, modificar y ejecutar el script. Ningún otro usuario (excepto root) tendrá acceso al archivo.

Consejos

Al administrar un sistema Linux debe ser muy cauteloso con respecto a la asignación de permisos y propietarios de sus archivos y directorios. La recomendación general es conceder la menor cantidad de permisos posibles a un usuario. ¡Los permisos de escritura y ejecución pueden ser peligrosos si no administran con cuidado!

Recuerde ser consecuente en la asignación de permisos, de lo contrario podría ocasionar contradicciones. Por ejemplo: Digamos que otorga permisos de lectura del archivo HolaChile.txt al grupo "Administradores". Pero el directorio que contiene el archivo HolaChile.txt no posee permisos de lectura para ese grupo, o es propiedad de un grupo distinto. Si esto ocurre, el grupo "Administradores" no podrá acceder al directorio donde se encuentra el archivo -y por lo tanto- no será capaz de usarlo.

Además, es importante mantener una organización apropiada de los grupos y usuarios. Siempre que cree un usuario nuevo inclúyalo en el grupo adecuado.

Para ver una lista de los grupos en su sistema, incluyendo los usuarios que pertenecen a cada grupo, puede utilizar:

sudo cat /etc/group

Recursos adicionales

Este es un tema sumamente extenso y no es necesario ahondar en más detalles; sin embargo, este tutorial da un punto de partida sólido para comprender los conceptos básicos. Puede consultar los siguientes recursos en busca de información adicional. Aunque este material es provisto esperando que sea útil, tome en cuenta que no podemos dar fe de la actualidad o precisión de los contenidos externos.

# data[].attributes.attachment_link.keywords[]
conceptos de permisos y propiedades en linux

# data[].attributes.attachment_link.title
Conceptos básicos sobre permisos y propiedades en Linux

# data[].attributes.attachment_link.description
Las propiedades y permisos en Linux son conceptos algo complejos, pero su comprensión es esencial para poder operar y mantener su sistema. Ya sea que utilice su servidor para la gestión de su sitio web o para la administración de grandes plataformas, este tutorial le ayudará a comprender la mayoría de los conceptos de los usuarios, grupos y sus permisos.

# data[].attributes.body
https://blog.carreralinux.com.ar/2016/07/permisos-en-linux/

# data[].attributes.attachment_link.readable_text
En el último post (" Usuarios y grupos en Linux ") aprendimos cómo administrar grupos y usuarios. En esta ocasión veremos cómo utilizar los permisos en Linux para usuarios y grupos como primera medida de control de acceso a los recursos del sistema.

Permisos en Linux

Veamos cómo crear un directorio llamado midirectorio en /tmp y mostrar el usuario y el grupo dueños del mismo, lo cual podremos luego observar en la Fig. 1:

Si queremos cambiar el usuario dueño o el grupo propietario de /tmp/midirectorio, podemos utilizar el comando chown de la siguiente manera:

Otra opción para cambiar el grupo propietario es chgrp:

Ahora cambiemos el grupo propietario a fulano:

y veamos los resultados resaltados en la Fig. 1 (usuario dueño y grupo propietario -en ese orden- aparecen resaltados):

Una explicación detallada de los permisos en Linux

En la primer columna de la salida de ls -ld podemos ver los permisos asignados para el usuario dueño y el grupo propietario de /tmp/midirectorio, y para el resto de los usuarios del sistema:

La primer letra (d) indica que /tmp/midirectorio es un directorio. Si bien nosotros sabíamos esto por haberlo creado previamente, en ocasiones tendremos que identificar si el recurso indicado es un directorio, un archivo "común y silvestre" (indicado por un - en vez de la d), o un enlace simbólico (por la presencia de una l), entre otros.

A continuación, la primer terna de caracteres (rwx) indica que el usuario dueño posee permisos de lectura (r), escritura (w), y ejecución (x) sobre el directorio. La segunda terna (r-x) indica que los miembros del grupo propietario posee permisos de lectura y ejecución (pero no de escritura). Finalmente, la última terna muestra que todos los demás usuarios del sistema poseen los mismos permisos que en el caso anterior.

Veamos la forma en que los permisos rwx nos permiten restringir el acceso a los recursos del sistema:

El permiso de lectura [r] es requerido para poder listar el contenido del directorio.

El permiso de escritura [w] permite que se agreguen archivos al directorio, que se renombren otros ya existentes, que se borren dichos archivos, o que se modifiquen los atributos del directorio. De todas formas, hay que tener en cuenta que para poder realizar estas operaciones es necesario el permiso de ejecución sobre el mismo directorio.

El permiso de ejecución [x] es necesario para ingresar al directorio y acceder a archivos y a subdirectorios que se encuentren dentro del mismo.

Para dar permisos de escritura sobre /tmp/midirectorio a miembros del grupo fulano deberemos usar el comando chmod seguido de la opción g (grupo), del signo + y del permiso que deseemos asignar (en este caso w):

Si quisiéramos asignar (o quitar, en cuyo caso utilizaremos el signo -) más de un permiso a la vez podemos hacerlo fácilmente. Por ejemplo, veamos cómo quitar los permisos de lectura y ejecución para el resto de los usuarios del sistema (simbolizados por la opción o, de others en inglés):

En el caso de que queramos modificar los permisos de un directorio y de sus contenidos simultáneamente, podemos usar la opción -R (de recursiva) de chmod. Tomando el caso anterior como ejemplo:

Por último, para asignar o quitar permisos al usuario dueño, utilizamos la opción u (del inglés user), mientras que si queremos otorgar o remover un permiso en particular para todos usaremos la opción a (de all). De esta manera, el siguiente comando activa los permisos de ejecución sobre /tmp/midirectorio para todos los usuarios:

Adicionalmente, podemos indicar un determinado permiso en forma octal en vez de r, w, o x. La conversión entre ambas formas de asignar permisos en Linux puede consultarse aquí.

Espero que les sirva. ¡Nos leemos en breve!

# data[].attributes.attachment_link.title
Permisos en Linux y accesos para usuarios y grupos - El Camino del Sysadmin

# data[].attributes.attachment_link.description
En el último post ("Usuarios y grupos en Linux") aprendimos cómo administrar grupos y usuarios. En esta ocasión veremos cómo utilizar los permisos en Linux para usuarios y grupos como primera medida de control de acceso a los recursos del sistema. Permisos en Linux Veamos cómo crear un directorio llamado midirectorio en /tmp y mostrar [...]

# data[].attributes.attachment_link.readable_text
¿Qué es todo eso de usuarios y contraseñas?

Linux es un verdadero sistema operativo multiusuario, y gestiona usuarios y permisos. Existen tres tipos de usuarios:

1. el usuario root: es el administrador del sistema y se crea durante la instalación. Al usuarioroot todo le está permitido, es el que todo lo puede. Su directorio personal es/root.

2. los usuarios normales: por defecto tienen muy pocos permisos y pueden hacer muy pocas cosas, de manera que no pueden causar grandes daños al sistema. Su directorio personal es/home/<usuario>.

3. usuarios para ejecutar servidores: su función es únicamente lanzar demonios y ser propietarios de ciertos procesos y directorios, no pueden hacer login.

El sistema de permisos de Linux es muy estricto y eficaz (es un auténtico dictador), y en gran parte a él se debe la seguridad de Linux.

Todos y cada uno de los elementos de un sistema Linux (archivos, directorios y procesos) tienen un propietario.

El propietario de un elemento (archivo, directorio o proceso) tiene acceso total a él y puede ejecutarlo, ver su contenido o modificarlo, al igual que root. El resto de usuarios tendrán sólo los permisos que se les asignen, que por defecto estarán muy restringidos.

El propietario de un proceso es aquel usuario que lo ha lanzado, de manera que el proceso tiene los permisos de su propietario: ese programa no podrá hacer cosas que su propietario no pueda.

Los archivos, directorios y procesos del sistema tienen a root como propietario.

¿Qué puede hacer un usuario normal?

Es propietario de los archivos y subdirectorios de su directorio personal (/home/<usuario>), por lo que tiene acceso total a ellos.

No puede acceder (ni siquiera para ver) a los directorios personales de los demás usuarios ni al directorio personal de root.

Tiene acceso de lectura al resto de directorios (siempre que no sean directorios personales), pero no puede escribir en ellos.

Puede ejecutar aquellos programas para los que tenga permisos de ejecución, teniendo el proceso los mismos permisos que su propietario, lo que impide que pueda causar daños al sistema.

¿Qué puede hacer root?
Todo. Al contrario que un usuario normal, root puede acceder, modificar y borrar toda la información del sistema, así como ejecutar cualquier programa, por lo que sí puede causar daños al sistema. Por ello:

nunca entraremos como root en el sistema, entraremos siempre como un usuario normal, tanto en el modo texto como en el modo gráfico (de hecho, los entornos gráficos, por defecto, no permiten iniciar sesión comoroot por seguridad). Para realizar tareas administrativas, una vez iniciada sesión como usuario normal conseguiremos permisos deroot con los métodos adecuados.

jamás nos conectaremos a Internet como root.

protegeremos la cuenta de root con una buena contraseña.

Usuarios en Linux

El sistema identifica a cada usuario mediante nombre y contraseña, y controla sus accesos y qué puede hacer. Hay tres tipos de usuarios:

1. root: es Dios, él lo puede todo.

2. usuarios normales: pueden tener más o menos permisos. Pueden hacer login en el sistema y abrir un shell.

3. usuarios para ejecutar servidores: no pueden hacer login, su función es únicamente lanzar demonios y ser propietarios de algunos procesos y directorios.

La información de cada usuario se guarda en el archivo /etc/passwd y las claves en el archivo/etc/shadow.

Para poder asignar permisos conjuntamente los usuarios se integran en grupos, cuya información está en el archivo /etc/group.

Cuando creamos un nuevo usuario se le asigna /bin/bash como shell, se crea el grupo usuario, se crea su directorio personal /home/<usuario> y se copian en él los archivos de/etc/skel. Si no queremos que un usuario pueda hacer login en el sistema lo que haremos será establecer como intérprete shell para ese usuario/bin/false en vez de /bin/bash. El archivo /bin/false debe existir (y existe). De no ser así, crearemos un/bin/false que contenga lo siguiente:
Nota
Muchos servidores gestionan sus propios usuarios, que lo único que pueden hacer es utilizar ese servicio. No pueden abrir un shell en el sistema, ya que no figuran en el archivo /etc/passwd.

Como norma general, no debemos permitir a los usuarios normales acceder a los servicios con su login y password (y por supuesto ¡nunca acceder como root!), es decir, los servicios deben utilizar usuarios expresamente creados para ese servicio. Si algun atacante se hace con alguna cuenta de este tipo no podrá llegar muy lejos, ya que estas cuentas no pueden abrir un shell y tienen muy pocos permisos.

Los usuarios y los grupos se gestionan desde el shell con los comandos:

groups: grupos a los que pertenece un usuario.

groupadd: añadir grupo.

groupdel: borrar grupo.

groupmod: modificar grupo.

useradd: añadir usuario.

userdel: borrar usuario.

usermod: modificar los datos del usuario.

w: quién está conectado y procesos que está ejecutando.

who: quién está conectado y tiempo que lleva.

whoami: usuario de la sesión actual.

passwd: cambiar la contraseña.

En las X disponemos de varias herramientas para gestionar usuarios:

Kuser (paquete kuser): gestión de usuarios (necesita permisos de root).

Kdepasswd (paquete kdepasswd): frontal para passwd de KDE, permite cambiar la contraseña.

Gchangepass (paquete gchangepass): frontal para passwd de GNOME, para cambiar la contraseña.

Crackeador de contraseñas John the Ripper
Por mucha seguridad que instalemos, si usamos passwords del tipo hola o 1234 todo nuestro esfuerzo será en vano. Para comprobar la calidad de las contraseñas de nuestro ordenador disponemos de John the Ripper ( openwall.com/john/, paquete john), un crackeador de contraseñas por diccionario muy útil para localizar contraseñas débiles.

Password de root y permisos de root

Nunca necesitaremos el password de root. Durante la instalación le dijimos al instalador que inhabilitara la cuenta de root y creó un usuario normal al que se le dieron permisos para convertirse en root mediante sudo ( superuser do). Cuando necesitemos permisos de root, por ejemplo para instalar software o apagar el ordenador, usaremos el comando:

Nos pide la contraseña del usuario normal. Una vez introducida, a todos los efectos seremos root y el "$" será sustituido por "#", quedando el prompt:

# data[].attributes.attachment_link.description
Linux es un verdadero sistema operativo multiusuario, y gestiona usuarios y permisos. Existen tres tipos de usuarios: el usuario root: es el administrador del sistema y se crea durante la instalación. Al usuarioroot todo le está permitido, es el que todo lo puede. Su directorio personal es/root.

# data[].attributes.body
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwjI16Df5NvyAhUZmWoFHT0JBn0QFnoECAIQAQ&url=https%3A%2F%2Fwww.dte.us.es%2Fcursos%2Flinux-admin%2Funidades%2Funidad_3_usuario_grupos_permisos_procesos.pdf%2Fat_download%2Ffile&usg=AOvVaw3ff4A3VkLCEcimweZgnThe

# data[].attributes.body
https://santi-gf.github.io/usuarios-grupos/

# data[].attributes.body
https://computernewage.com/2016/05/22/gestionar-usuarios-y-permisos-en-linux/

# data[].attributes.attachment_link.readable_text
Muy buenas lector, el post de hoy quiero que te sirva de guía de referencia a la hora de administrar grupos usuarios y asignar los permisos de archivos y directorios en Linux. Básicamente se trata de una segunda parte del post que ya publique hace unos días explicando al detalle como funciona la arquitectura de permisos de Linux. Si el primero era más un artículo explicativo, este se trata de un post más práctico, al estilo de guía o HowTo.

Por tal de seguir un cierta estructura a lo largo de la guía adoptaré el mismo orden imprimido en la primera parte que te comento, por lo qué te hablaré primero de usuarios y grupos, para pasar a hablar después más en profundidad sobre la gestión de permisos. Sin entretenerme más, te dejo ya con el índice con los contenidos más relevantes.
Tabla de contenidos:

1. Como añadir, editar o eliminar usuarios

1. Añadir un nuevo usuario

2. Eliminar usuario

3. Cambiar la contraseña de una cuenta

4. Ver todos los usuarios del sistema

2. Como añadir, editar o eliminar grupos

1. Añadir un nuevo grupo

2. Eliminar un grupo

3. Añadir un usuario dentro de un grupo

4. Eliminar un usuario de un grupo

5. Ver todos los grupos del sistema

3. Cambiar el propietario de un fichero

1. Cambiar usuario propietario con Chown

2. Cambiar grupo propietario con Chgrp

4. Asignar permisos de lectura, escritura y ejecución

1. Usar Chmod en modo numérico u octal

2. Usar Chmod en modo texto

5. Esto continua en breve

Como Añadir, Editar o Eliminar Usuarios

Como comento arriba, en la primera parte te hablaré sobre los cuatro comandos básicos que puedes necesitar a la hora de añadir, editar o eliminar usuarios en Linux. Ten en cuenta que, para poder realizar la gran mayoría de acciones que verás a continuación, necesitarás adquirir permisos de root o superusuario, ya sea a través de , o, de forma temporal, mediante (caso de que utilices Ubuntu, por ejemplo)

Si bien el hecho de crear o borrar usuarios es algo que hoy en día se puede hacer de forma gráfica en la gran mayoría de distribuciones, creo que vale la pena aprenderlo a hacer desde la línea de comandos. Esto te dará una visión mucho más potente de lo que estás haciendo, y por otro lado, yo podré mantener una cierta coherencia a lo largo de esta guía.

Como pequeño recordatorio sobre algo que comenté en el primer post sobre la estructura de permisos, en Linux, aparte del usuario root y los usuarios locales, también hay una larga lista de cuentas que van asociadas servicios o componentes del sistema.

Basta con listar los procesos que están corriendo en tu sistema para darte cuenta de ello. Ahí puedes ver que aparte de root y de tu usuario local, hay algunos procesos que corren bajo sus propias cuentas de usuario.

Es importante tener esto ultimo en mente porqué cuando hablemos de crear y gestionar usuarios nos estamos refiriendo siempre a usuarios locales, dejando a un lado a las cuentas del sistema.

Añadir un Nuevo Usuarios

Para añadir una nueva cuenta de usuario en Linux puedes utilizar el comando , con un o delante, dado que la acción requiere de permisos de superusuario. Ah, algo importante a tener en cuenta, al crear un nuevo usuario, también se creará un nuevo grupo con el mismo nombre, dentro del cual se va a incluir este usuario.

A continuación tienes la sentencia básica. Verás que al hacer esto, el sistema te pedirá una serie de detalles sobre el usuario, tales como la contraseña de Unix o el nombre completo de usuario. Puedes omitir perfectamente el resto de datos, tales como el teléfono de trabajo, el teléfono de casa, etc.

sudo adduser usuario

Eliminar Usuario

Si para añadir una cuenta utilizamos , para eliminar un usuario el comando a utilizar es . Ya verás que, al eliminar el usuario, si este estaba dentro de un grupo donde solo estaba él, el grupo también se borrará.

Esto es lo que ocurre, por ejemplo, en una cuenta de usuario local, ya que, al momento de crearse, se crea también un grupo en el que solamente está él.

Aquí te dejo la sentencia básica. En este caso, es solo aplicar el comando y la cuenta se borrará automáticamente del sistema.

sudo userdel usuario

Cambiar la Contraseña de una Cuenta

Asimismo, también te puede interesar cambiar la password de una cuenta concreto. Para ello se utiliza el comando passwd. Aquí tienes la sentencia:

sudo passwd usuario

Ver todos los Usuarios del Sistema

En Linux, toda la información relativa a los usuarios es almacenada en un archivo de texto. Este archivo es . Mediante este archivo también podrás editar sus propiedades, aunque yo recomendaría utilizarlo únicamente a modo informativo (de ahí el hecho de no abrirlo con sudo), y utilizar los comandos apropiados en caso de querer modificar algo.

Si quieres listar todos lo usuarios a través de la consola, tan solo debes leer el contenido del fichero mediante el comando que te dejo a continuación. Verás que no utilizo el sudo delante, pues lo abriremos en modo lectura, así te aseguras de no modificar nada por error. Las contraseñas obviamente no se muestran en texto plano en este archivo, sino que van protegidas por hash aparte..

cat /etc/passwd

Como Añadir, Editar o Eliminar Grupos

Los grupos se utilizan básicamente para permitir o restringir el acceso a ficheros y directorios de forma fácil, y evitar el tener que parametrizar cada uno de los permisos, usuario por usuario. Si tenemos una serie de cuentas que deben compartir el mismo nivel de permisos, estos pueden pertenecer al mismo grupo.

Añadir un Grupo

Para añadir un grupo, basta con abrir nuevamente una ventana de terminal, y siguiendo con la misma lógica que en el caso de usuarios, teclear la siguiente sentencia:

sudo groupadd grupo

Eliminar un Grupo

Como te he explicado como crear un nuevo grupo, también vale la pena comentar como eliminar un grupo existente, si bien esto es algo que difícilmente vas a tener que utilizar, a menos que administres un sistema con una gran cantidad de usuarios y grupos creados.

Al igual que en el caso de los usuarios, te recomiendo NO borrar en ningún caso uno de los grupos creados por el sistema en la instalación inicial, a no ser que sepas muy bien lo que haces.

sudo groupdel grupo

Añadir un Usuario dentro de un Grupo

En el caso de que administres un equipo con varios usuarios, y hayas tenido que crear nuevos grupos para gestionar mejor sus permisos, es probable que necesitas saber como añadir un user dentro de un grupo. Esto puedes hacerlo mediante el siguiente comando:

sudo adduser usuario grupo

Un caso en el que esto puede serte de utilidad es si has creado un usuario nuevo y trabajas en una distribución, como Ubuntu, en el que el usuario Root está deshabilitado. En este caso, si quieres que el nuevo usuario pueda hacer uso "sudo", necesitarás añadirlo al grupo:

sudo adduser usuario sudo

Eliminar un Usuario de un Grupo

Del mismo modo, para eliminar un usuario dentro de un determinado grupo, puedes valerte de la siguiente sentencia:

sudo deluser usuario grupo

Ver Todos los Grupos del Sistema

El archivo de texto que almacena la información relativa a los grupos del sistema es /etc/group. Aquí me remito a lo mismo que he dicho en el caso del archivo /etc/passwd. Hay muchos grupos del sistema, por lo que yo te recomendaría utilizarlo únicamente a modo informativo y valerte de los comandos apropiados en caso de querer modificar algo.

Así pues, puedes listar todos los grupos que existen en tu sistema leyendo el contenido del fichero que acabo de indicar. Te recomiendo de nuevo no editar nada en este archivo. Te dejo el comando a utilizar a continuación (verás que no utilizo sudo delante, ya que lo abriremos solo en modo lectura):

gedit /etc/group

Cambiar el Propietario de un Fichero

A grandes rasgos, en Linux todos los archivos o directorios pertenecen a un usuario y un grupo. Teniendo esto en cuenta, se definen los diferentes tipos de permisos (lectura, escritura y ejecución) a nivel del usuario propietario de ese fichero, del grupo propietario y del resto del mundo.

En los comandos que verás a continuación, a la hora de indicar el archivo o directorio, en caso de que este no se encuentre dentro del directorio de trabajo actual, deberás especificarlo mediante su ruta absoluta dentro de la estructura de directorios del sistema. Si tienes dudas en esto, en este post tienes mas info sobre como navegar a través de los diferentes directorios desde la terminal.

Cambiar Usuario Propietario con Chown

El comando que sirve para cambiar el propietario de un determinado archivo o directorio a nivel de user es chown. Ten en cuenta que al cambiar el usuario propietario de un fichero, el grupo propietario no variará. Aunque el nuevo usuario pertenezca a otro grupo distinto, el grupo propietario del fichero seguirá siendo el de antes.

A continuación te dejo con la sintaxis básica de este comando. En este caso, el grupo no cambiará.

sudo chown usuario ruta-fichero

En caso de que se trate de un directorio, si quieres que la orden se aplique de forma recursiva para todos los ficheros contenido en él, el comando será el siguiente. Si utilizas este mismo comando sin el parámetro -R, el cambio que hayas especificado solo tendrá efecto sobre el directorio, pero no sobre su contenido.

sudo chown -R usuario ruta-directorio

Te pongo un par de ejemplos sobre este comandos:

Vamos a suponer que queremos cambiar el propietario del archivo hola.txt dentro de la carpeta Documentos del usuario tom. El actual propietario es el usuario tom, y queremos que el nuevo sea el usuario lisa.

sudo chown lisa /home/tom/Documentos/hola.txt

Otro ejemplo. Vamos a suponer que queremos cambiar el propietario del archivo hola.txt dentro de la carpeta Documentos del usuario tom. El actual propietario es el usuario tom, y queremos que el nuevo sea el usuario lisa.

sudo chown lisa /home/tom/Documentos/hola.txt

Cambiar Grupo Propietario con Chgrp

Para cambiar el grupo propietario de un fichero te puedes valer del comando , aunque más adelante verás que también lo puedes hacer con . De forma análoga a lo que ocurre al cambiar el propietario a nivel de usuario, en este caso el grupo propietario cambiaré, pero el usuario seguirá siendo el mismo de antes. A continuación te dejo con la sintaxis básica:

sudo chgrp grupo ruta-archivo

En caso de que se trate de un directorio, si quieres que la orden se aplique de forma recursiva para todos los ficheros contenido en él, el comando será el siguiente. Al igual que antes, si utilizas el comando sin el parámetro -R, la orden solamente tendrá efecto sobre el directorio especificado, pero NO sobre el contenido dentro de él.

sudo chgrp -R grupo ruta-directorio

Hay otra modalidad de funcionamiento del comando chown que sirve para cambiar el grupo propietario de un fichero. Ello consiste en especificar un grupo, pero no indicar el usuario. En este ultimo caso, la operación es la misma que realiza el comando chgrp. La sintaxis es la siguiente:

sudo chown :grupo ruta-archivo

Si quieres cambiar tanto el usuario como el grupo al que pertenece un determinado fichero, la sintaxis de uso es la siguiente:

sudo chown usuario:grupo ruta-archivo

Te pongo algún ejemplo sobre este comando:

Vamos a suponer que queremos cambiar el propietario del archivo hola.txt dentro de la carpeta Documentos del usuario tom. El grupo propietario es tom, y queremos que el nuevo sea el grupo lisa.

sudo chgrp lisa /home/tom/Documentos/hola.txt

Asignar Permisos de Lectura, Escritura y Ejecución de un Fichero

El comando es el que sirve para establecer permisos de archivos en Linux. Lo puedes utilizar de dos formas, según las dos formas de representar los permisos que puedes ver el post que te enlazo.

Usar Chmod en Modo Numérico u Octal

El modo octal es una de las formas más típicas de asignar permisos a ficheros en Linux. Esto es así porqué, una vez tienes interiorizadas en tu cabeza todas las combinaciones numéricas, te permite la asignación de privilegios de manera absoluta (sin tener en cuenta el esquema de permisos anterior) y con menos texto que en el formato texto (el otro modo de representación que te explicaré más adelante).

A continuación te dejo con la sintaxis básica que debes tener en la cabeza, a la hora de utilizar la asignación de permisos en modo octal:

sudo chmod XYZ ruta-archivo

En esta representación, X se refiere a los permisos del usuario propietario, Y a los del grupo propietario y Z a los del resto de usuarios. X, Y y Z pueden ser cualquier número entero del 0 al 7, teniendo en cuenta la siguiente regla:

0 - Ningún permiso

1 - Dar permiso de ejecución

2 - Dar permiso de escritura

4 - Dar permiso de lectura

Cualquier combinación de los diferentes tipos de permisos que podemos tener se obtiene sumando los números que lo representan. Así, nos salen las siguientes combinaciones:

0 - Ningún permiso

1 - Ejecución

2 - Escritura

3 - Escritura y ejecución

4 - Lectura

5 - Lectura y ejecución

6 - Lectura y escritura

7 - Lectura, escritura y ejecución

Como ves, la combinación 777 correspondería con el máximo nivel de privilegios que que pueden asignar a un fichero.

Para cambiar los privilegios de un directorio, la sentencia es exactamente la misma, teniendo en cuenta que, como tal, solamente aplicara al directorio en cuestión y no a su contenido. Si quieres que se aplique de forma recursiva para todo el contenido, deberemos utilizar el comando así:

sudo chmod XYZ -R ruta-directorio

Te pongo debajo algunos ejemplos sobre esto, pero recuerda que si quieres hacer pruebas en tu propio sistema a modo de aprendizaje, be carefull y piensa bien en los permisos que das o quitas y en que archivos. A modo de testeo, lo mejor es que practiques sobre algún archivo de prueba).

777 are great numbers in Vegas, but horrible numbers on your files and directories.
- Command Line Magic (@climagic) February 5, 2016

Para el primer caso, supón que quieres cambiar los privilegios del fichero hola.txt (un archivo de texto que he creado) dentro de la carpeta Documentos del usuario tom. Queremos dar permisos de lectura y escritura al usuario y grupo propietarios, y solo de lectura al resto del mundo.

sudo chmod 664 /home/tom/Documentos/hola.txt

Esta estructura de permisos (lectura y escritura para usuario y grupo, y solo lectura para el resto de usuarios) es la que suele ser habitual para todos los archivos de texto o imágenes dentro de la home de un usuario, por lo que muy probablemente ya tendrá por defecto esos permisos.

Sobre el ejemplo anterior, imagina que quieres restringir los permisos de lectura y escritura solo al usuario, y que tanto los usuarios dentro del grupo propietario como el resto del mundo solo tengan permiso de lectura.

sudo chmod 644 /home/tom/Documentos/hola.txt

En este otro caso, imagina que has creado un script en Bash o en Python dentro de la carpeta Documentos. Por defecto, lo habitual es que tenga la estructura de permisos 664. Si quieres poder ejecutar el script, pero solo desde tu usuario, puedes modificar los permisos de esta manera:

sudo chmod 764 /home/tom/Documentos/script.py

En Linux, el permiso de ejecución es en muchos casos necesarios, por ejemplo en el caso de servidores web que ejecute PHP, donde muchos de los archivo son scripts y necesitan tener permisos de ejecución.

Usar Chmod en Modo Texto

La sintaxis básica en modo texto es un poco complicada de expresar (que no de entender), más que nada porqué tiene varias variantes. Voy a intentar expresarlo lo mejor que pueda.

sudo chmod [u,g,o][=,+,-][r,w,x] ruta-archivo

En esta representación, el primer parámetro después del chmod expresa el nivel al que queremos asociar un determinado permiso

Seguidamente tenemos el modificador. Esto nos permite especificar un permiso de forma absoluta (=) o bien de forma relativa al permiso actual (+, -)

= : Asignar un permiso de forma absoluta,

+ : Añadir un permiso

- : Quitar un permiso

Por ultimo, seguido del modificador tenemos el modo o tipo de permiso que queremos asignar, o quitar, que básicamente son:

Para cambiar los permisos de un directorio, la sentencia es exactamente la misma, teniendo en cuenta que, como tal, solamente aplicara al directorio en cuestión y no a su contenido. Si quieres que se aplique de forma recursiva para todo el contenido, deberemos utilizar el comando así:

sudo chmod [u,g,o][=,+,-][r,w,x] -R ruta-directorio

Veamos algunos ejemplos, porqué como habrás podido intuir, las opciones son varias y variadas:

En primer lugar, te muestro la sintaxis equivalente en modo texto, del primero ejemplo que te he puesto para el modo octal, en el que hemos asignado permisos de lectura y escritura (6) para usuario y grupo y de solo lectura para el resto (4) de un script de ejemplo.

sudo chmod u=rw,g=rw,o=r script.py

Sobre este mismo ejemplo, pongamos por caso que quieres añadir los permisos de ejecución a nivel de usuario, pero mantener invariables los permisos a nivel de grupo y otros. En este caso, puedes optar por utilizar el operador "+" y ahorrarte el volver a hacer una asignación absoluta.

sudo chmod u+x script.py

Hecho esto, tu script de ejemplo tendrá permisos de lectura, escritura y ejecución a nivel de usuario, lo que equivaldría al bit 7 en octal. Si quieres realizar la operación inversa, es decir, quitar el permito de ejecución a nivel de usuario, es tan simple como hacer esto:

sudo chmod u-x script.py

Otro caso simple sería quitar los permisos de escritura para el grupo (de modo que solo dejaríamos los privilegios de escritura para el usuario propietario). Siguiendo la misma lógica de antes, utilizaríamos la siguiente sentencia:

sudo chmod g-w script.py

Así podríamos ir siguiendo con muchas otras combinaciones, pero creo que con esto ya conoces como modificar permisos tanto en modo numérico como en modo octal. A partir de ahí, decantarte por uno u otro ya dependerá de lo intuitivo y practico que te resulte cada uno.

Antes de Terminar

Esto es básicamente todo en cuanto a editar al detalle los diferentes permisos de archivos y directorios en Linux. Si has llegado hasta aquí, solo me queda agradecerte el interés y espero que te haya resultado realmente útil la guía.

Si te ha gustado el post, siéntete libre de compartirlo por tus redes sociales favoritas. Y si tienes cualquier duda, sugerencia o aportación, tienes la sección de comments debajo, donde trataré de responder a tus cuestiones lo más rápido que me sea posible. Hasta la próxima!

# data[].attributes.attachment_link.title
Como Gestionar Usuarios, Grupos y Permisos en Linux

# data[].attributes.attachment_link.description
Muy buenas lector, el post de hoy quiero que te sirva de guía de referencia a la hora de administrar grupos usuarios y asignar los permisos de archivos y directorios en Linux. Básicamente se trata de una segunda parte del post que ya publique hace unos días explicando al detalle como funciona la arquitectura de permisos de Linux.

# data[].attributes.body
Usuarios y Grupos en Linux (santi-gf.github.io)

# data[].attributes.attachment_link.readable_text
Introducción

Las propiedades y permisos en Linux son conceptos algo complejos, pero su comprensión es esencial para poder operar y mantener su sistema. Ya sea que utilice su servidor para la gestión de su sitio web o para la administración de grandes plataformas, este tutorial le ayudará a comprender la mayoría de los conceptos de los usuarios, grupos y sus permisos.

Tipos de cuenta

Por defecto, Linux distingue entre varios tipos de cuenta con el fin de aislar los procesos y cargas de trabajo. Linux trabaja con cuatro tipos de cuenta:

Una de las recomendaciones básicas de seguridad en Linux (visite nuestra Guía básica de seguridad es limitar el acceso root para proveer un ambiente seguro de trabajo. También se sugiere otorgar el mínimo de privilegios posibles a una cuenta de usuario. La importancia de las buenas prácticas en sistemas multiusuario es crucial para una operación óptima en sus servidores.

Cuenta root

root es la cuenta con mayores privilegios en un sistema Linux/UNIX. Esta cuenta tiene la capacidad de llevar a cabo cualquier función de administración, incluyendo: añadir cuentas, cambiar contraseñas de usuarios, examinar archivos log e instalar software. Esta cuenta no tiene restricciones de seguridad, y debe tenerse extremo cuidado al usarla.

Si un usuario es el administrador del sistema, y requiere permisos root se recomienda que dicho administrador tenga su propio usuario y que ejecute los comandos que requieran privilegios de superusuario usando el prefijo sudo.

Permisos

La lectura, escritura y ejecución son los tres parámetros principales de los permisos. Debido a que los usuarios se disponen en grupos cuando sus cuentas son creadas, también puede especificar si ciertos grupos pueden leer, escribir o ejecutar un archivo.

Algunas de las operaciones que requieren privilegios root incluyen: crear, remover y administrar cuentas de usuario; remover o modificar archivos del sistema; reiniciar servicios del sistema. En contraste, un usuario regular puede ejecutar operaciones como: ejecutar un cliente de red; operar archivos para los cuales tiene los permisos apropiados; instalar algunos paquetes de software; entre otros.

Cómo identificar los permisos y propietarios de los archivos y directorios del sistema

Para aprender a identificar los atributos de un archivo/directorio y determinar cuáles son los permisos y propietarios siga los siguientes pasos:

1. Diríjase a un directorio de su preferencia y ejecute el comando ls -l. Observe el siguiente ejemplo:

Al ejecutar el comando, veremos una lista de los archivos y subdirectorios que contiene el directorio actual (pwd). En este ejemplo podemos ver el script AnalisisRed.sh acompañado de varios parámetros que iremos entendiendo a lo largo del tutorial.
El tercer parámetro indica el usuario al cual pertenece el archivo:rubencs. El parámetro que le sigue indica el grupo propietario del archivo: operadoresred. Este último parámetro podría ser igual al usuario si este no está asociado a ningún grupo.

2. El siguiente parámetro que debemos ver con cuidado es la secuencia -rw-rw-r--, ¿Alguna vez se ha preguntado qué significa cada una de estas letras?, hay que mirarlo paso a paso:

Esta secuencia contiene diez (10) caracteres que indican los permisos del archivo o directorio. Para entenderlo debemos dividir la secuencia en el primer carácter y tres grupos de tres caracteres. Miremos más de cerca el archivo del ejemplo:

Tal como se observa en la imagen arriba, el primer carácter indica el tipo de archivo. El primer grupo revela los permisos del usuario propietario del archivo, el siguiente muestra los permisos del grupo propietario y el último grupo indica los permisos que regirán al resto de los usuarios.
Cada una de las letras indica el tipo de permiso, y cada grupo de tres caracteres está ordenado en la formarwx, así:

r indica read o permiso de lectura;

w indica write o permiso de escritura;

x indica execute o permiso de ejecución.

- el guion indica que el archivo o directorio carece del permiso correspondiente en dicha posición. Por ejemplo, si en el grupo de permisos del propietario aparece r--, significa que el usuario propietario solo tiene permisos para leer o visualizar el archivo.

Tipos de archivo
Tal como se mencionó, el primer parámetro indica el tipo de fichero, existen tres principales:

- indica un archivo regular;

d indica directorios o carpetas;

l o link indica que es un enlace simbólico;

Permisos de lectura
Este permiso indica que el usuario puede leer o visualizar el contenido de un archivo. Si un usuario tiene permiso de lectura de una carpeta, entonces este podrá ver el contenido de dicho directorio. Para el caso de nuestro ejemplo:

Permisos de escritura
Los permisos de escritura en un archivo simplemente indican que el usuario puede modificar el contenido del archivo y sus permisos usandochmod o chown. El usuario también podrá eliminar el archivo si tiene permisos de escritura. Cuando el permiso aplica a un directorio, el usuario puede modificar el contenido dentro de dicho directorio e incluso eliminarlo. Para nuestro ejemplo:

Permisos de ejecución
El permiso de ejecución se explica por sí solo: un usuario puede ejecutar un archivo solo si posee este tipo de permisos (los archivos ejecutables son las aplicaciones yscripts). En nuestro ejemplo, el archivo AnalisisRed.sh es un script, veamos quiénes poseen permisos para ejecutarlo:

En resumen, nuestro archivo puede ser leído por cualquier usuario, modificado por el propietario y el grupo, y no puede ser ejecutado por nadie. En la próxima sección aprenderá cómo cambiar estos permisos.

Usar referencias binarias para configurar permisos

Otra manera muy común de denominar y configurar permisos es usando referencias binarias. Para entender cómo funcionan estas referencias, recuerde que los permisos están dados por tres caracteres rwx y que existen tres grupos establecidos para otorgar permisos (propietario, grupo y resto de los usuarios).

Tenga en cuenta que un permiso en forma binaria está representado por tres números enteros: el primer número representa los permisos del propietario, el segundo representa los permisos de grupo; y el último número representa los permisos del resto de los usuarios. Los números son una representación binaria de los caracteres rwx asignando a cada letra un valor:

Para obtener el número entero que representa cada conjunto de permisos, debe sumar los permisos que desea habilitar para cada conjunto. Si algún permiso no será habilitado no sumará el entero correspondiente a dicho permiso. Por ejemplo, digamos que un archivo posee los siguientes permisos:

El usuario tiene todos los permisos habilitados ( rwx), por lo que debe sumar 4+2+1 = 7. Solo están habilitados los permisos de lectura (r) y escritura (w) en los grupos, por lo tanto, el número entero que identificará los permisos de grupos será 6 (4+2+0). Finalmente, el resto de los usuarios solo puede leer (r) el archivo, este conjunto de permisos se representará entonces con 4 (4+0+0). Así, los permisos de este archivo estarán representados con el número 764.

Cómo configurar/cambiar los permisos de archivos y directorios

Hay distintos métodos que puede utilizar para cambiar los permisos y propietarios de un archivo o directorio. La explicación y comprensión de las referencias binarias facilitará este proceso:

1. Para cambiar los permisos a través de la línea de comandos se utiliza chmod con la siguiente sintaxis:

chmod [permisos] nombre_del_archivo

Puede especificar los permisos a través de una representación binaria, o utilizando la letra inicial a quién va dirigido el permiso (usuario=u; grupo=g; otros=o; todos=a del inglés all); seguido del signo + (agregar) - (quitar); y finalmente el permiso correspondiente r/ w/ x. Ejemplos:

chmod u+x AnalisisRed.sh

Otorga el permiso de ejecución al usuario.

chmod g-r AnalisisRed.sh

Revoca el permiso de lectura al grupo.

chmod o-w AnalisisRed.sh

Revoca el permiso de escritura al resto de los usuarios.

chmod a+rw AnalisisRed.sh

Otorga el permiso de lectura y escritura a todos los usuarios.

chmod 740 AnalisisRed.sh

Otorga al usuario todos los permisos (rwx); a los grupos solo el permiso de lectura (r); y ningún permiso al resto de los usuarios. Este último método es el más sencillo y recomendable.

2. Para cambiar la asignación de propiedad del usuario o grupo de un archivo (o directorio) se utiliza:

chown usuario:grupo nombre_del_archivo

Simplemente se indica cuál usuario y cuál grupos serán propietarios de dicho archivo.

3. Si solo desea cambiar el grupo propietario puede utilizar chgrp nuevo_grupo nombre_del_archivo.

4. Siguiendo con el ejemplo anterior hagamos un par de cambios y veamos cómo afectan los atributos del archivo:

chown rubencs:administradores AnalisisRed.sh chmod 700 AnalisisRed.sh

El primer comando mantuvo a rubencs como el propietario del archivo, pero definió un nuevo grupo propietario: administradores. El segundo comando otorga todos los permisos a rubencs como propietario del archivo, y revoca todos los permisos a los grupos y otros usuarios.
Si volvemos a usar ls -l para visualizar los permisos del archivo, podremos ver los cambios:

[root@centos rubencs]# ls -l total 4 -rwx------ 1 rubencs administradores 107 Aug 1 15:56 AnalisisRed.sh

Ahora el propietario ( rubencs) será capaz de visualizar, modificar y ejecutar el script. Ningún otro usuario (excepto root) tendrá acceso al archivo.

Consejos

Al administrar un sistema Linux debe ser muy cauteloso con respecto a la asignación de permisos y propietarios de sus archivos y directorios. La recomendación general es conceder la menor cantidad de permisos posibles a un usuario. ¡Los permisos de escritura y ejecución pueden ser peligrosos si no administran con cuidado!

Recuerde ser consecuente en la asignación de permisos, de lo contrario podría ocasionar contradicciones. Por ejemplo: Digamos que otorga permisos de lectura del archivo HolaChile.txt al grupo "Administradores". Pero el directorio que contiene el archivo HolaChile.txt no posee permisos de lectura para ese grupo, o es propiedad de un grupo distinto. Si esto ocurre, el grupo "Administradores" no podrá acceder al directorio donde se encuentra el archivo -y por lo tanto- no será capaz de usarlo.

Además, es importante mantener una organización apropiada de los grupos y usuarios. Siempre que cree un usuario nuevo inclúyalo en el grupo adecuado.

Para ver una lista de los grupos en su sistema, incluyendo los usuarios que pertenecen a cada grupo, puede utilizar:

sudo cat /etc/group

Recursos adicionales

Este es un tema sumamente extenso y no es necesario ahondar en más detalles; sin embargo, este tutorial da un punto de partida sólido para comprender los conceptos básicos. Puede consultar los siguientes recursos en busca de información adicional. Aunque este material es provisto esperando que sea útil, tome en cuenta que no podemos dar fe de la actualidad o precisión de los contenidos externos.

# data[].attributes.attachment_link.keywords[]
conceptos de permisos y propiedades en linux

# data[].attributes.attachment_link.title
Conceptos básicos sobre permisos y propiedades en Linux

# data[].attributes.attachment_link.description
Las propiedades y permisos en Linux son conceptos algo complejos, pero su comprensión es esencial para poder operar y mantener su sistema. Ya sea que utilice su servidor para la gestión de su sitio web o para la administración de grandes plataformas, este tutorial le ayudará a comprender la mayoría de los conceptos de los usuarios, grupos y sus permisos.

# data[].attributes.body
https://computernewage.com/2016/05/22/gestionar-usuarios-y-permisos-en-linux/

# data[].attributes.attachment_link.readable_text
Muy buenas lector, el post de hoy quiero que te sirva de guía de referencia a la hora de administrar grupos usuarios y asignar los permisos de archivos y directorios en Linux. Básicamente se trata de una segunda parte del post que ya publique hace unos días explicando al detalle como funciona la arquitectura de permisos de Linux. Si el primero era más un artículo explicativo, este se trata de un post más práctico, al estilo de guía o HowTo.

Por tal de seguir un cierta estructura a lo largo de la guía adoptaré el mismo orden imprimido en la primera parte que te comento, por lo qué te hablaré primero de usuarios y grupos, para pasar a hablar después más en profundidad sobre la gestión de permisos. Sin entretenerme más, te dejo ya con el índice con los contenidos más relevantes.
Tabla de contenidos:

1. Como añadir, editar o eliminar usuarios

1. Añadir un nuevo usuario

2. Eliminar usuario

3. Cambiar la contraseña de una cuenta

4. Ver todos los usuarios del sistema

2. Como añadir, editar o eliminar grupos

1. Añadir un nuevo grupo

2. Eliminar un grupo

3. Añadir un usuario dentro de un grupo

4. Eliminar un usuario de un grupo

5. Ver todos los grupos del sistema

3. Cambiar el propietario de un fichero

1. Cambiar usuario propietario con Chown

2. Cambiar grupo propietario con Chgrp

4. Asignar permisos de lectura, escritura y ejecución

1. Usar Chmod en modo numérico u octal

2. Usar Chmod en modo texto

5. Esto continua en breve

Como Añadir, Editar o Eliminar Usuarios

Como comento arriba, en la primera parte te hablaré sobre los cuatro comandos básicos que puedes necesitar a la hora de añadir, editar o eliminar usuarios en Linux. Ten en cuenta que, para poder realizar la gran mayoría de acciones que verás a continuación, necesitarás adquirir permisos de root o superusuario, ya sea a través de , o, de forma temporal, mediante (caso de que utilices Ubuntu, por ejemplo)

Si bien el hecho de crear o borrar usuarios es algo que hoy en día se puede hacer de forma gráfica en la gran mayoría de distribuciones, creo que vale la pena aprenderlo a hacer desde la línea de comandos. Esto te dará una visión mucho más potente de lo que estás haciendo, y por otro lado, yo podré mantener una cierta coherencia a lo largo de esta guía.

Como pequeño recordatorio sobre algo que comenté en el primer post sobre la estructura de permisos, en Linux, aparte del usuario root y los usuarios locales, también hay una larga lista de cuentas que van asociadas servicios o componentes del sistema.

Basta con listar los procesos que están corriendo en tu sistema para darte cuenta de ello. Ahí puedes ver que aparte de root y de tu usuario local, hay algunos procesos que corren bajo sus propias cuentas de usuario.

Es importante tener esto ultimo en mente porqué cuando hablemos de crear y gestionar usuarios nos estamos refiriendo siempre a usuarios locales, dejando a un lado a las cuentas del sistema.

Añadir un Nuevo Usuarios

Para añadir una nueva cuenta de usuario en Linux puedes utilizar el comando , con un o delante, dado que la acción requiere de permisos de superusuario. Ah, algo importante a tener en cuenta, al crear un nuevo usuario, también se creará un nuevo grupo con el mismo nombre, dentro del cual se va a incluir este usuario.

A continuación tienes la sentencia básica. Verás que al hacer esto, el sistema te pedirá una serie de detalles sobre el usuario, tales como la contraseña de Unix o el nombre completo de usuario. Puedes omitir perfectamente el resto de datos, tales como el teléfono de trabajo, el teléfono de casa, etc.

sudo adduser usuario

Eliminar Usuario

Si para añadir una cuenta utilizamos , para eliminar un usuario el comando a utilizar es . Ya verás que, al eliminar el usuario, si este estaba dentro de un grupo donde solo estaba él, el grupo también se borrará.

Esto es lo que ocurre, por ejemplo, en una cuenta de usuario local, ya que, al momento de crearse, se crea también un grupo en el que solamente está él.

Aquí te dejo la sentencia básica. En este caso, es solo aplicar el comando y la cuenta se borrará automáticamente del sistema.

sudo userdel usuario

Cambiar la Contraseña de una Cuenta

Asimismo, también te puede interesar cambiar la password de una cuenta concreto. Para ello se utiliza el comando passwd. Aquí tienes la sentencia:

sudo passwd usuario

Ver todos los Usuarios del Sistema

En Linux, toda la información relativa a los usuarios es almacenada en un archivo de texto. Este archivo es . Mediante este archivo también podrás editar sus propiedades, aunque yo recomendaría utilizarlo únicamente a modo informativo (de ahí el hecho de no abrirlo con sudo), y utilizar los comandos apropiados en caso de querer modificar algo.

Si quieres listar todos lo usuarios a través de la consola, tan solo debes leer el contenido del fichero mediante el comando que te dejo a continuación. Verás que no utilizo el sudo delante, pues lo abriremos en modo lectura, así te aseguras de no modificar nada por error. Las contraseñas obviamente no se muestran en texto plano en este archivo, sino que van protegidas por hash aparte..

cat /etc/passwd

Como Añadir, Editar o Eliminar Grupos

Los grupos se utilizan básicamente para permitir o restringir el acceso a ficheros y directorios de forma fácil, y evitar el tener que parametrizar cada uno de los permisos, usuario por usuario. Si tenemos una serie de cuentas que deben compartir el mismo nivel de permisos, estos pueden pertenecer al mismo grupo.

Añadir un Grupo

Para añadir un grupo, basta con abrir nuevamente una ventana de terminal, y siguiendo con la misma lógica que en el caso de usuarios, teclear la siguiente sentencia:

sudo groupadd grupo

Eliminar un Grupo

Como te he explicado como crear un nuevo grupo, también vale la pena comentar como eliminar un grupo existente, si bien esto es algo que difícilmente vas a tener que utilizar, a menos que administres un sistema con una gran cantidad de usuarios y grupos creados.

Al igual que en el caso de los usuarios, te recomiendo NO borrar en ningún caso uno de los grupos creados por el sistema en la instalación inicial, a no ser que sepas muy bien lo que haces.

sudo groupdel grupo

Añadir un Usuario dentro de un Grupo

En el caso de que administres un equipo con varios usuarios, y hayas tenido que crear nuevos grupos para gestionar mejor sus permisos, es probable que necesitas saber como añadir un user dentro de un grupo. Esto puedes hacerlo mediante el siguiente comando:

sudo adduser usuario grupo

Un caso en el que esto puede serte de utilidad es si has creado un usuario nuevo y trabajas en una distribución, como Ubuntu, en el que el usuario Root está deshabilitado. En este caso, si quieres que el nuevo usuario pueda hacer uso "sudo", necesitarás añadirlo al grupo:

sudo adduser usuario sudo

Eliminar un Usuario de un Grupo

Del mismo modo, para eliminar un usuario dentro de un determinado grupo, puedes valerte de la siguiente sentencia:

sudo deluser usuario grupo

Ver Todos los Grupos del Sistema

El archivo de texto que almacena la información relativa a los grupos del sistema es /etc/group. Aquí me remito a lo mismo que he dicho en el caso del archivo /etc/passwd. Hay muchos grupos del sistema, por lo que yo te recomendaría utilizarlo únicamente a modo informativo y valerte de los comandos apropiados en caso de querer modificar algo.

Así pues, puedes listar todos los grupos que existen en tu sistema leyendo el contenido del fichero que acabo de indicar. Te recomiendo de nuevo no editar nada en este archivo. Te dejo el comando a utilizar a continuación (verás que no utilizo sudo delante, ya que lo abriremos solo en modo lectura):

gedit /etc/group

Cambiar el Propietario de un Fichero

A grandes rasgos, en Linux todos los archivos o directorios pertenecen a un usuario y un grupo. Teniendo esto en cuenta, se definen los diferentes tipos de permisos (lectura, escritura y ejecución) a nivel del usuario propietario de ese fichero, del grupo propietario y del resto del mundo.

En los comandos que verás a continuación, a la hora de indicar el archivo o directorio, en caso de que este no se encuentre dentro del directorio de trabajo actual, deberás especificarlo mediante su ruta absoluta dentro de la estructura de directorios del sistema. Si tienes dudas en esto, en este post tienes mas info sobre como navegar a través de los diferentes directorios desde la terminal.

Cambiar Usuario Propietario con Chown

El comando que sirve para cambiar el propietario de un determinado archivo o directorio a nivel de user es chown. Ten en cuenta que al cambiar el usuario propietario de un fichero, el grupo propietario no variará. Aunque el nuevo usuario pertenezca a otro grupo distinto, el grupo propietario del fichero seguirá siendo el de antes.

A continuación te dejo con la sintaxis básica de este comando. En este caso, el grupo no cambiará.

sudo chown usuario ruta-fichero

En caso de que se trate de un directorio, si quieres que la orden se aplique de forma recursiva para todos los ficheros contenido en él, el comando será el siguiente. Si utilizas este mismo comando sin el parámetro -R, el cambio que hayas especificado solo tendrá efecto sobre el directorio, pero no sobre su contenido.

sudo chown -R usuario ruta-directorio

Te pongo un par de ejemplos sobre este comandos:

Vamos a suponer que queremos cambiar el propietario del archivo hola.txt dentro de la carpeta Documentos del usuario tom. El actual propietario es el usuario tom, y queremos que el nuevo sea el usuario lisa.

sudo chown lisa /home/tom/Documentos/hola.txt

Otro ejemplo. Vamos a suponer que queremos cambiar el propietario del archivo hola.txt dentro de la carpeta Documentos del usuario tom. El actual propietario es el usuario tom, y queremos que el nuevo sea el usuario lisa.

sudo chown lisa /home/tom/Documentos/hola.txt

Cambiar Grupo Propietario con Chgrp

Para cambiar el grupo propietario de un fichero te puedes valer del comando , aunque más adelante verás que también lo puedes hacer con . De forma análoga a lo que ocurre al cambiar el propietario a nivel de usuario, en este caso el grupo propietario cambiaré, pero el usuario seguirá siendo el mismo de antes. A continuación te dejo con la sintaxis básica:

sudo chgrp grupo ruta-archivo

En caso de que se trate de un directorio, si quieres que la orden se aplique de forma recursiva para todos los ficheros contenido en él, el comando será el siguiente. Al igual que antes, si utilizas el comando sin el parámetro -R, la orden solamente tendrá efecto sobre el directorio especificado, pero NO sobre el contenido dentro de él.

sudo chgrp -R grupo ruta-directorio

Hay otra modalidad de funcionamiento del comando chown que sirve para cambiar el grupo propietario de un fichero. Ello consiste en especificar un grupo, pero no indicar el usuario. En este ultimo caso, la operación es la misma que realiza el comando chgrp. La sintaxis es la siguiente:

sudo chown :grupo ruta-archivo

Si quieres cambiar tanto el usuario como el grupo al que pertenece un determinado fichero, la sintaxis de uso es la siguiente:

sudo chown usuario:grupo ruta-archivo

Te pongo algún ejemplo sobre este comando:

Vamos a suponer que queremos cambiar el propietario del archivo hola.txt dentro de la carpeta Documentos del usuario tom. El grupo propietario es tom, y queremos que el nuevo sea el grupo lisa.

sudo chgrp lisa /home/tom/Documentos/hola.txt

Asignar Permisos de Lectura, Escritura y Ejecución de un Fichero

El comando es el que sirve para establecer permisos de archivos en Linux. Lo puedes utilizar de dos formas, según las dos formas de representar los permisos que puedes ver el post que te enlazo.

Usar Chmod en Modo Numérico u Octal

El modo octal es una de las formas más típicas de asignar permisos a ficheros en Linux. Esto es así porqué, una vez tienes interiorizadas en tu cabeza todas las combinaciones numéricas, te permite la asignación de privilegios de manera absoluta (sin tener en cuenta el esquema de permisos anterior) y con menos texto que en el formato texto (el otro modo de representación que te explicaré más adelante).

A continuación te dejo con la sintaxis básica que debes tener en la cabeza, a la hora de utilizar la asignación de permisos en modo octal:

sudo chmod XYZ ruta-archivo

En esta representación, X se refiere a los permisos del usuario propietario, Y a los del grupo propietario y Z a los del resto de usuarios. X, Y y Z pueden ser cualquier número entero del 0 al 7, teniendo en cuenta la siguiente regla:

0 - Ningún permiso

1 - Dar permiso de ejecución

2 - Dar permiso de escritura

4 - Dar permiso de lectura

Cualquier combinación de los diferentes tipos de permisos que podemos tener se obtiene sumando los números que lo representan. Así, nos salen las siguientes combinaciones:

0 - Ningún permiso

1 - Ejecución

2 - Escritura

3 - Escritura y ejecución

4 - Lectura

5 - Lectura y ejecución

6 - Lectura y escritura

7 - Lectura, escritura y ejecución

Como ves, la combinación 777 correspondería con el máximo nivel de privilegios que que pueden asignar a un fichero.

Para cambiar los privilegios de un directorio, la sentencia es exactamente la misma, teniendo en cuenta que, como tal, solamente aplicara al directorio en cuestión y no a su contenido. Si quieres que se aplique de forma recursiva para todo el contenido, deberemos utilizar el comando así:

sudo chmod XYZ -R ruta-directorio

Te pongo debajo algunos ejemplos sobre esto, pero recuerda que si quieres hacer pruebas en tu propio sistema a modo de aprendizaje, be carefull y piensa bien en los permisos que das o quitas y en que archivos. A modo de testeo, lo mejor es que practiques sobre algún archivo de prueba).

777 are great numbers in Vegas, but horrible numbers on your files and directories.
- Command Line Magic (@climagic) February 5, 2016

Para el primer caso, supón que quieres cambiar los privilegios del fichero hola.txt (un archivo de texto que he creado) dentro de la carpeta Documentos del usuario tom. Queremos dar permisos de lectura y escritura al usuario y grupo propietarios, y solo de lectura al resto del mundo.

sudo chmod 664 /home/tom/Documentos/hola.txt

Esta estructura de permisos (lectura y escritura para usuario y grupo, y solo lectura para el resto de usuarios) es la que suele ser habitual para todos los archivos de texto o imágenes dentro de la home de un usuario, por lo que muy probablemente ya tendrá por defecto esos permisos.

Sobre el ejemplo anterior, imagina que quieres restringir los permisos de lectura y escritura solo al usuario, y que tanto los usuarios dentro del grupo propietario como el resto del mundo solo tengan permiso de lectura.

sudo chmod 644 /home/tom/Documentos/hola.txt

En este otro caso, imagina que has creado un script en Bash o en Python dentro de la carpeta Documentos. Por defecto, lo habitual es que tenga la estructura de permisos 664. Si quieres poder ejecutar el script, pero solo desde tu usuario, puedes modificar los permisos de esta manera:

sudo chmod 764 /home/tom/Documentos/script.py

En Linux, el permiso de ejecución es en muchos casos necesarios, por ejemplo en el caso de servidores web que ejecute PHP, donde muchos de los archivo son scripts y necesitan tener permisos de ejecución.

Usar Chmod en Modo Texto

La sintaxis básica en modo texto es un poco complicada de expresar (que no de entender), más que nada porqué tiene varias variantes. Voy a intentar expresarlo lo mejor que pueda.

sudo chmod [u,g,o][=,+,-][r,w,x] ruta-archivo

En esta representación, el primer parámetro después del chmod expresa el nivel al que queremos asociar un determinado permiso

Seguidamente tenemos el modificador. Esto nos permite especificar un permiso de forma absoluta (=) o bien de forma relativa al permiso actual (+, -)

= : Asignar un permiso de forma absoluta,

+ : Añadir un permiso

- : Quitar un permiso

Por ultimo, seguido del modificador tenemos el modo o tipo de permiso que queremos asignar, o quitar, que básicamente son:

Para cambiar los permisos de un directorio, la sentencia es exactamente la misma, teniendo en cuenta que, como tal, solamente aplicara al directorio en cuestión y no a su contenido. Si quieres que se aplique de forma recursiva para todo el contenido, deberemos utilizar el comando así:

sudo chmod [u,g,o][=,+,-][r,w,x] -R ruta-directorio

Veamos algunos ejemplos, porqué como habrás podido intuir, las opciones son varias y variadas:

En primer lugar, te muestro la sintaxis equivalente en modo texto, del primero ejemplo que te he puesto para el modo octal, en el que hemos asignado permisos de lectura y escritura (6) para usuario y grupo y de solo lectura para el resto (4) de un script de ejemplo.

sudo chmod u=rw,g=rw,o=r script.py

Sobre este mismo ejemplo, pongamos por caso que quieres añadir los permisos de ejecución a nivel de usuario, pero mantener invariables los permisos a nivel de grupo y otros. En este caso, puedes optar por utilizar el operador "+" y ahorrarte el volver a hacer una asignación absoluta.

sudo chmod u+x script.py

Hecho esto, tu script de ejemplo tendrá permisos de lectura, escritura y ejecución a nivel de usuario, lo que equivaldría al bit 7 en octal. Si quieres realizar la operación inversa, es decir, quitar el permito de ejecución a nivel de usuario, es tan simple como hacer esto:

sudo chmod u-x script.py

Otro caso simple sería quitar los permisos de escritura para el grupo (de modo que solo dejaríamos los privilegios de escritura para el usuario propietario). Siguiendo la misma lógica de antes, utilizaríamos la siguiente sentencia:

sudo chmod g-w script.py

Así podríamos ir siguiendo con muchas otras combinaciones, pero creo que con esto ya conoces como modificar permisos tanto en modo numérico como en modo octal. A partir de ahí, decantarte por uno u otro ya dependerá de lo intuitivo y practico que te resulte cada uno.

Antes de Terminar

Esto es básicamente todo en cuanto a editar al detalle los diferentes permisos de archivos y directorios en Linux. Si has llegado hasta aquí, solo me queda agradecerte el interés y espero que te haya resultado realmente útil la guía.

Si te ha gustado el post, siéntete libre de compartirlo por tus redes sociales favoritas. Y si tienes cualquier duda, sugerencia o aportación, tienes la sección de comments debajo, donde trataré de responder a tus cuestiones lo más rápido que me sea posible. Hasta la próxima!

# data[].attributes.attachment_link.title
Como Gestionar Usuarios, Grupos y Permisos en Linux

# data[].attributes.attachment_link.description
Muy buenas lector, el post de hoy quiero que te sirva de guía de referencia a la hora de administrar grupos usuarios y asignar los permisos de archivos y directorios en Linux. Básicamente se trata de una segunda parte del post que ya publique hace unos días explicando al detalle como funciona la arquitectura de permisos de Linux.

# data[].attributes.body
https://docs.bluehosting.cl/tutoriales/servidores/como-administrar-sus-usuarios-y-grupos-en-linux.html

# data[].attributes.attachment_link.readable_text
Administración de usuarios

Crear un nuevo usuario

Para agregar un usuario nuevo, puede ejecutar alguno de los siguientes comandos:

adduser nuevousuario useradd nuevousuario

Tenga en cuenta que por defecto, esta acción creará un grupo del mismo nombre ( nuevousuario), es decir que el identificador de usuario UID y el identificador de grupo GID serán iguales. Además se creará el directorio principal del usuario: /home/nuevousuario (por defecto).

Si quiere incluir al usuario en un grupo justo al momento de crearlo puede utilizar:

useradd nuevousuario -g grupoprincipal

El parámetro -g añade el grupo principal del nuevo usuario. ¡Recuerde que el grupo especificado debe existir! ¿Qué ocurre entonces si nuestro usuario debe estar en más de un grupo? También tiene la opción de agregar grupos secundarios usando la opción -G seguido del grupo secundario. Si requiere más de un grupo secundario, puede agregar dos o más grupos separándolos por comas. Por ejemplo:

useradd nuevousuario -g grupoprincipal -G gruposecundario1,gruposecundario2

Otra opción útil de este comando es cuando se especifica un directorio principal distinto:

useradd -d /home/otrodirectorio

Para llevar un control más claro de cada usuario, y debido a que el nombre de usuario podría no proporcionar información suficiente, puede especificar el nombre completo del usuario usando la opción -c, por ejemplo:

useradd -c "Julia Schneider" julia

Establecer contraseñas

Una vez que cree un nuevo usuario (o en cualquier momento que considere necesario), es hora de crear una contraseña asociada a dicho usuario. Siempre se recomienda usar contraseñas con un nivel de seguridad alto:

El comando utilizado para establecer contraseñas es passwd seguido por el nombre del usuario. Por ejemplo, para establecer la contraseña del usuario julia utilice:

passwd julia

Su shell le pedirá que indique la contraseña y que luego la confirme. Por seguridad Linux no muestra su contraseña ni caracteres ocultos mientras escribe, así que debe hacerlo con cuidado. A continuación un ejemplo de la salida en su terminal al usar el comando anterior:

Changing password for user julia. New password: Retype new password: passwd: all authentication tokens updated successfully.

Existen opciones que puede utilizar junto con el comando passwd para bloquear la contraseña (-l o --lock), desbloquearla ( u o --unlock) e incluso para establecer el tiempo máximo de vida de la contraseña: --maximum=DÍAS.

Por ejemplo, si desea que la contraseña del usuario julia expire en 90 días:

passwd --maximum=90 julia

Sabrá que el procedimiento fue exitoso si ve un mensaje similar al siguiente:

Adjusting aging data for user julia. passwd: Success

Otras operaciones

Comando usermod

Con el comando usermod se pueden realizar varios cambios en la configuración de los usuarios del sistema. Algunos ejemplos a continuación.

Para cambiar el nombre de inicio de sesión de un usuario:

usermod -l nombreantiguo nombrenuevo

Para cambiar el directorio /home de un usuario utilice:

usermod -d /nuevo/directorio -m nombredeusuario

Para agregar el usuario a otros grupos suplementarios:

usermod -G grupo1,grupo2,grupo3

Use el parámetro --expiredate seguido por la fecha en formato AAAA-MM-DD para establecer la fecha de expiración de la cuenta de usuario:

usermod --expiredate 2017-01-02 nombredeusuario

Para bloquear la contraseña de un usuario:

usermod --lock nombredeusuario

Para desbloquear la contraseña de un usuario:

usermod --unlock nombredeusuario

Borrar una cuenta de usuario

Para borrar una cuenta de usuario, debe utilizar el comando userdel. Recuerde que debe ser usuario root para ejecutar la acción:

userdel nombredeusuario

El comando arriba borraría únicamente la cuenta del usuario nombredeusuario, pero no elimina los archivos asociados a este usuario.

Utilice el siguiente comando con cuidado: si desea borrar la cuenta de un usuario, y además forzar la eliminación del directorio principal y de todos sus archivos (incluso si el usuario está activo o los archivos están en uso):

userdel -rf nombredeusuario

Mostrar los grupos a los cuales pertenece un usuario

Puede usar los siguientes comandos para identificar los grupos a los cuales pertenece un usuario en particular:

groups nombredeusuario id nombredeusuario

Comando chage

El comando chage ( change age) cambia el número de días entre los cuales debe cambiar la contraseña. Cuando el usuario inicie sesión, aparecerá un mensaje indicando que debe cambiar la contraseña antes de que expire.

Si su servidor no posee la utilidad chage puede instalarla usando:

apt-get install chage

Para Debian/Ubuntu.

yum install chage

Para RHEL/Fedora/CentOS.

Para ver información con respecto a la contraseña de un usuario ejecute:

chage --list nombredeusuario

A continuación un ejemplo de salida para un usuario cuya información de contraseña no ha sido editada:

Last password change : Jul 27, 2016 Password expires : never Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7

Para establecer el número de días máximo para la expiración de la contraseña utilice la opción -M seguido del número de días. Por ejemplo: digamos que quiere que la contraseña expire cada 90 días:

chage -M 90 nombredeusuario

Esto es equivalente al comando utilizado con useradd anteriormente.

Para establecer una contraseña como vencida o expirada, utilice el siguiente comando. Este es especialmente útil cuando usted es el administrador de un sistema Linux, y desea mantener la privacidad del usuario en cuestión.

chage -d 0 username

De esta manera, la próxima vez que el usuario inicie sesión, se le pedirá que cambie su contraseña. Establecer fechas de expiración de contraseñas es una buena práctica que se recomienda aplicar a todos los usuarios del sistema.

Archivos importantes

/etc/passwd

Es la base de datos de usuarios en el sistema. Toda la información de usuarios locales se almacena en texto plano bajo este archivo. Cada línea representa un usuario y tiene siete campos separados por el signo de dos puntos (:).

Cuenta (nombre de usuario) : Contraseña : UID (ID de usuario) : GID (ID de grupo) : GECOS (campo opcional con propósitos informativos) : Directorio (directorio principal o home del usuario) : shell (ruta al shell predeterminado, campo opcional)

Para ver el contenido en este archivo puede ejecutar:

cat /etc/passwd

Se muestra una línea de ejemplo:

julia:x:504:506:Julia Schneider:/home/julia:/bin/bash

/etc/shadow

Este archivo almacena las contraseñas reales de cada usuario en formato encriptado. Además almacena cierta información relacionada con la cuenta de usuario. La explicación del contenido de este archivo se escapa del alcance de este tutorial, pero su disposición es muy similar a la del archivo passwd. Se muestra en el siguiente ejemplo una línea del archivo shadow:

julia:Z9B3Qve$f7tlKI8Shimc9ZDx.7KQGFBxFUrAX2xzMEOJVJ7YcEhePU5cR8Lo09V25aFbWe51eu3047K7kTlQJ3LG1K15y1:17043:0:90:7:::

Administración de grupos

Linux utiliza grupos para organizar los usuarios. Estos simplemente son conjuntos de cuentas de usuarios que comparten ciertos permisos. A todos los usuarios se les asigna un identificador de usuario (uid) y de grupo (gid). Administrar correctamente sus grupos es de gran importancia.

Lista de grupos disponibles

Para enumerar los grupos disponibles en su sistema, puede utilizar el archivo /etc/group. Verá una lista de los grupos disponibles en el orden en el cual fueron agregados, los primeros de la lista son los grupos básicos del sistema:

root:x:0: bin:x:1:bin,daemon daemon:x:2:bin,daemon sys:x:3:bin,adm adm:x:4:adm,daemon ...

Los grupos del sistema están identificados con los GIDs 1-499 (identificadores de grupo reservados para el sistema). El grupo más importante es root, el cual otorga administración y control total del sistema.

Crear un nuevo grupo

Para crear un grupo nuevo utilice:

groupadd nombredelgrupo

Para crear un nuevo grupo del sistema añada el parámetro -r al comando groupadd:

groupadd -r nombredelgrupo

Modificar los ajustes del grupo

El comando groupmod permite hacer algunos cambios a los grupos disponibles.

Para cambiar el nombre de un grupo utilice:

groupmod -n gruponuevo grupoantiguo

Agregar y remover usuarios a un grupo con gpasswd

Puede agregar usuarios a un grupo utilizando:

gpasswd -a nombredeusuario nombredegrupo

Para remover un usuario de un grupo al cual pertenece:

gpasswd -d nombredeusuario nombredegrupo

Borrar grupos

Para borrar un grupo simplemente ejecute:

groupdel nombredelgrupo

Permisos y propiedades de usuarios y grupos

A medida que crea usuarios y grupos, lo más probable es que desee determinar los permisos y propiedades de estos dentro del sistema de archivos. Este tema se escapa del alcance de este tutorial, pero se aborda en detalle en nuestra guía de Conceptos básicos de permisos y propiedades en Linux

Recursos adicionales

Este es un tema extenso que forma parte esencial de la administración de sistemas Linux; nuestro tutorial da un punto de partida sólido para comprender los conceptos y usos básicos. Puede consultar los siguientes recursos en busca de información adicional. Aunque este material es provisto esperando que sea útil, tenga en cuenta que no podemos certificar la actualidad o precisión de los contenidos externos.

# data[].attributes.attachment_link.title
Cómo administrar sus usuarios y grupos en Linux

# data[].attributes.attachment_link.description
Para agregar un usuario nuevo, puede ejecutar alguno de los siguientes comandos: adduser nuevousuario useradd nuevousuario Tenga en cuenta que por defecto, esta acción creará un grupo del mismo nombre ( nuevousuario), es decir que el identificador de usuario UID y el identificador de grupo GID serán iguales.

# data[].attributes.body
https://blog.carreralinux.com.ar/2016/07/permisos-en-linux/

# data[].attributes.attachment_link.readable_text
En el último post (" Usuarios y grupos en Linux ") aprendimos cómo administrar grupos y usuarios. En esta ocasión veremos cómo utilizar los permisos en Linux para usuarios y grupos como primera medida de control de acceso a los recursos del sistema.

Permisos en Linux

Veamos cómo crear un directorio llamado midirectorio en /tmp y mostrar el usuario y el grupo dueños del mismo, lo cual podremos luego observar en la Fig. 1:

Si queremos cambiar el usuario dueño o el grupo propietario de /tmp/midirectorio, podemos utilizar el comando chown de la siguiente manera:

Otra opción para cambiar el grupo propietario es chgrp:

Ahora cambiemos el grupo propietario a fulano:

y veamos los resultados resaltados en la Fig. 1 (usuario dueño y grupo propietario -en ese orden- aparecen resaltados):

Una explicación detallada de los permisos en Linux

En la primer columna de la salida de ls -ld podemos ver los permisos asignados para el usuario dueño y el grupo propietario de /tmp/midirectorio, y para el resto de los usuarios del sistema:

La primer letra (d) indica que /tmp/midirectorio es un directorio. Si bien nosotros sabíamos esto por haberlo creado previamente, en ocasiones tendremos que identificar si el recurso indicado es un directorio, un archivo "común y silvestre" (indicado por un - en vez de la d), o un enlace simbólico (por la presencia de una l), entre otros.

A continuación, la primer terna de caracteres (rwx) indica que el usuario dueño posee permisos de lectura (r), escritura (w), y ejecución (x) sobre el directorio. La segunda terna (r-x) indica que los miembros del grupo propietario posee permisos de lectura y ejecución (pero no de escritura). Finalmente, la última terna muestra que todos los demás usuarios del sistema poseen los mismos permisos que en el caso anterior.

Veamos la forma en que los permisos rwx nos permiten restringir el acceso a los recursos del sistema:

El permiso de lectura [r] es requerido para poder listar el contenido del directorio.

El permiso de escritura [w] permite que se agreguen archivos al directorio, que se renombren otros ya existentes, que se borren dichos archivos, o que se modifiquen los atributos del directorio. De todas formas, hay que tener en cuenta que para poder realizar estas operaciones es necesario el permiso de ejecución sobre el mismo directorio.

El permiso de ejecución [x] es necesario para ingresar al directorio y acceder a archivos y a subdirectorios que se encuentren dentro del mismo.

Para dar permisos de escritura sobre /tmp/midirectorio a miembros del grupo fulano deberemos usar el comando chmod seguido de la opción g (grupo), del signo + y del permiso que deseemos asignar (en este caso w):

Si quisiéramos asignar (o quitar, en cuyo caso utilizaremos el signo -) más de un permiso a la vez podemos hacerlo fácilmente. Por ejemplo, veamos cómo quitar los permisos de lectura y ejecución para el resto de los usuarios del sistema (simbolizados por la opción o, de others en inglés):

En el caso de que queramos modificar los permisos de un directorio y de sus contenidos simultáneamente, podemos usar la opción -R (de recursiva) de chmod. Tomando el caso anterior como ejemplo:

Por último, para asignar o quitar permisos al usuario dueño, utilizamos la opción u (del inglés user), mientras que si queremos otorgar o remover un permiso en particular para todos usaremos la opción a (de all). De esta manera, el siguiente comando activa los permisos de ejecución sobre /tmp/midirectorio para todos los usuarios:

Adicionalmente, podemos indicar un determinado permiso en forma octal en vez de r, w, o x. La conversión entre ambas formas de asignar permisos en Linux puede consultarse aquí.

Espero que les sirva. ¡Nos leemos en breve!

# data[].attributes.attachment_link.title
Permisos en Linux y accesos para usuarios y grupos - El Camino del Sysadmin

# data[].attributes.attachment_link.description
En el último post ("Usuarios y grupos en Linux") aprendimos cómo administrar grupos y usuarios. En esta ocasión veremos cómo utilizar los permisos en Linux para usuarios y grupos como primera medida de control de acceso a los recursos del sistema. Permisos en Linux Veamos cómo crear un directorio llamado midirectorio en /tmp y mostrar [...]

# data[].attributes.body
https://www.google.com/amp/s/computernewage.com/2016/05/22/gestionar-usuarios-y-permisos-en-linux/amp/

# data[].attributes.body
Sergio Emmanuel Villamar Del Portal

# data[].attributes.attachment_link.readable_text
¿Qué es todo eso de usuarios y contraseñas?

Linux es un verdadero sistema operativo multiusuario, y gestiona usuarios y permisos. Existen tres tipos de usuarios:

1. el usuario root: es el administrador del sistema y se crea durante la instalación. Al usuarioroot todo le está permitido, es el que todo lo puede. Su directorio personal es/root.

2. los usuarios normales: por defecto tienen muy pocos permisos y pueden hacer muy pocas cosas, de manera que no pueden causar grandes daños al sistema. Su directorio personal es/home/<usuario>.

3. usuarios para ejecutar servidores: su función es únicamente lanzar demonios y ser propietarios de ciertos procesos y directorios, no pueden hacer login.

El sistema de permisos de Linux es muy estricto y eficaz (es un auténtico dictador), y en gran parte a él se debe la seguridad de Linux.

Todos y cada uno de los elementos de un sistema Linux (archivos, directorios y procesos) tienen un propietario.

El propietario de un elemento (archivo, directorio o proceso) tiene acceso total a él y puede ejecutarlo, ver su contenido o modificarlo, al igual que root. El resto de usuarios tendrán sólo los permisos que se les asignen, que por defecto estarán muy restringidos.

El propietario de un proceso es aquel usuario que lo ha lanzado, de manera que el proceso tiene los permisos de su propietario: ese programa no podrá hacer cosas que su propietario no pueda.

Los archivos, directorios y procesos del sistema tienen a root como propietario.

¿Qué puede hacer un usuario normal?

Es propietario de los archivos y subdirectorios de su directorio personal (/home/<usuario>), por lo que tiene acceso total a ellos.

No puede acceder (ni siquiera para ver) a los directorios personales de los demás usuarios ni al directorio personal de root.

Tiene acceso de lectura al resto de directorios (siempre que no sean directorios personales), pero no puede escribir en ellos.

Puede ejecutar aquellos programas para los que tenga permisos de ejecución, teniendo el proceso los mismos permisos que su propietario, lo que impide que pueda causar daños al sistema.

¿Qué puede hacer root?
Todo. Al contrario que un usuario normal, root puede acceder, modificar y borrar toda la información del sistema, así como ejecutar cualquier programa, por lo que sí puede causar daños al sistema. Por ello:

nunca entraremos como root en el sistema, entraremos siempre como un usuario normal, tanto en el modo texto como en el modo gráfico (de hecho, los entornos gráficos, por defecto, no permiten iniciar sesión comoroot por seguridad). Para realizar tareas administrativas, una vez iniciada sesión como usuario normal conseguiremos permisos deroot con los métodos adecuados.

jamás nos conectaremos a Internet como root.

protegeremos la cuenta de root con una buena contraseña.

Usuarios en Linux

El sistema identifica a cada usuario mediante nombre y contraseña, y controla sus accesos y qué puede hacer. Hay tres tipos de usuarios:

1. root: es Dios, él lo puede todo.

2. usuarios normales: pueden tener más o menos permisos. Pueden hacer login en el sistema y abrir un shell.

3. usuarios para ejecutar servidores: no pueden hacer login, su función es únicamente lanzar demonios y ser propietarios de algunos procesos y directorios.

La información de cada usuario se guarda en el archivo /etc/passwd y las claves en el archivo/etc/shadow.

Para poder asignar permisos conjuntamente los usuarios se integran en grupos, cuya información está en el archivo /etc/group.

Cuando creamos un nuevo usuario se le asigna /bin/bash como shell, se crea el grupo usuario, se crea su directorio personal /home/<usuario> y se copian en él los archivos de/etc/skel. Si no queremos que un usuario pueda hacer login en el sistema lo que haremos será establecer como intérprete shell para ese usuario/bin/false en vez de /bin/bash. El archivo /bin/false debe existir (y existe). De no ser así, crearemos un/bin/false que contenga lo siguiente:
Nota
Muchos servidores gestionan sus propios usuarios, que lo único que pueden hacer es utilizar ese servicio. No pueden abrir un shell en el sistema, ya que no figuran en el archivo /etc/passwd.

Como norma general, no debemos permitir a los usuarios normales acceder a los servicios con su login y password (y por supuesto ¡nunca acceder como root!), es decir, los servicios deben utilizar usuarios expresamente creados para ese servicio. Si algun atacante se hace con alguna cuenta de este tipo no podrá llegar muy lejos, ya que estas cuentas no pueden abrir un shell y tienen muy pocos permisos.

Los usuarios y los grupos se gestionan desde el shell con los comandos:

groups: grupos a los que pertenece un usuario.

groupadd: añadir grupo.

groupdel: borrar grupo.

groupmod: modificar grupo.

useradd: añadir usuario.

userdel: borrar usuario.

usermod: modificar los datos del usuario.

w: quién está conectado y procesos que está ejecutando.

who: quién está conectado y tiempo que lleva.

whoami: usuario de la sesión actual.

passwd: cambiar la contraseña.

En las X disponemos de varias herramientas para gestionar usuarios:

Kuser (paquete kuser): gestión de usuarios (necesita permisos de root).

Kdepasswd (paquete kdepasswd): frontal para passwd de KDE, permite cambiar la contraseña.

Gchangepass (paquete gchangepass): frontal para passwd de GNOME, para cambiar la contraseña.

Crackeador de contraseñas John the Ripper
Por mucha seguridad que instalemos, si usamos passwords del tipo hola o 1234 todo nuestro esfuerzo será en vano. Para comprobar la calidad de las contraseñas de nuestro ordenador disponemos de John the Ripper ( openwall.com/john/, paquete john), un crackeador de contraseñas por diccionario muy útil para localizar contraseñas débiles.

Password de root y permisos de root

Nunca necesitaremos el password de root. Durante la instalación le dijimos al instalador que inhabilitara la cuenta de root y creó un usuario normal al que se le dieron permisos para convertirse en root mediante sudo ( superuser do). Cuando necesitemos permisos de root, por ejemplo para instalar software o apagar el ordenador, usaremos el comando:

Nos pide la contraseña del usuario normal. Una vez introducida, a todos los efectos seremos root y el "$" será sustituido por "#", quedando el prompt:

# data[].attributes.attachment_link.description
Linux es un verdadero sistema operativo multiusuario, y gestiona usuarios y permisos. Existen tres tipos de usuarios: el usuario root: es el administrador del sistema y se crea durante la instalación. Al usuarioroot todo le está permitido, es el que todo lo puede. Su directorio personal es/root.

# data[].attributes.body
https://santi-gf.github.io/usuarios-grupos/

# data[].attributes.attachment_link.readable_text
Usuarios

El concepto de usuario en Linux permite separar entornos de ejecución para diferentes propósitos. Dos personas pueden trabajar simultáneamente en el mismo sistema, teniendo cada uno un usuario diferente, y un directorio personal diferente.

También es muy común que muchos servicios internos del sistema tengan su propio usuario para restringir el acceso de ese servicio como mecanismo de seguridad. De este modo, si un servicio ve su seguridad comprometida por un ataque, el acceso que tenga el usuario de ese servicio servirá como contención del ataque, y no podrá acceder a ficheros pertenecientes a otro usuario (de persona o servicio).

Demonio (daemon) es el término usado en Linux para referirse al proceso de un servicio que se ejecuta en segundo plano de forma no interactiva. En general acaban por la letra d, como httpd o ftpd.

La configuración de usuarios en Linux esencialmente se maneja en los dos siguientes ficheros.

Archivo /etc/passwd

Contiene información de las cuentas de usuarios y sus características.

name:password:UID:GID:GECOS:directory:shell

Se pueden ver los campos con man passwd:

Password
El password del usuario en texto plano, o un asterisco * o una X si está encriptado.

UID
User ID. Número de identificación único de usuario. Los usuarios pueden cambiar muchos prámetros, incluso su name, pero el UID no lo deben cambiar nunca. El UID del root es 0. Las cuentas de servicios y demonios tienen los números más bajos, mientras que las de usuarios finales comienzan en el valor definido en UID_MIN en el fichero /etc/login.defs.

GID
Gruop ID. Número de identificador único de grupo. Varios usuarios pueden tener el mismo grupo, aunque al crear un usuario se crea un grupo con ese mismo nombre por defecto salvo que se indique lo contrario. Los datos del grupo aparecen en /etc/group.

GECOS
Campo de comentarios que incluye información extra sobre el usuario (nombre real, dirección...) Informalmente se le llama información finger.

directory
Home directory. Directorio de inicio del usuario. Los usuarios finales se suelen situar bajo /home.

Shell
La shell que utiliza por defecto el usuario (en muchos casos es /bin/bash). Si el usuario tiene /sbin/nologin o /usr/bin/false, significa que no tiene permiso para loguearse en el sistema, lo cual es común en daemons como medida de seguridad.

Por ejemplo:

Archivo /etc/shadow

Contiene información sobre contraseñas de los usuarios en /etc/passwd, que almacena de manera cifrada.

Password
Password encriptado. La función hash usada para encriptar el password se indica al comienzo.

Aviso
Número de días previos al Max en los que el usuario es avisado de su obligado cambio de contraseña.

Sobre el campo del password:

* se usa cuando la cuenta nunca ha tenido un password.

! significa que la cuenta ha sido deshabilitada para loguearse mediante password.

Cuando se bloquea una cuenta (lock: usermod -l user), no se borra el password del usuario, sino que se añade una exclamación ! al comienzo del hash del password para indicar que se ha bloqueado. Al desbloquear el usuario (unlock: usermod -u user) se elimina la exclamación, dejando el hash como estaba antes.

Comandos de gestión de usuarios

La Tool Suite Shadow es una colección de comandos que permiten gestionar usuarios sin necesidad de manipular los ficheros /etc/passwd y /etc/shadow directamente, lo cual no es recomendable ante la posibilidad de dejar inconsistencias en ficheros tan delicados. Algunos de los comandos:

useradd - crea un usuario.

userdel - borra un usuario.

usermod - realiza modificaciones sobre los datos de /etc/passwd. Tiene una opción para cada uno de los campos, excepto el campo GECOS. Incluye opciones para (des)bloquear un usuario (--lock y --unlock).

chfn - modifica la información finger (GECOS).

chsh - modifica la shell.

chage - change age visualiza y modifica todas las fechas de contraseña de /etc/shadow.

También existen los comandos adduser y deluser que son más user-friendly y ahorran algo de trabajo, por lo que se utilizan con más frecuencia en la práctica.

Usa el manual man o las opciones -h o --help para ver todas las opciones que ofrecen estos comandos, ya que pueden cambiar según distribuciones.

Para establecer y cambiar una contraseña:

usermod -p PASSWORD USER guarda el password indicado sin encriptar (habría que pasarle un hash del password). No conviene usar esta opción.

passwd USER es el comando que se utiliza, que permite introducir un password con seguridad.

Con el comando finger podemos obtener información del GECOS de cualquier usuario:

Grupos

Los grupos permiten conceder permisos a un conjunto de usuarios simultáneamente.

En Linux un usuario tiene los siguientes grupos:

Grupo primario: es el que consta como su GID en /etc/passwd. Sólo puede haber un grupo primario.

Grupos secundarios o suplementarios: son los gestionados en el fichero /etc/groups, donde se puede añadir un usuario a más grupos.

Además, durante la sesión de usuario se puede cambiar temporalmente el grupo al que pertenece el usuario:

Grupo real: es su grupo primario que consta en /etc/passwd. Es el grupo al que pertenece un usuario cuando inicia sesión.

Grupo efectivo: mediante el comando newgrp se puede cambiar el grupo primario al que pertenece el usuario, y la configuración es efectiva hasta que cierre la seción o vuelva a cambiar de grupo efectivo.

Archivo /etc/group

Este archivo contiene información sobre los grupos del sistema. Su estructura es similar a la de los archivos passwd y shadow, contando con los siguientes campos:

passwd
Password que permite a un usuario cambiar de grupo. Si está vacío no requiere contraseña, y una x significa que se gestiona mediante el archivo /etc/gshadow.

GID
Group ID. Identificador único (numérico) para el grupo.

De forma similar, al fichero /etc/shadow, existe el fichero /etc/gshadow, que almacena los passwords de los grupos encriptados con un hash y también trabaja con los símbolos asterisco * y exclamación !.

Comandos de gestión de grupos

La suite Shadow también incluye los comandos:

groupadd - añade un nuevo grupo

groupdel - borra un grupo

groupmod - Modifica la información de /etc/groups

gpasswd - Modifica el password del grupo, reflejado en /etc/gshadow

Modificar grupos de usuarios

Una vez tenemos un grupo creado, podemos añadírselo como primario o secundario a un usuario usando el comando usermod, con las siguientes opciones:

Por lo tanto:

Permisos sobre archivos y directorios

En Linux, cada fichero y directorio tiene permisos para:

Usuario: el sistema de ficheros guarda un usuario propietario (UID), junto a los permisos que tiene asociados.

Grupo: también se guarda un GID propietario, con permitos

Otros: también tiene permisos para usuarios que no tienen ese UID ni ese GID.

El comando ls -l lista los archivos y directorios incluyendo información sobre sus permisos, de la siguiente manera:

El primer campo indica en la primera letra si es un archivo regular (-), directorio ( d) o enlace ( l). Tras ello, aparecen los permisos, organizados de escritura, lectura y ejecución para el usuario, grupo y otros.

El permiso de ejecución x en directorios significa que se puede acceder dentro del mismo y listar sus contenidos.

Modificaciones de permisos

Los permisos de un archivo o directorio se pueden modificar con el comando:

Modo relativo. Se puede tratar uno de los campos de forma aislada sin tocar el resto de los permisos:

Ejemplos:

Modo absoluto. Se puede reemplazar la información completa de los permisos utilizando un número en base 8 (octal) de tres cifras. Los permisos coinciden con los del número en binario. Lo bueno de trabajar en octal es que cada caracter se puede trabajar de manera independiente.

Ejemplo de permiso 754:

Máscara umask

La máscara del sistema operativo define los permisos que se asignan por defecto a archivos y directorios en el momento de su creación.

El comando umask sin parámetros imprime el valor que tiene actualmente, y se puede manejar en modo simbólico y modo octal:

Si se pasa un parámetro al comando, se establece la nueva máscara.

Modo simbólico: permite establecer los permisos usando las letras u ( user), g ( group), o ( other) y a ( all). Se puede hacer en modo relativo usando los símbolos + y -, o en modo absoluto con =, y combinaciones de ambos.

Modo octal: permite establecer los permisos numéricamente, siempre en modo absoluto.

El modo octal se usa en base a los permisos máximos, que para directorios es 777 y para archivos 666 (sin ejecución). Los bits de la máscara que estén a 1 desactivarán ese permiso a los permisos máximos. Ej: umask = 023

Muchos sistemas tienen la máscara 022, que se establece con:

Cambio de propietario y de grupo

Estos dos atributos se pueden modificar con los comandos:

chown archivo nuevo_propietario: modifica el propietario (UID asociado).

chgrp archivo nuevo_grupo: modifica el grupo (GID asociado).

Con ambos se puede usar la opción -R en directorios, para que realice la operación de manera recursiva, es decir, que lo aplique a todo lo que contiene directamente o en subdirectorios, sub-subdirectorios etc.

Sudoers

En Linux se pueden ejecutar determinados comandos como si fuesen el root con sudo comando. Si el usuario intenta ejecutar algo con sudo, se comprueba si tiene permisos para ejecutar el comando, y si no los tiene, no lo ejecuta y el intento queda registrado en el sistema.

Se puede configurar los privilegios de los usuarios para ejecutar ciertos comandos con el fichero /etc/sudoers. Las modificaciones sobre este archivo no se deben realizar como si fuese un fichero normal, sino que hay que modificarlo con el comando visudo.

Este archivo está dividido en varias secciones:

Definición de alias: Existen varios tipos de alias para realizar agrupaciones. Algunos de ellos son:

Cmnd_Alias: define alias de comandos. Por ejemplo:

Cmnd_Alias CMND_RED = /sbin/ifup, /sbin/ifdown

User_Alias: agrupaciones de usuarios.

Host_Alias: alias de hosts, que pueden indicarse por su nombre, IP o IP son máscara de subred.

Reglas de acceso: En esta sección se asignan a los comandos que pueden realizar los usuarios y desde qué hosts lo puede hacer.

Tiene el formato:

Usuario: puede ser un usuario o alias de usuario. Indica a quién afecta la regla. Si comienza por %, entonces el nombre se refiere a un grupo del sistema.

Host: indica desde qué host se permiten realizar esos comandos.

Usuario_privilegiado: indica qué permisos de usuarios privilegiados se permiten al usuario. Este campo es opcional.

Comandos: indica los comandos o alias de comandos que se permiten para el usuario.

Es necesario escribir los comandos usando su ruta completa. Para consultar la ruta de un comando puedes usar which <nombre_comando>. Los comandos más comunes se suelen localizar en:

comandos esenciales del sistema ( cat, ls ...) accesibles desde una etapa muy temprana en el arranque del sistema. Son accesibles por todos los usuarios.

lo mismo, pero que requieren permisos de superusuario.

comandos no esenciales, pero de uso general instalados a nivel de sistema para todos los usuarios.

equivalente al anterior, pero que requiere permisos de superusuario.

/usr/local/bin
comandos que no forman parte de la distribución del SO.

Por ejemplo:

Si se quiere permitir acceso completo a un usuario, se puede indicar con el alias especial ALL. Por ejemplo, el usuario root se suele configurar como:

No es necesario reiniciar el sistema una vez modificado este fichero con visudo. Una vez configurado, un usuario podrá ejecutar esos comandos permitidos con sudo usando su propia contraseña.

# data[].attributes.attachment_link.description
El concepto de usuario en Linux permite separar entornos de ejecución para diferentes propósitos. Dos personas pueden trabajar simultáneamente en el mismo sistema, teniendo cada uno un usuario diferente, y un directorio personal diferente. También es muy común que muchos servicios internos del sistema tengan su propio usuario para restringir el acceso de ese servicio como mecanismo de seguridad.