Chmod, permisos en Linux

18 12 2007

Recordando un poco los permisos en Linux con chmod, aquí una guía de como se utiliza:

Este comando se aplica sobre ficheros o carpetas, en el caso de que sean carpetas podemos usar la opción -R para dar permisos recursivamente a todas las carpetas y ficheros que contenga recursivamente.En cuanto a la sintaxis del comando, podemos decir que responde a

chmod [opciones] XXX nomFichero/nomCarpeta

donde en opciones podemos especificar por ejemplo cosas como -R, XXX es el número de permisos tal y como especificamos a continuación:

Relación Numérica con los Permisos

0 = Ningún permiso (Lectura = 0 + Escritura = 0 + Ejecución = 0)
1 = Permiso de Ejecución (Lectura = 0 + Escritura = 0 + Ejecución = 1)
2 = Permiso de Escritura (Lectura = 0 + Escritura = 2 + Ejecución = 0)
3 = Permiso de Escritura y Ejecución (Lectura = 0, Escritura = 2, Ejecución = 1)
4 = Permiso de Lectura (Lectura = 4 + Escritura = 0 + Ejecución = 0)
5 = Permiso de Lectura y Ejecución (Lectura = 4 + Escritura = 0 + Ejecución = 1)
6 = Permiso de Lectura y Escritura (Lectura = 4 + Escritura = 2 + Ejecución = 0)
7 = Permiso de Lectura, Escritura y Ejecución (Lectura = 4 + Escritura = 2 + Ejecución = 1)

Luego, por cada Identidad, podemos obtener un número comprendido entre 0 y 7, que delimitarán por Identidad, claramente, sus privilegios en particular sobre un archivo o carpeta.

¿Entonces, que es, por ejemplo, chmod 644?
Son los Permisos que tiene asignados cada Identidad, sobre un archivo o carpeta, según su Relación Numérica. Siempre siguiendo este orden:

Propietario = 6 (Puede Leer y Escribir)
Grupo = 4 (solo puede Leer)
Otros =
4 (solo puede Leer)

Nota: Evidentemente el comando chmod contiene muchas más opciones y formas de asignar permisos, puedes consultarlas consultando el manual del comando, para ello abre un terminal y teclea:

man chmod

El número de los permisos no está decidido al azar, sino que se basa en reglas binarias, tal y como nos detalla en su comentario:

La “regla” de los números quedaría mejor explicado y entendible si la explicas en binario:
// el 1 activa el permiso, el 0 lo apaga

Lectura escritura ejecución
0 0 0  = 0
0 0 1  = 1
0 1 0  = 2
0 1 1  = 3
1 0 0  = 4
1 0 1  = 5
1 1 0  = 6
1 1 1  = 7

Pues eso, para los que no entendiesen la relación, que vean que no está hecha al azar, si no que tiene su por qué y así no te lo tienes que aprender de memoria y nunca se te olvida.

Visto en: Think Ubuntu


Acciones

Información

15 respuestas

18 12 2007
ViKToR

Un honor servirte para algo como “fuente” :P

salu2

18 12 2007
Catrip

Gracias ViKToR, tienes un excelente blog…

18 12 2007
dhabyx

Muy bueno el post, yo lo usaba en este formato binario antes, pero luego me acostumbré a su forma “human readable” :)
chmod
donde grupo puede ser:
a = todos(all)
g = grupo(group)
u = usuario propietario(user)
los permisos pueden ser:
x = ejecución(execute)
w = escritura (write)
r = lectura (read)

así por ejemplo si queremos darle permisos de ejecución y lectura al grupo se lo podemos hacer de esta manera
chmod g+rx archivo
o quitarselos
chmod g-rx archivo

Saludos!!

19 12 2007
jarriaga

Buena aportación dhabyx a veces se nos dificulta el binario… aunque si lo usas con el tiempo te acostumbras y es lo mas sencillo que puede encontrar.

Gracias dhabyx!!!

21 12 2007
dhabyx

Claro, con el binario puedes hacer permisos mucho mas elaborados :)

17 08 2008
Amelia

Hola, necesito ayuda

Cómo hago para ver el contenido de un directorio que un usuario (propietario) me dio permiso de acceso??

Gracias

17 08 2008
Catrip

@ Amelia:

Si ya tienes permiso de acceso, simplemente entra en el, no tendrás problemas con la correspondiente autorización

30 09 2008
LuisDurio

muy buenas tengo un problema he hecho de todo para dar un permiso a mi carpeta lamp pues tengo el xamp instalado y no tengo prmiso de acceso a crear nuevas carpetas o guardar nuevos documentos pues aparece bloqueado la ventana de pemiso de q yo noy propietario asi q no puedo hacer modificaciones y mis pruebas de en localhost del xamp q alguien me mande unas pautas solucinar desde la consola muchas gracia

1 10 2008
jarriaga

Que tal luis…. posiblemente tu problema se deba a que quieres cambiar permisos sin usar el comando SUDO que para ejecutar comandos como usuario root ….

te recomiendo ir a la carpeta en la cual quieres permisos de escritura
verificas a que usuario pertenecen las carpetas con el comando
ls -l

si son del usuario root entonces necesita cambiar los permisos a escritura y lectura con el siguiente comando.

sudo chmod 666 archivo_o_carpeta

esto le da permisos de escritura y lectura a todos los usuarios
si solo quieres dar permisos a el dueño del archivo o carpeta reemplaza el 666 por 600, para el dueño y el grupo 660; para todos 666 es facil…
acuerdate del sudo….. por que solo el puede cambiar permisos a todos
;)
demoniaco no???? jejeje

si tienes alguna duda ya sabes

si lo quieres es cambiar de dueño la carpeta o los archivos… entonces utiliza el comando chown

sudo chown nuevo_dueño nombre_archivo_o_carpeta

ejemplo:

sudo chown jarriaga software/

16 10 2008
alejandro

hola…muy buena info me sirvio bastante gracias…

23 11 2008
arnaldo

muy bueno el post

7 01 2009
perro

muy util, muchas gracias, lo voy a poner en mi blog de lionux

11 10 2009
Edgar

Muy buena explicacion, me saco de muchas dudas, te lo agracezco…

18 10 2009
Lautaro

Hola les queria comentar el problema que tengo para habilitar la carpeta usr

lo necesito para modificar un par de cosas del Amsn y del Gimp

intente lo siguiente: sudo chmod a+rwx /usr

pero no hizo absolutamente nada

por metodo grafico no me deja

.. muy bueno el blog

saludos suerte

17 11 2009
korn

te falto el -R

prueba esto chmod -R a+rwx /usr

Deja un comentario