Gestionar usuarios y permisos
De WikiNux
En la guía de instalación se realizó una breve introducción al sistema de usuarios y permisos. En este artículo se realiza una explicación mucho más detallada sobre el tema: Introducción, la gestión (creación, modificación y eliminación) de usuarios y grupos vía consola o terminal o bien de forma gráfica mediante KUser, la visualización de los permisos en consola y gráficamente así como su modificación igualmente por consola o mediante interfaz gráfica, además de otros aspectos de interés.
Nota: Como mínimo, se recomienda leer la Introducción, la gestión (creación, modificación y eliminación) de usuarios y grupos mediante KUser, y la visualización y modificación de los permisos de forma gráfica.
Introducción
En términos generales, un USUARIO en un Sistema Operativo GNU/LINUX, es aquel que tiene acceso para el uso de determinados recursos y servicios que se ofrecen en éste, previo Registro y Autenticación / Autentificación en él.
VENENUX al igual que otras distribuciones de GNU es un Sistema Operativo Multiusuario, esto quiere decir que el sistema puede ser usado por varios usuarios y al mismo tiempo.
Ejemplo: un usuario conectado al sistema anfitrión directamente desde el teclado , otro conectado por FTP, otro mas conectado por SSH, entre otras posibilidades.

Esta característica de los Sistema Operativos GNU (la de multiusuario), esta respaldada por la existencia del sistema de administración de usuarios y grupos que garantiza el orden, la privacidad y seguridad de los datos de cada usuario y del funcionamiento correcto del sistema.
Usuarios y Grupos
Para trabajar en un sistema GNU, como se señaló anteriormente, es imperativo disponer de una cuenta de usuario en el sistema. Ésta básicamente se compone de un nombre de usuario (al que generalmente se le conoce como “user”, por su nombre en inglés) y de una contraseña o palabra de paso (conocida como “password”).
VENENUX GNU/Linux, por razones de seguridad, pide por defecto la autenticación (autentificación) del usuario antes de servirles los recursos del sistema.

Los Grupos de usuarios, como su nombre lo indica, están conformados por un número finito de usuarios del sistema. Esto permite que la administración de los permisos sea más flexible ya que al asignar un permiso a un grupo, se le está asignando a una cantidad de usuarios en concreto.
Todo usuario tiene que pertenecer al menos a un grupo, denominado como “Grupo Primario” del Usuario. El resto de grupos al que pertenezca el usuario, son llamados “Grupos Secundarios”.

El encargado de crear, administrar, eliminar y modificar un usuario en el sistema es el SUPERUSUARIO o root.
Este usuario goza de todos los privilegios posibles en el Sistema Operativo, tiene acceso total a todos los directorios, instalar, desinstalar, y ejecutar cualquier aplicación, editar los archivos del sistema,... Con el SUPERUSUARIO o root, se tiene el control total del Sistema Operativo, VENENUX GNU/Linux en este caso.
Cuando a través del superusuario o root es creada una cuenta de usuario, por ejemplo “xatan”, el sistema le proporciona:
- Un nombre de usuario (“user”) y una contraseña o palabra de pase (“password”).
- Una ruta para almacenar sus datos y espacio para trabajar en el sistema (este espacio es comúnmente llamado “Directorio de Usuario” o “Carpeta personal”).
- Acceso a otros lugares de la jerarquía de directorios del sistema, según el caso.
- Un intérprete de comandos o shell para ejecutar aplicaciones.
- Un número de identificación de usuario UID, el cual el sistema usa internamente para gestionar los servicios y aplicaciones, puesto que no trabaja con los nombres; este número es único para cada usuario.
Pongamos un ejemplo: el usuario “xatan” ejecuta la aplicación Gtick (un versátil metrónomo para los músicos). Ésta aplicación es cargada en memoria y ejecutada (proceso). Estos procesos del sistema pertenecen a un usuario, el sistema asigna a los proceso el usuario que los ha ejecutado.
Cuando el usuario “xatan” crea un directorio, este toma como propietario al usuario “xatan” y como grupo propietario al grupo primario del usuario “xatan”. Todo los archivos del sistema pertenecen a un usuario y a un grupo.

