Como Dar Permisos a Ficheros en Linux [ Que es 777, 775, 751 ] [ Dar Permisos de Lectura, Escritura y Ejecucion a un archivo / script ]

Unix dispone de tres permisos, lectura(r), escritura(w) y ejecución(x). En total tendremos nueve bits que indican los distintos permiso en el siguiente orden: usuario, grupo, otros. Los permisos los podemos expresar en formato octal. Por ejemplo el valor 751 indicará:

usuario 7 = 111 = rwx

grupo 5 = 101 = r-x

otros 1 = 001 = –x

De esta forma los permisos quedan rwxr-x–x

Hay que tener en cuenta que los permisos tienen distinto significado si se aplican a un fichero o a un directorio.

Permiso de lectura

Permite o evita que alguien pueda leer el contenido de un fichero o de un directorio.

Permiso de escritura

En el caso de un fichero, el permiso de escritura permite modificarlo o borrarlo. En el caso de un directorio este permiso da la posibilidad de crear o borrar ficheros de un directorio.

Permiso de ejecución

En el caso de un fichero, permite que sea ejecutado por quien tenga el permiso. En el caso de un directorio, el permiso de ejecución permite entrar en él.

Esto va mas o menos así traducido al español.

Modo Permisos Explicación
0477 -r–rwxrwx El propietario solo puede leer (4), Otros y el Grupo tienen rwx (7)

0677 -rw-rwxrwx El propietario tiene rw only(6), el grupo y otros tienen rwx (7)
0444 -r–r–r– Todos solo pueden leer (4)
0666 -rw-rw-rw- Todos pueden leer y escribir rw (6)
0400 -r——– Propietario solo puede leer(4), el grupo y otros no tienen permisos(0)
0600 -rw——- Propietario puede leer y escribir rw, el grupo y otros no tienen permisos
0470 -r–rwx— El propietario solo puede leer r, el grupo tiene todos los permisos rwx, otros no tienen permisos
0407 -r—–rwx El propietario puede leer, grupo no tiene permisos y otros tienen todos los permisos rwx

0670 -rw-rwx— El propietario rw , Para el grupo rwx, Otros no tienen permiso de nada
0607 -rw—-rwx El propietario rw , Grupo no tiene permiso y Otros tienen los permisos rwx

Si tienen alguna duda solo posteen que la verdad es mas fácil de lo que parece 😉 solo recordar el orden

Propietario – Grupo – Otros.


Para que lo entiendan mejor aquí esta esta tabla.

  7       5     5
 user   group  world
 r+w+x  r+x    r+x
 4+2+1  4+0+1  4+0+1  = 755

Read 4 – Leer Archivos
Write 2 – Escribir y Modificar Archivos
eXecute1 – Leer, Escribir, Modificar, Borrar

  7       4      4
 user   group  world
 r+w+x    r      r
 4+2+1  4+0+0  4+0+0  = 744

Ya con esto pueden usar el chmod.

Manual CHMOD asigando permisos en linux clic aquí

Nos vemos


Asignar permisos Uso de CHMOD How To

Instrucciones detalladas para aprender a manejar correctamente los permisos de los archivos en sistemas Linux / Unix, con el comando chmod.

Para cambiar los permisos de un archivo o directorio del servidor, tienes que utilizar el comando chmod.

En general, cualquier comando de linux o unix tiene una ayuda, que puedes ver invocando al comando, seguido con el parámetro -help. Algo como esto:

chmod –help

Este comando en concreto tiene varias sintaxis permitidas. De entre ellas por ejemplo puedes utilizar:

chmod [opciones] modo-en-octal fichero

Las opciones podemos indicarlas o no, según queramos. Opciones típicas son:

* -R para que mire también en los subdirectorios de la ruta.
* -v para que muestre cada fichero procesado
* – c es como -v, pero sólo avisa de los ficheros que modifica sus permisos

El modo en octal es un número en base 8 (octal) que especifique el permiso. Los números en octal se especifican empezando el número por un 0. Por ejemplo, 0777 es indica todos los permisos posibles para todos los tipos de usuario. 0666 indica que se dan permisos de lectura y escritura, pero no de ejecución. 0766 indica que se dan permisos de lectura y escritura, pero sólo tienen permiso de ejecución para los usuarios que son dueños del archivo. 0755 indica permisos para lectura y ejecución, pero escritura sólo para el usuario que es dueño del archivo.

Por ejemplo:

chmod 0777 archivo.txt


Asigna todos los permisos al archivo archivo.txt

chmod 0666 *


Asigna permisos de lectura y escritura, no de ejecución a todos los archivos y directorios del directorio donde ejecutamos el comando.

chmod -R 0644 *


Esto da permisos a todos los archivos y directorios del directorio donde se invoca el comando y de todos los directorios que cuelgan de él. Los permisos asignados son de lectura a todos los usuarios, de escritura sólo al dueño del archivo y de ejecución a nadie.

Otro modo de trabajo con chmod

Luego también se pueden asignar permisos de otra manera, utilizando otra posible sintaxis de chmod, que tal vez resulte más útil si no queremos tratar con los valores en octal.


chmod [opciones] modo[,modo]… fichero

Para ello tenemos que tener claros los distintos grupos de usuarios:

* u: usuario dueño del fichero
* g: grupo de usuarios del dueño del fichero
* o: todos los otros usuarios
* a: todos los tipos de usuario (dueño, grupo y otros)

También hay que saber la letra que abrevia cada tipo de permiso:

* r: se refiere a los permisos de lectura
* w: se refiere a los permisos de escritura
* x: se refiere a los permisos de ejecución

Ejemplos

chmod o=rwx *


Asigna permisos de lectura, escritura y ejecución para los usuarios «otros» a todos los archivos de la carpeta

chmod a=rwx fichero.txt

Asigna todos los permisos a todos los usuarios para el archivo fichero.txt

chmod go= *


Quita todos los permisos para los usuario del grupo y los usuarios otros.


chmod u=rwx,g=rw,o= *

Da todos los permisos al dueño del fichero, a los del grupo del dueño le asigna permisos de lectura y escritura y a los otros usuarios les quita todos los permisos.

Nota:un espacio después de la coma «,» en los distintos modos de permisos que se indiquen hace fallar el comando.


chmod a=r *

Da permisos únicamente de lectura a todos los tipos de usuario.

De un modo parecido a lo que acabamos de ver, también se pueden añadir o quitar permisos con los operadores + y -. Para ello se indica el tipo de usuario y el permiso que se resta o añade. Algo como esto:

chmod a-wrx *

Esto quita todos los permisos a todos los tipos de usuario.

chmod a+r,gu+w *

Este comando asigna permisos de lectura a todos los usuarios y permisos de escritura al dueño del archivo y el grupo del dueño.

chmod u=w,a+r *

Este comando asigna permisos de escritura al usuario dueño y a todos los usuarios les añade permiso de lectura.

Espero que les sirva