Ingenieros… ¿ lo lograremos ?

La dura vida de un estudiante de telecomunicaciones

Permisos en Linux…

Una de las cosas enrevesadas que tiene Linux es la gestión de los permisos de archivos y directorios. Para cualquiera que venga de Windows le sonará extraño que su ordenador tenga más de un usuario si a lo mejor es él solo el que utiliza el sistema; sin embargo, la división entre usuario normal y root evita que destroces el sistema en un pequeño descuido…

Pues bien, aquí está una chuleta para acordarse de las diferentes opciones de chmod, tanto si eres de letras como de números :)



- Para los de letras…

Las que hay que aprenderse primero son las siguientes:

  • u: usuario al que pertenece el fichero
  • g: otros usuarios que petenecen al mismo grupo que el del usuario
  • o: otros usuarios que no pertenecen al grupo en el que se encuentra el usuario
  • a: todo los usuarios

Lo siguiente es algo de matemáticas:

  • +: añadir un permiso
  • - : quitar un permiso
  • = : dejarlos igual

Finalmente los identificadores del tipo de permiso que se va a conceder:

  • r: leer
  • w: escribir
  • x: listar si es un directorio o ejecutar si es un archivo


- Para los de números

Tomaremos prestado la información de noenemies.com sobre cómo hacer las cuentas para fijar los permisos de nuestros archivos:

  • 400: lectura por el propietario
  • 040: lectura por el grupo de usuarios
  • 004: lectura por el resto de usuarios
  • 200: escritura por el propietario
  • 020: escritura por el grupo de usuarios
  • 002: escritura por el resto de usuarios
  • 100: ejecucción por el propietario
  • 010: ejecucción por el grupo de usuarios
  • 001: ejecucción por el resto de usuarios

Ahora viene la parte práctica :)

- Dar todos los permisos a todos los usuarios

chmod 777 fichero
chmod ugoa+rwx fichero


- Quitar todo los permisos a todos los usuarios

chmod 000 fichero
chmod ugoa-rwx fichero


- Dejar sólo permiso de lectura y escritura al dueño del archivo

chmod 600 fichero
chmod u+rw fichero

Y así todas las combinaciones que queráias…

p.D: Ya me lo he aprendido por fin!! Copiando la lección se aprende mejor :P

Hay 5 comentarios

  1. August 19th, 2006

    | 9:54 pm

    Tampoco es muy necesario si sueles utilizar el entorno gráfico: botón derecho->propiedades y ahí te vienen todas esas combinaciones de modo amigable y explicado (+o-).

    PD: al menos en KDE, en Gnome viene algo más limitado.

  2. August 20th, 2006

    | 11:17 am

    Inagotable siempre tan práctico :-P

    Hay que comentar que el tema de los permisos no es que sea un capricho. Se basa en el sistema numérico octal, que comienza en 0 y termina en 7, por eso nunca nos vamos a encontrar permisos mayores que 7 o menores que 0.

    Como bien comentas, a cada permiso se le asocia un peso:

    4 al de lectura (o el mnemotécnico de la ‘r’)
    2 al de escritura (o el mnemotécnico de la ‘w’)
    1 al de ejecución (o el mnemotécnico de la ‘x’)

    A la hora de aplicar los permisos o consultarlos, el primero es el del root, luego el del usuario y finalmente el del resto.

    Y ahora es el turno de ‘jugar’ :-) Con el ejemplo de Onir del chmod 600 fichero. Sabemos que le damos permiso sólo al root porque ese 6 sólo se puede conseguir sumando 4 y 2 (recordar los pesos de más arriba), que corresponden a permiso de lectura y de escritura. Para el usuario y el resto, no hay permisos pues tienen un 0.

    Otro ejemplo, con el 777:

    ¿Qué forma tenemos de obtener un 7 combinando el 4, 2 y 1? Pues sumándolos todos :D Así que daremos permisos a todos los usuarios, tanto de lectura como escritura y ejecución.

    Si es que es incluso entretenido :-P

  3. August 20th, 2006

    | 2:53 pm

    Lo del sistema numérico octal ya complica un poco más las cosasm tanpoco quería dar una descripción muy técnica para no liar demasiado el asunto :D

    Sólo corregirte una cosa cuando dices:

    A la hora de aplicar los permisos o consultarlos, el primero es el del root, luego el del usuario y finalmente el del resto.

    Esto no es así, los tres primeros indicadores son los permisos que tiene el dueño del archivo, los tres siguientes los que tiene el grupo y finalmente, los tres últimos, los que tienen el resto de usuarios.

    Haciendo un chmod 600 fichero sólo sería de lectura y escritura para el root si fuera él quien ejecutara el comando; si lo hiciera el usuario lo que haría sería dejarse para él los permisos de lectura y escritura y al resto de usuarios ninguno; salvo root, que los tiene todos :)

    Y bueno, lo que dice inagotable, en Gnome también se puede hacer mediante la interfaz gráfica; sin embargo, normalmente yo ando trabajando con la consola por lo que es un coñazo estar leyendo cada vez el manual del comando para recordar cómo hay que hacerlo…

  4. August 20th, 2006

    | 8:42 pm

    En efecto, he metido la pata y bien. He mezclado cosas. Está bien saber moverse por la consola porque no siempre estaremos en un ordenador con un KDE, XFCE o Gnome.

  5. KAT
    May 7th, 2008

    | 7:53 pm

    NECESITO DARLE PERMISOS A UN SOLO USUARIO. Q PUEDO HACER?

Deja una respuesta