◮ Cómo asignar permisos con CHMOD en GNU/Linux
  • Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Mi Blog

Espera, espera... ¿no has visitado todavía mi portfolio?

Entra y descubre algunos de
mis trabajos...
Fotografías
Edición de Vídeos
Diseño web
y + cosas...

 

 

 

x

◮ Cómo asignar permisos con CHMOD en GNU/Linux

◮ Cómo asignar permisos con CHMOD en GNU/Linux

Si alguna vez te has preguntado como poder bloquear el acceso a un directorio en GNU/Linux a usuarios que no deben tener acceso ó si has tenido la curiosidad de saber como se usan los permisos en modo octal, este es tu tutorial para descubrir como funciona y su sencillo uso con diversos ejemplos. Un buen administrador de sistemas tendrá estos conceptos muy claros desde el primer día, es algo muy sencillo y obligatorio ;) Como es habitual, todo lo explicaré en modo consola, y no usaré para nada el entorno X-Window. ¿Quién necesita un entorno X en un servidor? :P

Cualquier duda, problema ó sugerencia, podéis dejar un comentario abajo del tutorial. ¡Allá vamos!

1.- ELEMENTOS UTILIZADOS EN ESTE TUTORIAL

  • GNU/Linux Debian 8 64bits

2.- INTRODUCCIÓN

Los ficheros y directorios tienen una serie de permisos que pueden ser aplicados al propietario del grupo, a los usuarios del grupo al que pertenece el fichero y a otros usuarios. Podemos especificar permisos diferentes para cada uno de ellos para conseguir una versatilidad. Como se puede ver en la imagen, los atributos de los permisos de los ficheros y directorios, que podemos ver con "ls -l", se dividen en 4 "zonas".

La primera indica si es un fichero o directorio, la segunda (rojo) los permisos del propietario del archivo, la tercera (verde) los permisos del grupo del propietario y la última (azul) los permisos para el resto de usuarios.

CHMODAtributos de permisos

3.- PERMISOS BÁSICOS DE DIRECTORIOS Y FICHEROS Y COMO CAMBIARLOS

Existen 3 permisos básicos que se pueden aplicar sobre los ficheros y directorios:

Permiso de Lectura (r): Permite que el usuario pueda ver el contenido del fichero, por ejemplo un fichero de texto ó una imagen. En los directorios significa que podemos acceder a ellos..

Permiso de Escritura (w): Permite que el usuario puede sobre escribir, editar ó modificar el contenido del fichero. En los directorios significa que se pueden crear o copiar ficheros dentro de él.

Permiso de Ejecución (x): Permite que el usuario ejecute el fichero si por ejemplo es un script de bash. En los directorios significa que podemos entrar en el directorio.

A continuación mostraré una serie de ejemplos con chmod de como cambiar los permisos de ficheros usando el método de GUO (Group, User, Owner):

SÍMBOLO USUARIO
u Usuario propietario del archivo
o Usuarios pertenecientes al mismo grupo que el propietario del archivo
g Usuarios ajenos al dueño y grupo del archivo
a Todos los tipos de usuarios mencionados anteriormente

Si omitimos el campo "símbolo" se aplicará por defecto "a".

OPERADOR ACCIÓN
+ Añadir un permiso
- Remover un permiso
= Establecer un permiso único

EJEMPLOS SOBRE UN FICHERO

A continuación una serie de ejemplos con chmod, partimos de un fichero inicial con los siguientes permisos (0644) :

# ls -l fichero_pruebas.txt
# -rw-r--r-- 1 root root 0 jun 22 20:22 fichero_pruebas.txt

Quitamos todos los permisos sobre el fichero:

# chmod = fichero_pruebas.txt
---------- 1 root root 0 jun 22 20:22 fichero_pruebas.txt

Permitimos la lectura solamente por el propietario del fichero:

# chmod u+r fichero_pruebas.txt
-r-------- 1 root root 0 jun 22 20:22 fichero_pruebas.txt

Permitimos lectura para todos los usuarios:

# chmod a+r fichero_pruebas.txt
-r--r--r-- 1 root root 0 jun 22 20:22 fichero_pruebas.txt

Permitimos lectura, escritura y ejecución al propietario del fichero, lectura y escritura para los usuarios del mismo grupo y solamente lectura para otros usuarios:

# chmod u+rwx,g+rw,o+r fichero_pruebas.txt
-rwxrw-r-- 1 root root 0 jun 22 20:22 fichero_pruebas.txt

Si queremos que el fichero tenga solo permisos de lectura y escritura para todo el mundo, ejecutaremos:

# chmod a+rw fichero_pruebas.txt
-rw-rw-rw- 1 root root 0 jun 22 20:22 fichero_pruebas.txt

Si queremos quitar un permiso, simplemente con el símbolo "-" en lugar de "+" podremos quitarlo, por ejemplo partiendo del fichero anterior, si queremos quitarle el permiso de escritura a los miembros del grupo, ejecutaremos:

# chmod g-w fichero_pruebas.txt
-rwxr--r-- 1 root root 0 jun 22 20:22 fichero_pruebas.txt

EJEMPLOS SOBRE UN DIRECTORIO

Partimos de un directorio inicial con los siguientes permisos (0755) :

