Cargando…

¿Listo para aprender?

Pulsa en el botón y disfruta de nuestros cursos GRATIS o en oferta
VER LOS CURSOS

Cambiar permisos de ficheros y directorios

Los permisos de un archivo o directorio pueden ser modificados por el propietario o por el administrador del sistema con el comando chmod. Hay tres formas de modificar los permisos

12.1 Usando el + o –

Con el símbolo de + pondremos un permiso y con el del – lo quitamos. Para hacer referencia al tipo de permiso usamos las letras que ya conocemos r, w y x. Y para indicar a qué bloque de permisos se lo queremos poner o quitar usamos u para el usuario, g para el grupo, o para los demás usuarios y a para todos). Primero se indica a quién le modificamos los permisos, luego el + o el – y después los permisos que añadimos o quitamos. Si queremos cambiar más de un bloque de permisos, los separamos por comas

Ejemplos:

  • chmod u+w carta.txt
    Concedemos el permiso de escritura al propietario
  • chmod g+x,o-rw fichero.sh
    Ponemos el permiso de ejecución al grupo y quitamos el de lectura y escritura al resto de usuarios
  • chmod u-w,a+r carta.txt
    Quitamos el permiso de escritura al usuario y ponemos el de lectura a todos.

Esta es la forma más específica de cambiar permisos ya que puede modificar uno solo sin alterar los que ya tiene.

12.2 Usando el =

El método de funcionamiento es igual que el explicado anteriormente, pero ahora en lugar de poner o quitar permisos de forma independiente, le indico únicamente los que tiene concedidos (si no pongo algún permiso es que se lo estoy quitando).

Ejemplos:

  • chmod u=r carta.txt
    Indico que el usuario sólo tiene el permiso de lectura
  • chmod g=rw,o= fichero.sh
    El grupo tiene lectura y escritura y los otros ningún permiso.

En este ejemplo se visualiza la diferencia entre usar el signo de más o menos y el igual. Si ponemos g+w estamos añadiendo el permiso sin modificar los demás, pero con g=w indicamos los que deben estar y los que se deben eliminar, por lo tanto afecta a todo el bloque de permisos, en este caso al grupo (g).

Ambos métodos se pueden combinar, pudiendo construir expresiones como:

  • chmod u=rw,g+w,o-rwx ejemplo
  • chmod a-w,o= ejemplo
  • chmod u=r,g+w,o-r+w ejemplo

12.3 Utilizando números en decimal

Pero la forma más usual de cambiar los permisos de un fichero es mediante números correspondientes a la codificación binaria de los permisos. Los permisos para el usuario propietario, grupo y resto se dividen en grupos de tres bits y estos se representan con su correspondiente número en decimal.

RWX RWX RWX
Propietario Grupo Resto

Pondremos los permisos en binario indicando según la posición un 1 si el permiso está concedido y un 0 si no está concedido. De tal forma que si quiero conceder permisos de lectura y escritura al usuario, sólo de lectura al grupo y ninguno al resto, pondré 110 100 000 lo que corresponde a RW- R– —. Después obtengo el número en decimal de cada bloque de permisos 110 es 5, 100 es 4 y 000 es 0, por lo tanto el número resultante es 750 y eso es lo que utilizo en la orden chmod

Ejemplos:

  • chmod 544 carta.txt
    Permisos de lectura y escritura para el usuario, lectura para el grupo y lectura para el resto
  • chmod 710 fichero.sh
    Todos los permisos para el usuario, sólo ejecución para el grupo y ninguno para el resto

Explicaciones en video

La explicación y ejemplos los podéis ver en este video cómo cambiar los permisos con el comando chmod de nuestro canal de youtube

Tienes muchas más información sobre estos y muchos otros comandos de la consola de Linux en nuestra sección de CURSOS DEL INTÉRPRETE DE COMANDOS DE LINUX Y SHELL SCRIPT.

Si os parece interesante podéis suscribiros a nuestro canal de youtube sobre Linux

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.