Permisos en Linux con chmod

konsole.png

Nunca viene mal recordar algunos detallitos para la gestión y administración de permisos en Linux. Aqui os dejo una guia para aprender a utilizar el comando chmod.

Este comando se aplica sobre ficheros o carpetas, en el caso de que sean carpetas podemos usar la opcion -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 expecificar 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

Visto (en parte) en Administración de Servidores By. Rito

salu2!!

ACTUALIZACIÓN:

Alesete nos da un apunte más para recordarnos que 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

15 comentarios para “Permisos en Linux con chmod”

  1. guisheca Dice:

    Exelente nota, me sirve mucho!!!

  2. elvenbyte Dice:

    Un buen repaso al chmod…

  3. ViKToR Dice:

    hombre elven, ya creia que se te habia borrado la URL de think ubuntu de los marcadores :P

  4. tvk10 Dice:

    nunca viene mal repasarlo, yo ya ni me acordaba de que era cada número, simplemente los ponia xDD

  5. elvenbyte Dice:

    Qué va, es que llegan las navidades y la tienda deja estos días poco tiempo libre.

  6. Alesete Dice:

    Buen post, aunque sólo una puntualización si se me permite.

    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 000 = 0
    0 0 1 001 = 1
    0 1 0 010 = 2
    0 1 1 011 = 3
    1 0 0 100 = 4
    1 0 1 101 = 5
    1 1 0 110 = 6
    1 1 1 111 = 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 :)

    Por cierto, muy buen blog, haces un gran trabajo, un saludo!

  7. Alesete Dice:

    oops! la tabla no me ha quedado muy bien, al enviar el comentario se ha comido los espacios en blanco :S supongo que la entenderás, pero de todas formas si alguien lo lee y se marea con tanto numero junto:
    el primer numero representa al bit de lectura, el segundo al de escritura y el tercero al de ejecución. Los 3 siguientes que están juntos representan al número al completo en binario y al lado su equivalencia en decimal. Lo dicho, un saludo :)

  8. ViKToR Dice:

    @Alesete

    Gracias :)

    Lo di por hecho lo del binario y no pense que fuera interesante, pero ahora que lo comentas no estaría de más. En cuanto pueda edito la entrada.

    Un saludo

  9. ViKToR Dice:

    editado. la tabla se entiende bien. De todas formas le he quitado la representación completa del número en binario xq ya se veía bien con las tres primeras columnas.

    Una vez más Gracias :)

  10. leo Dice:

    muxas gracias

  11. Problemas comunes II: Cambiar permisos de archivos | Viviendo en la era digital | La Web A Dice:

    [...] http://ubunturoot.wordpress.com/2007/12/07/permisos-en-linux-con-chmod/ [...]

  12. Дом 2 Dice:

    Вот это да!!!

  13. karla Dice:

    buenas disculpe, se me produjo un problemilla con ese chmod aplique chmod -R 777 /etc/ ahora cuando deseo ejecutar el sudo su me aparece este error sudo: /etc/sudoers is mode 0777, should be 0440
    que pude haber dañado con ese comando porfaa ayudameee muchas gracias

  14. ViKToR Dice:

    Has dado permisos de lectura y escritura para todos los usuarios en un archivo que solo debe verse por root. En realidad es una burrada lo que has hecho yo creo :P

    Para solucionarlo debe ser suficiente con hacer:

    sudo chmod 0440 /etc/sudoers

    Lo que no se si quizás te encuentres con futuros y nuevos problemas de este tipo al aplicarle 777 a /etc

    Un saludo

  15. korn Dice:

    eres un salvaje!!

    reintala!!!

Escribe un comentario