Un usuario puede acceder con su cuenta de manera física (in situ frente al teclado) o remota (desde otro ordenador o computador en otra ciudad, país, estación satelital, etc.) conservando los permisos en ambas situaciones.
La información de los usuarios de un Sistema GNU como VENENUX, se guarda en un fichero de texto llamado “passwd” con ruta en
. Cada línea de este archivo guarda los parámetros del usuario. Este fichero solo puede ser modificado por el superusuario o root.
En el fichero de texto de ruta
, es donde se guardan las contraseñas de cada usuario; éstas son encriptadas con un sistema de codificación irreversible.
Ver el contenido del fichero
:
Este fichero solo puede ser leído, ejecutado o escrito por el SUPERUSUARIO( “root”) y su grupo.
Número UID, GID
Como se adelantó anteriormente, el sistema codifica a los usuarios con un número, ya que éste trabaja internamente con ellos, no con los nombres. Igual sucede para con los Grupos, el sistema también les asigna un número.
En cuanto a los usuarios
Los usuarios que se crean manualmente, en labores de administración, se les asignan un número UID desde 1000 en adelante, los números UID menores de 100 se reservan para usuarios especiales del sistema.
En cuanto a los Grupos
Los Grupos que se crean manualmente, en labores de administración, se les asignan un número GID desde 1000 en adelante, los números GID menores de 100 se reservan para Grupos especiales del sistema.
El ADMINISTRADOR DEL SISTEMA o SUPER USUARIO (root) está identificado con el número de usuario “cero” UID = 0.
Gestión de Usuarios y Grupos
La administración de los Usuarios y Grupos en VENENUX se puede hacer tanto en modo gráfico como en consola o terminal, y como se ha dicho anteriormente solo es llevada por el superusuario (root).
Labores regulares en la Administración de usuarios
Dentro de las labores de administración de usuarios se tiene:
- Creación de usuarios
- Modificación de usuarios
- Eliminación de usuarios
- Creación de grupos
- Modificación de grupos
- Eliminación de grupos
- Añadir usuarios a un grupo
- Quitar usuarios de un grupo
Gestión de Usuarios y Grupos en consola
| Añadir usuarios y grupos no suele entrañar riesgo, pero modificar y/o eliminar usuarios y grupos sí: solo hágalo si tiene seguridad en lo que hace, pues un error podría hacer que su sistema dejase de funcionar correctamente. |
Usuarios
Desde la terminal o consola, el comando que permite añadir usuarios al sistema es:
useradd
La sintaxis de este comando es la siguiente:
useradd opciones nombre_de_usuario
Las opciones básicas de las que generalmente se usan son:
- g= para indicar el grupo primario.
- d= para indicar la ruta del directorio del usuario.
- m= para indicar que el directorio del usuario sea creado en caso de no estarlo.
- s = para indicar el terminal (shell) con la que trabajara el usuario.
Para crear por ejemplo el usuario “xatan” con grupo primario “invix” directorio de usuario /home/xatan e intérprete de comandos a usar /bin/bash, se ejecuta el comando de la siguiente manera:
De esa manera estaria creado en el sistema el usuario “xatan” solo faltando la creacion de la contraseña (password), que se realiza como sigue:
passwd xatan
El sistema preguntará por la contraseña (password) deseado para este usuario y luego pedirá confirmarlo una vez mas.
Otras opciones para el comando “useradd” son:
- c= Especifica el archivo de comentario de campo para la nueva cuenta.
- e= Establece la fecha de expiración de una cuenta de usuario. Ésta debe ingresarse en el siguiente formato: AAAA-MM-DD.
- G= Estabelece grupos adicionales a los que pertenecerá el usuario. Estos deben separarse utilizando una coma y sin espacios. Esto es muy conveniente cuando se desea que el usuario tenga acceso a determinados recursos del sistema. Los grupos asignado deben de existir previamente.
- u= Establece el UID, es decir, la ID del usuario. Este debe ser único.
Nota: Si se quiere agregar un usuario a varios grupos a la vez en el mismo comando, la sintaxis es la siguiente (ejemplo para el usuario “manolo):
useradd -d /home/manolo -G floppy,invix,audio manolo
Para modificar usuarios en VENENUX, se utiliza el comando “usermod”. Con éste se puede cambiar la mayoría de los parámetros vistos para la creación de usuarios como: directorio de trabajo, grupo a los que pertenece, UID, shell de trabajo, entre otros.
usermod -d /home/nuevo_directorio manolo
El directorio “nuevo_directorio” tiene que existir previamente.
Para eliminar usuarios se utiliza el comando “userdel”. Con éste se eliminan los usarios deseados. Su sintaxis es la siguiente:
userdel opción usuario_a_eliminar
Por ejemplo, si se quiere eliminar el usuario “manolo” el comando a ejecutar sería:
userdel -r manolo
La opción “r” elimina el directorio de trabajo del usuario. Cuidado con eso.
Grupos
Para la creación de grupos en VENENUX GNU/Linux, el comando a ejecutar es:
groupadd
La sintaxis es como se indica a continuación (ejemplo con el usuario "manolo"):
groupadd manolo
Para modificar un grupo de usuario en VENENUX, basta ejecutar el comando
groupmod
La sintaxis es:
groupmod -g [nuevo-gid] -n [nuevo_nombre] nombre_grupo
Por ejemplo, el grupo "manolo" tiene actualmente el GID 1002. y pasara a llamarse “manolox”:
groupmod -g 1010 -n manolox manolo
Para cambiar solo el GID del grupo basta con ejecutar:
groupmod -g nuevo_gid
Para eliminar un Grupo de VENENUX, es posible ejecutando el comando
groupdel nombre_del_grupo
Por ejemplo, para eliminar el grupo “manolox” se ejecutaría el comando con la sintaxis:
groupdel manolox
Este comando falla en el caso de que hallan usuarios activos en el grupo “manolox”.
Para añadir usuarios a un grupo, el comando es:
adduser usuario grupo_existente
si se quiere añadir el usuario “manolo” al grupo “manolox”, el comando a ejecutar quedaria:
adduser manolo manolox
Para quitar un usuario de un grupo en VENENUX, se usa el comando con sintaxis:
deluser usuario grupo_existente
Por ejemplo, si se quiere quitar el usuario “manolo” del grupo “manolox”, el comando a ejecutar quedaria:
deluser manolo manolox
Gestión de Usuarios y Grupos de forma gráfica
La otra opción para administrar Usuarios y Grupos en VENENUX es de forma gráfica con la herramienta KUser.
| Añadir usuarios y grupos no suele entrañar riesgo, pero modificar y/o eliminar usuarios y grupos sí: solo hágalo si tiene seguridad en lo que hace, pues un error podría hacer que su sistema dejase de funcionar correctamente. |
Para abrir esta aplicación, vaya a Menú > Sistema > KUser - Administrador de usuarios, o bien pulse simultáneamente Alt F2 y escriba:
kuser
Le pedirá la contraseña de superusuario o root