# ls -l | grep directorio_pruebas
drwxr-xr-x 2 root root 4096 jun 22 21:01 directorio_pruebas

Permitimos solo acceso a root, todos los demás no podrán acceder:

# chmod u+rwx,g-rx,o-rx directorio_pruebas
# ls -l | grep directorio_pruebas
drwx------ 2 root root 4096 jun 22 21:01 directorio_pruebas

Como se puede ver, el funcionamiento de chmod en un directorio es exactamente igual al de un fichero.

4.- PERMISOS BÁSICOS EN MODO OCTAL

Tanto la asignación como la lectura de los permisos en modo octal es muy sencillo, solamente hay que memorizar la siguiente asignación de valores:

  • - 4 = r (read/lectura)
  • - 2 = w ( write/escritura)
  • - 1= x (execution/ejecución)

ATRIBUTOS VALOR PERMISOS
--- 0 Sin permisos
--x 1 Permiso de ejecución
-w- 2 Permiso de escritura
-wx 3 Permiso de escritura y ejecución
r-- 4 Permiso de lectura
r-x 5 Permiso de lectura y ejecución
rw- 6 Permiso de lectura y escritura
rwx 7 Permiso de lectura,escritura y ejecución

El VALOR es la suma de cada uno de los atributos, por ejemplo: rwx = 4+2+1=7 , r-x = 4 , wx = 3.

Por tanto, para asignar los permisos de los ficheros y directorios podemos realizar la siguiente tabla con sus correspondientes asignaciones:

ATRIBUTOS OCTAL PERMISOS PARA TODOS
--- chmod 000 Sin permisos
--x chmod 111 Permiso de ejecución
-w- chmod 222 Permiso de escritura
-wx chmod 333 Permiso de escritura y ejecución
r-- chmod 444 Permiso de lectura
r-x chmod 555 Permiso de lectura y ejecución
rw- chmod 666 Permiso de lectura y escritura
rwx chmod 777 Permiso de lectura,escritura y ejecución

EJEMPLOS SOBRE UN FICHERO

A continuación una serie de ejemplos, exactamente los mismos que los de arriba pero usando el método octal. Partimos de un fichero inicial con los siguientes permisos (0644) :

# ls -l fichero_pruebas.txt
# -rw-r--r-- 1 root root 0 jun 22 20:22 fichero_pruebas.txt

Quitamos todos los permisos sobre el fichero:

# chmod 000 fichero_pruebas.txt
---------- 1 root root 0 jun 22 20:22 fichero_pruebas.txt

Permitimos la lectura solamente por el propietario del fichero:

# chmod 0400 fichero_pruebas.txt
-r-------- 1 root root 0 jun 22 20:22 fichero_pruebas.txt

Permitimos lectura para todos los usuarios:

# chmod 0444 fichero_pruebas.txt
-r--r--r-- 1 root root 0 jun 22 20:22 fichero_pruebas.txt

Permitimos lectura, escritura y ejecución al propietario del fichero, lectura y escritura para los usuarios del mismo grupo y solamente lectura para otros usuarios:

# chmod 0764 fichero_pruebas.txt
-rwxrw-r-- 1 root root 0 jun 22 20:22 fichero_pruebas.txt

Si queremos que el fichero tenga solo permisos de lectura y escritura para todo el mundo, ejecutaremos:

# chmod 0666 fichero_pruebas.txt
-rw-rw-rw- 1 root root 0 jun 22 20:22 fichero_pruebas.txt

Si queremos quitar un permiso, simplemente con el símbolo "-" en lugar de "+" podremos quitarlo, por ejemplo partiendo del fichero anterior, si queremos quitarle el permiso de escritura a los miembros del grupo, ejecutaremos:

# chmod 0744 fichero_pruebas.txt
-rwxr--r-- 1 root root 0 jun 22 20:22 fichero_pruebas.txt

EJEMPLOS SOBRE UN DIRECTORIO

Partimos de un directorio inicial con los siguientes permisos (0755) :

# ls -l | grep directorio_pruebas
drwxr-xr-x 2 root root 4096 jun 22 21:01 directorio_pruebas

Permitimos solo acceso a root, todos los demás no podrán acceder:

# chmod 0700 directorio_pruebas
# ls -l | grep directorio_pruebas
drwx------ 2 root root 4096 jun 22 21:01 directorio_pruebas

5.- ¿QUÉ MÉTODO ELEGIR?

Personalmente prefiero el método octal antes que el normal ya que es muchísimo más rápido y su dificultad es nula. Solamente debemos aprendernos la equivalencia de r=4, w=2, x=1 y ... ¡voilá!

ENJOY!


Raúl Prieto Fernández

Sitio Web: /

Si quieres ir rápido, ve solo. Si quieres llegar lejos, ve acompañado.

Escribir un comentario

Código de seguridad
Refescar

LOGIN / ENTRAR

BUSCAR EN EL BLOG

Booking.com

ENCUESTA

¿Cual es el mejor Sistema Operativo?

Como es lógico, esta web utiliza cookies propias y de terceros para elaborar información estadística y mostrar publicidad personalizada a través del análisis de tu navegación, conforme a la política de cookies.

  Si continúas navegando, aceptas su uso.