Introdúzcala y pulse en Aceptar.
A continuación aparece la ventana de KUser:
Una interfaz muy intuitiva desde la que se pueden realizar todas las tareas de administración de usuarios y grupos mencionadas anteriormente.
La interfaz se divide en 2 pestañas: una pestaña de “Usuarios” y una pestaña de “Grupos”, junto con una línea de iconos donde se encuentran las opciones correspondientes para cada categoría como son (de izquierda a derecha):
- ADD (izquierdo): Añadir usuario (useradd). También accesible desde el menú superior de la ventana Usuario > Añadir.
- EDIT (izquierdo): Editar o modificar usuario (usermod). También accesible desde Usuario > Editar.
- DEL (izquierdo): Eliminar usuario (userdel). También accesible desde Usuario > Eliminar.
- ADD (derecho): Añadir grupo (useradd). También accesible desde Grupo > Añadir.
- EDIT (derecho): Editar o modificar grupo (usermod). También accesible desde Grupo > Editar.
- DEL (derecho): Eliminar grupo (userdel). También accesible desde Grupo > Eliminar.
- Recargar, actualizar o refrescar la lista para ver los cambios.
Para añadir un usuario, se pulsa con el ratón en la pestaña Usuarios y se pincha en el icono ADD izquierdo (o bien en el menú Usuario > Añadir). Aparecerá una ventana como la siguiente:

Se introduce el nombre del nuevo usuario, en este ejemplo “xatan”, y se pulsa en Aceptar.
A continuación se muestra la ventana de "Propiedades de usuario":
Tiene 3 pestañas (“Información de usuario”, “Gestión de contraseña” y “Grupos”) donde se puede editar todos los detalles de la cuenta del usuario “xatan” de manera intuitiva. Deje las opciones que viene por defecto y simplemente pulse en "Introducir contraseña", y en la ventana que aparece escriba la contraseña del nuevo usuario dos veces y luego pinchar en Aceptar en cada ventana.

Para modificar un usuario, pinche sobre el nombre del usuario que se desee en la pestaña Usuarios y luego pulse sobre el icono EDIT izquierdo (o simplemente haga doble clic sobre el nombre del usuario). Aparece la ventana "Propiedades de usuario" vista antes, donde puede modificar todas las propiedades del usuario.
Para eliminar un usuario, pulse con el ratón encima del nombre del usario en la pestaña Usuarios y luego pinche sobre el icono DEL izquierdo (o bien en el menú Usuario > Eliminar). Aparece una ventana como ésta:

En esta ventana, puede marcar las opciones "Eliminar carpeta personal" para borrar todos los ficheros y archivos personales del usuario, y "Eliminar buzón de correo" para borrar todos sus correos electrónicos (en el caso de usar un gestor de correo como Kmail y no webmail). Presione en Eliminar para borrar el usuario.
Para añadir un Grupo de usuarios, pinche con la flecha del ratón en la pestaña “Grupos” y luego pulse en el icono ADD derecho (o bien en la parte superior de la ventana, pulsar en Grupo > Añadir)

Introduzca un "Nombre de grupo". Para añadir usuarios al grupo, pinche en sus nombres en la lista que hay en la parte derecha de la ventana, y pulse en Añadir. Para sacar usuarios del grupo, seleccione sus nombres de la lista de la parte izquierda de la ventana y pinche en Extraer. Para terminar, pulse en Aceptar.
Para modificar un grupo, pulse con el ratón encima del nombre del grupo en la pestaña Grupos y luego pinche sobre el icono EDIT derecho (o simplemente haga doble clic sobre el nombre del grupo). La ventana resultante es similar a la mostrada para añadir grupos.
Para eliminar un grupo, pulse con el ratón encima del nombre del grupo en la pestaña Grupos y luego pinche sobre el icono DEL derecho (o bien en el menú Grupo > Eliminar). Aparece una ventana como ésta:

Pulse en "Eliminar" para llevar acabo el proceso.
Si se trata de eliminar un grupo y este aun contiene usuarios activos, el sistema no ejecuta la orden y arroja un aviso como el siguiente:

Para eliminar ese grupo, deberá primero modificarlo de forma que no tenga usuarios en él.
Permisos en el Sistema Operativo VENENUX
Todos los archivos en VENENUX GNU/Linux pertenecen a un usuario y al menos a un grupo. El trabajo de los usuarios sobre los archivos está basado en un sistema que permite definir las operaciones que se pueden realizar sobre los archivos.
El esquema de permisos es necesario como medida de seguridad para resguardar los datos y mantener la confidencialidad de éstos entre los distintos usuarios definidos en el sistema.
El propietario del archivo así como el superusuario o root del sistema, podrán definir quien puede acceder a los archivos y de que forma. El superusuario o root siempre tendrá todos los permisos sobre todos los archivos, por lo que si un usuario necesita guardar información confidencial, tendrá que utilizar un método de cifrado, para que, aunque se pueda acceder al contenido del archivo, éste no tenga sentido.
Listando Contenidos
Para Visualizar el contenido de un determinado directorio se ejecuta el comando “ls” sin argumentos. Ejemplo:
root@anfitrion:/home/xatan# ls
Genera una salida como
Audio Desktop Documentos Imagenes mortifications.ogg Videos
De esta forma se puede ver los nombres de los archivos y directorios existentes dentro del directorio sobre el que se ejecutó la orden “ls”, pero no se puede visualizar de esta forma la información acerca de los tipos de archivos que hay en el directorio y sus atributos.
Los atributos de un archivo son : Propietario, Grupo al que pertenece, Fecha de Modificación, el tamaño y sus permisos.
Si se quiere visualizar más información del archivo debe abrir un terminal de consola y escribir el comando “ls” con la opción -l. Ejemplo:
xatan@anfi:/home/xatan# ls -l
Da como salida:
total 20 drwxrwxrwx 2 xatan invix 4096 nov 11 14:59 Audio drwx------ 2 xatan invix 4096 feb 23 19:09 Desktop drwxrwxrwx 2 xatan invix 4096 nov 11 14:57 Documentos drwxrwxrwx 2 xatan invix 4096 oct 30 18:55 Imagenes -rw-r--r-- 1 root root 0 feb 25 08:18 mortifications.ogg drwxrwxrwx 2 xatan invix 4096 oct 30 18:55 Videos
Cuando un usuario crea un archivo, el USUARIO PROPIETARIO de dicho archivo será el creador y el grupo del archivo será el GRUPO PRIMARIO del creador.
Tipos de Permisos
Básicamente los permisos que los usuarios y grupos de usuarios poseen sobre los archivos y directorios en el sistema son los siguientes:
- Permiso de Lectura: Éste permite al usuario que lo posee en determinado archivo, leerlo (bien sea con una aplicación o mediante un comando). Este se representa con el carácter “r” (del inglés read).
- Permiso de Escritura: Éste permite al usuario que lo posee en determinado archivo, modificar el contenido e inclusive borrarlo, así como cambiar los permisos mediante los comandos oportunos para dicha operación. Este se representa con el carácter “w” (del inglés write).
- Permiso de Ejecución: Éste permite al usuario que lo posee en determinado archivo, ejecutarlo. Si sobre un archivo no se tiene este permiso, no se podrá ejecutar aunque se trate de una aplicación. Únicamente los archivos que son ejecutables son las aplicaciones y los archivos de comandos también llamados scripts. Si se trata de ejecutar un archivo no ejecutable este dará errores. Este se representa con el carácter “x” (del inglés eXecute).
El Sistema Operativo solo otorga permisos en los archivos a tres tipos de usuarios o grupos de usuarios.
Estos son: Usuario Propietario, Grupo Propietarios del archivo y al resto de usuarios del sistema.
El superusuario o administrador (root) puede modificar los permisos sobre cualquier archivo ya que tiene acceso total sin restricciones en el sistema.
Visualizar permisos en modo consola
En el ejemplo anterior:
xatan@anfi:/home/xatan# ls -l
La salida era:
total 20 drwxrwxrwx 2 xatan invix 4096 nov 11 14:59 Audio drwx------ 2 xatan invix 4096 feb 23 19:09 Desktop drwxrwxrwx 2 xatan invix 4096 nov 11 14:57 Documentos drwxrwxrwx 2 xatan invix 4096 oct 30 18:20 Imagenes -rw-r--r-- 1 root root 0 feb 25 08:00 mortifications.ogg drwxrwxrwx 2 xatan invix 4096 oct 30 18:55 Videos
La salida del comando se explica llevando el resultado a la siguiente tabla, exceptuando la primera fila:
La primera fila indica el número total de bloques de disco ocupados por el directorio, en este caso son “20” (total 20). Luego se muestran varias filas, una para cada entrada (fichero o directorio) que hay dentro del directorio en cuestión.
Cada una de estas filas se compone de la siguiente forma:
-La primera columna representa el tipo de archivo. Basta con fijarse en el carácter que define el tipo de archivo para saber de que se trata, estos caracteres pueden ser:
- d: Para los directorios
- -: Para los archivos normales (texto,PDF, audio, ODT, vídeos, fotos, entre otros)
- l: Para enlaces simbólicos
- p: Para archivos FIFO
- b: Para los archivos especiales en modo bloque
- c: Para los archivos especiales en modo carácter
- s: Para los socket
-Las siguientes 3 columnas representas los permisos que tendrán tanto el usuario propietario y grupos de usuarios del sistema sobre el archivo .Estos definen quien podrá leerlos, escribirlos o ejecutarlos y se agrupan de 3 en 3 correspondientes a cada usuario y grupo.
-La siguiente columna, es decir, la cuarta, es un contador que representa el número de accesos al archivo, generalmente tiene valor de 1 para los archivos y de 2 para los directorios. Este valor se incrementa a medida que se establecen mas enlaces.
-La quinta columna indica el propietario del archivo.
-La sexta columna indica el grupo propietario del archivo.
-La séptima columna indica el tamaño del archivo en bytes.
-La octava columna indica la fecha de modificación del archivo.
-La novena columna indica la hora de modificación del archivo.
-La décima columna indica el nombre del archivo.
Visualizar permisos en VENENUX en modo gráfico
Otra forma de visualizar los atributos de un archivo consiste en pulsar con el botón derecho del ratón encima del icono del archivo o directorio y luego en el menú emergente que se despliega seleccionar Propiedades.
En la ventana que aparece, pulse con la flecha del ratón en la pestaña Permisos.
Cuando se intenta realizar una operación en el sistema, bien sea ejecutar una aplicación, leer un documento, crear un directorio, el sistema realiza la siguiente rutina:
1- Comprobar los permisos sobre el archivo que intenta manejar, en función del usuario y el grupo con el que se ejecuta el comando (recordar que el sistema le asigna un identificador de usuario y de grupo UID y GID” al usuario que lo ejecuta).
2- Comparar los permisos obtenidos en el punto 1 con la operación que intenta hacer, si no esáa permitido cancela la operación y arroja un mensaje de error que indica la falta de permisos para ejecutarla.
Administrar Permisos en VENENUX
| Solo modifique los permisos si tiene seguridad en lo que hace, pues un error podría hacer que su sistema dejase de funcionar correctamente. |
Administrar Permisos vía consola
Inicialmente, y si no se es superusuario o “root”, hay que tener permisos de escritura sobre el archivo en cuestión.
Bien, el comando que permite modificar los permisos sobre los archivos es el comando
chmod
La sintaxis usada para su operación es la siguiente:
chmod opciones parámetros archivos
El cambio puede ser de forma absoluta o relativa.
Forma Absoluta
La forma de cambio absolutaconsiste en un número octal de 3 dígitos, cada dígito representa los permisos para cada uno de los conjuntos de permisos, estos se organizan como usuario propietario, grupo y resto de usuarios del sistema.
Valores de los permisos: permiso de lectura tiene un valor de 4, permiso de escritura tiene un valor de 2, permiso de ejecución tiene un valor de 1.
La suma de estos 3 valores indican que usuarios tiene todos los permisos sobre determinado archivo, es decir 7.
La siguiente relación muestra los permisos resultantes de las sumas de los valores en los permisos:
0 – Indica la carencia de permisos
1 – Indica que únicamente se tiene permiso de ejecución
2 - Indica que se tiene permiso de escritura
3 – Indica que se tiene permiso de escritura y permiso de ejecución (es decir, 2+1)
4 – Indica que se tiene permiso de lectura
5 – Indica que se tiene permiso de lectura y ejecución (es decir , 4+1)
6 – Indica que se tiene permiso de lectura y escritura (es decir, 4+2)
7- Indica que se tienen todos los permisos (es decir, 4+2+1)
Unos ejemplos:
Se tienen los siguientes archivos:
drwxrwxrwx 2 xatan invix 4096 oct 30 18:55 Imagenes -rw-r--r-- 1 root root 0 feb 25 08:18 mortifications.ogg
Vistos los permisos que poseen ambos archivos, se quiere dar permisos de escritura al grupo propietario y al resto de usuarios sobre el archivo “mortifications.ogg”, lo primero que se tiene que hacer en este caso es cambiar al usuario “root” puesto que este archivo le pertenece y sobre el cual el usuario "xatan" no tiene permisos aparentes sobre el archivo. Para adquirir privilegios de superusuario o administrador (root) ejecute en el terminal:
su
Introduzca la contraseña correspondiente, por lo que la petición de entrada cambia de $ a #
El comando a ejecutar seria el siguiente:
chmod 666 mortifications.ogg
Se comprueba con:
ls -l mortifications.ogg
Cuyo resultado será:
-rw-rw-rw- 1 root root 0 feb 25 08:18 mortifications.ogg
Si se quiere quitar permisos de lectura en el propietario y en los otros usuarios del sistema, el comando a ejecutar seria:
chmod 464 mortifications.ogg
Se comprueba con:
ls -l mortifications.ogg
Cuyo resultado será:
-r--rw-r-- 1 root root 0 feb 25 08:18 mortifications.ogg
Si se quiere quitar permisos de escritura en el grupo propietarios y dar escritura al propietario y otros usuarios del sistema, el comando ejecutar es:
chmod 646 mortifications.ogg
Se comprueba con:
ls -l mortifications.ogg
Cuyo resultado será:
-rw-r--rw- 1 root root 0 feb 25 08:19 mortifications.ogg
Si se quiere quitar los permisos de escritura al propietario y otros usuarios del sistema en el directorio “Imagenes”, cuya salida ls -l es:
drwxrwxrwx 2 xatan invix 4096 oct 30 18:55 Imagenes
Para este caso no hace falta privilegios de superusuario o "root" para cambiar los permisos de este directorio, salvo que dentro de é exista un archivo sobre el que no tiene permisos de escritura.
El comando a ejecutarse es:
xatan@anfi:~$ chmod 575 Imagenes
Se comprueba con:
ls -l Imagenes
Cuyo resultado será:
dr-xrwxr-x 2 xatan invix 4096 oct 30 18:59 Imagenes
Si se quiere cambiar los permisos tanto al directorio “Imagenes” como a su contenido al mismo tiempo se ejecuta el mismo comando anterior pero con la opción -R (recursivamente) luego de “chmod”:
chmod -R 575 imagenes
De esta manera se estarían cambiando los permisos tanto del directorio como del contenido de este.
Forma relativa
Esta forma resulta muy cómoda e intuitiva, ya que consiste en indicar los cambios a realizar en una lista separada por comas. Los cambios indican que permisos se quieren quitar o añadir y a que conjunto de usuarios afectara.
La estructura que se usa para representar los cambios es la siguiente:
Conjunto|Operaciones|Permisos
Donde:
- Conjunto: Define el conjunto de usuarios al que afecta el cambio de permisos, estos pueden ser:
- u: Afectara al Usuario Propietario del archivo
- g: Afectara a algún Usuario del Grupo Propietario
- o: Afectara al resto de los Usuarios del Sistema
- a: Afectara a todos los usuarios
- Operación: Este carácter especifica el tipo de operación que se quiere realizar (+,-,=) éstas son:
- =: Establece los Permisos que se le indiquen;
- +: Otorga Los Permisos que se le indiquen;
- -: Suprime o quita lo permisos indicados.
- Permisos: Esto indican los permisos que se quieren añadir o quitar. Éstos son:
- r: Denota el Permiso de Lectura;
- w: Denota el Permiso de Escritura;
- x: Denota Permisos de ejecución.
Tomando como referencia los elementos siguientes del ejemplo anterior
drwxrwxrwx 2 xatan eduardo 4096 oct 30 18:55 Audio drwxrwxrwx 2 xatan eduardo 4096 oct 30 18:55 Documentos drwxrwxrwx 2 xatan eduardo 4096 oct 30 18:55 Imagenes -rw-r--r-- 1 xatan eduardo 0 feb 25 16:28 mortifications.ogg drwxrwxrwx 2 xatan eduardo 4096 oct 30 18:55 Videos
Se pretende dar permiso de escritura para el conjunto de otros usuarios del sistema sobre el archivo “motifications.ogg”. El comando a ejecutar sería:
chmod o+w mortifications.ogg
Se corrobora el cambio con:
ls -l
Cuya salida será:
total 16 drwxrwxrwx 2 xatan eduardo 4096 oct 30 18:55 Audio drwxrwxrwx 2 xatan eduardo 4096 oct 30 18:55 Documentos drwxrwxrwx 2 xatan eduardo 4096 oct 30 18:55 Imagenes -rw-r--rw- 1 xatan eduardo 0 feb 25 16:28 mortifications.ogg drwxrwxrwx 2 xatan eduardo 4096 oct 30 18:55 Videos
Si se quiere quitar los permisos de lectura sobre el propietario y el conjunto de otros usuarios del sistema. El comando a ejecutar seria:
chmod u-r,o-r mortifications.ogg
Se corroboran los cambios:
ls -l
Cuya salida será:
total 16 drwxrwxrwx 2 xatan eduardo 4096 oct 30 18:55 Audio drwxrwxrwx 2 xatan eduardo 4096 oct 30 18:55 Documentos drwxrwxrwx 2 xatan eduardo 4096 oct 30 18:55 Imagenes --w-r---w- 1 xatan eduardo 0 feb 25 16:28 mortifications.ogg drwxrwxrwx 2 xatan eduardo 4096 oct 30 18:55 Videos
Con el operador “=” se puede establecer permisos exactos que un archivo debe tener. Así para dejar solo permisos de lectura para el conjunto otros usuarios del sistema:
chmod o=r mortifications.ogg
Se corroboran los cambios:
xatan@anfi:~$ ls -l
Que dará como salida:
total 16 drwxrwxrwx 2 xatan eduardo 4096 oct 30 18:55 Audio drwxrwxrwx 2 xatan eduardo 4096 oct 30 18:55 Documentos drwxrwxrwx 2 xatan eduardo 4096 oct 30 18:55 Imagenes --w-r--r-- 1 xatan eduardo 0 feb 25 16:28 mortifications.ogg drwxrwxrwx 2 xatan eduardo 4096 oct 30 18:55 Videos
Este anula los demás permisos de ese conjunto y estable el especificado.
Para los directorios es como en el caso de la forma absoluta, para afectar a el contenido de estos se usa la opción -R, esto hace que el comando se comporte de forma recursiva, de manera que modifique los permisos a todos los archivos y subdirectorios incluidos en el directorio especificado.
Administrar Permisos de forma gráfica
En la ventana del explorador (llamado Konqueror), pulse con el botón derecho del ratón encima del icono del archivo o directorio y luego en el menú emergente que se despliega seleccionar Propiedades.
En la ventana que aparece, pulse con la flecha del ratón en la pestaña Permisos.
El aspecto de la ventana Permisos es similar a éste:
Escoja que tipo de permiso de acceso quiere para los usuarios del mismo grupo que el "propietario" del archivo o carpeta, y para el resto de los usuarios del sistema:
- Prohibido: No se puede acceder al contenido del archivo o carpeta.
- Se puede visualizar el contenido: Se puede acceder, pero en modo "solo lectura", sin poder modificar nada de su contenido.
- Se puede visualizar y modificar el contenido: Se puede acceder y modificar libremente el contenido del archivo o carpeta.
En el caso de directorios o carpetas, seguramente quiera marcar la opción "Aplicar cambios a todas las carpetas y a sus contenidos".
Tiene un ejemplo de cómo se modifica permisos de lectura y escritura en la sección Discos y particiones.
Permisos Especiales
Además de los permisos básicos del sistema, existen otros 3 de gran importancia y considerados como permisos especiales, esos son:
- Sticky Bit
- Set UID Bit (SUID)
- Set GID Bit (SGID)
Sticky Bit
Este solo cobra sentido en los directorios, este permiso consiste en limitar quien puede borrar un archivo de un directorio, obligando a que solo el propietario de dicho archivo sea quien pueda borrarlo, aunque todos los demás usuarios tengan permiso de escritura sobre dicho archivo. Si se intenta activar este permiso en un archivo, el sistema lo ignorará.
El permiso SUID, se denota con la letra “t”.
Ejemplo de una directorio en el sistema que tiene activo este permiso es / tmp
ls -ld /tmp
Dará como salida:
drwxrwxrwt 11 root root 4096 feb 27 15:21 tmp
Se puede apreciar en la salida del comando el ultimo bit del bloque de los permisos del archivo “drwxrwxrwt” es una “t” en vez de un “-” o una “x”.
El directorio / tmp es un directorio que el sistema usa para almacenar datos temporalmente, todos los usuarios del sistema pueden escribir sobre él. Esto además de ventaja podría representar un inconveniente, puesto que un usuario podría crear un archivo que otro usuario puede borrar; entonces con este permiso activo solo podrá borrar el archivo el propietario del mismo.
Set UID Bit y Set GID Bit
Estos se aplican únicamente sobre los archivos ejecutables, cuando están activados sobre determinado archivo, permiten la ejecución del mismo con la identidad del propietario del archivo o del grupo propietario. La manera en que el sistema representa este permiso en el bloque de permisos del archivo es con el carácter “s”. En resumen el primero cambia la identidad del usuario con el que se ejecuta, y el segundo cambia la identidad del grupo con el que se ejecuta el proceso.
En el sistema este tipo de permiso se puede encontrar en el ejecutable “passwd”:
ls -l /usr/bin/ | grep passwd
Cuya salida será:
-rwsr-xr-x 1 root root 41528 nov 22 2008 gpasswd -rwxr-xr-x 1 root root 37264 dic 3 2008 kdepasswd -rwsr-xr-x 1 root lpadmin 9920 may 25 2009 lppasswd -rwxr-xr-x 1 root root 10136 dic 16 2008 mkpasswd -rwsr-xr-x 1 root root 31640 nov 22 2008 passwd -rwxr-xr-x 1 root root 2330472 jun 25 2009 smbpasswd
Como se puede apreciar en el listado anterior, en VENENUX el ejecutable “passwd” solo tiene activo el permiso “SUID Bit”.
Cuando determinado usuario del sistema, ejecuta el comando “passwd”, este permiso le permite cambiar su UID de ejecución por el del propietario del fichero en este caso root, es como si el usuario root hubiese ejecutado el comando, pudiendo así escribir sobre el archivo de contraseñas del sistema de manera controlada, mediante el ejecutable “passwd”, que previamente verifica que el usuario pueda cambiar la contraseña. Esto permite a cualquier usuario cambiar su propia contraseña sin recurrir a la asistencia del personal administrativo que en ocasiones no están disponibles.
Añadiendo Permisos Especiales
Para activar el SUID Bit, se puede ejecutar en forma relativa el comando chmod u+s archivo o sumar en forma absoluta 4000 al número en octal.
También lo mismo para el grupo, es el denominado SGID Bit sumando de forma absoluta 2000 al número en octal y en forma relativa chmod g+s archivo. Activar los SUID Bit y SGID Bit puede ocasionar problemas de seguridad sobre todo cuando el propietario es root.
Si se aplica el SGID bit a un directorio, todos los subdirectorios y archivos creados dentro de dicho directorio tendrán como grupo propietario el grupo propietario del directorio en lugar del grupo primario del usuario que ha creado el archivo. Es una ventaja cuando varias personas pertenecientes a un mismo grupo, trabajan juntas con archivos almacenados en una misma carpeta. Si se otorgan permisos de lectura y escritura al grupo, los archivos podrán ser modificados por los miembros del grupo y cuando alguno de ellos cree un archivo, éste pertenecerá al grupo.
En resumen los valores para los permisos en forma absoluta:
Valor 1 para el sticky bit
Valor 2 para el set gid bit
Valor 4 para el set uid bit
Estableciendo Permisos por Defecto
| Solo modifique los permisos si tiene seguridad en lo que hace, pues un error podría hacer que su sistema dejase de funcionar correctamente. |
El comando que permite definir con qué permisos por defecto se creara un archivo es:
umask
La Sintaxis es:
umask [-S] mascara
Donde:
- -S: Hace que la salida del comando sea de forma simbólica, indicando los permisos que tendrán por defecto los archivos que se crean.
- Mascara: Para activar la máscara que se aplica a los permisos de los nuevos archivos.
Sin opciones arroja como salida la máscara actual en formato octal, representando los permisos que se quitarán para el conjunto de permisos de usuario, grupo y resto.
En VENENUX la mascara por defecto:
umask
Da como salida (en octal): 0022
Si ejecuta
umask -S
u=rwx,g=rx,o=rx
Para establecer los permisos por defecto el comando a ejecutar es:
umask -S 0044
u=rwx,g=wx,o=wx
El sistema muestra como queda el cambio.
Para este caso todo archivo que se cree en el sistema, tendrá los permisos completos para el usuario, escritura y ejecución para el grupo e igual para el resto de usuarios del sistema.
Se puede incluir la definición de esta mascara en el archivo de inicialización para que siempre se tenga definida.
Privacidad de Usuario
En muchos Sistemas Operativos GNU/LINUX y en el caso concreto de VENENUX, al crear un nuevo usuario éste se crea con un grupo primario que lleva el nombre del mismo usuario, es decir si el usuario se llama “angel”, el grupo primario que el sistema creará para él sera “angel”. Esto garantiza mayor privacidad para lo datos de los usuarios.
Cambiar Usuario y Grupos de Usuarios
| Solo modifique los propietarios de los archivos y ficheros si tiene seguridad en lo que hace, pues un error podría hacer que su sistema dejase de funcionar correctamente. |
En VENENUX, este tipo de operación por seguridad requiere obtener privilegios en el sistema de superusuario o “root”. Para cambiar el usuario propietario de determinado archivo, se hace uso del comando “chown” con sintaxis chown -R archivo (la -R es opcional, es aplicable para los directorios cuando se pretende que los cambios afecten el contenido de estos).
Ejemplo: Dada la siguiente lista, como salida de ls -l
total 16 drwxrwxrwx 2 manolo manolo 4096 nov 11 14:59 Audio drwxrwxrwx 2 manolo manolo 4096 nov 11 14:57 Documentos drwxrwxrwx 2 manolo manolo 4096 oct 30 18:55 Imagenes drwxrwxrwx 2 manolo manolo 4096 oct 30 18:55 Videos
Se desea cambiar el usuario propietario de el directorio Audio por otro usuario existente llamado “xatan”:
La sintaxis del comando queda de la siguiente forma:
chown xatan Audio/
Se comprueba con:
ls -l
Cuya salida será:
total 16 drwxrwxrwx 2 xatan manolo 4096 nov 11 14:59 Audio drwxrwxrwx 2 manolo manolo 4096 nov 11 14:57 Documentos drwxrwxrwx 2 manolo manolo 4096 oct 30 18:55 Imagenes drwxrwxrwx 2 manolo manolo 4096 oct 30 18:55 Videos
Para cambiar el grupo primario de un archivo se hace uso del comando “chgrp” con sintaxis chgrp -R archivo.
Ejemplo: En el ejemplo anterior, se desea cambiar el grupo primario del directorio “Imagenes” por el grupo existente “invix”.
chgrp invix Imagenes/
Se comprueba con:
ls -l
Cuya salida será:
total 16 drwxrwxrwx 2 xatan manolo 4096 nov 11 14:59 Audio drwxrwxrwx 2 manolo manolo 4096 nov 11 14:57 Documentos drwxrwxrwx 2 manolo invix 4096 oct 30 18:55 Imagenes drwxrwxrwx 2 manolo manolo 4096 oct 30 18:55 Videos
Si se quiere que en ambos casos se cambien tambien los atributos de los archivos contenidos en el directorio, el comando a ejecutar seria de la siguiente forma:
chown -R xatan Audio/
chgrp -R invix Imagenes/
Si se quiere cambiar tanto el usuario propietario y grupo propietario de una vez, basta con ejecutar el comando “chown” con la siguiente sintaxis:
chown manolo:manolo Audio/
Para comprobar los cambios:
ls -l
La salida será:
total 16 drwxrwxrwx 2 manolo manolo 4096 nov 11 14:59 Audio drwxrwxrwx 2 manolo manolo 4096 nov 11 14:57 Documentos drwxrwxrwx 2 manolo invix 4096 oct 30 18:55 Imagenes drwxrwxrwx 2 manolo manolo 4096 oct 30 18:55 Videos
Listas de Acceso
Existe otro método de manejo de permisos sobre los archivos, este es conocido como “Listas de Acceso”. Con ellas se puede indicar explícitamente los permisos que tiene cada usuario sobre un archivo. Estas no forman parte del estándar de GNU y puede que no estén disponibles en la mayoría de las distribuciones.
Por lo general el sistema estándar de permisos es suficiente para controlar el acceso a los archivos, en caso de necesitar una estructura de permisos mas flexible, se pueden usar los comandos “getfacl” y “setfacl”. Ellos permiten indicar permisos para usuarios de forma independiente.
En VENENUX GNU/Linux para trabajar con listas de acceso, se necesita el paquete "Utilidades de listas de Acceso acl”. Este paquete contiene las utilidades getfacl y setfacl necesarias para manipular listas de control de acceso a los archivos.





