Cómo cambiar permisos y propietarios en Linux

En este tutorial, aprenderás a cambiar permisos y propietarios en Linux usando los comandos de Linux chmod y chown. Al hacerlo, conseguirás una mejor gestión en los proyectos en equipo.

Por qué es necesario cambiar los permisos y los propietarios en Linux

Linux es un sistema operativo multiusuario, por lo que más de una persona puede trabajar en el mismo ordenador al mismo tiempo. Además, es posible acceder al sistema de forma local o remota. Por eso los desarrolladores suelen utilizar este sistema operativo para proyectos en grupo.

En un entorno tan amplio, debemos establecer los permisos y la propiedad de los archivos, de modo que sólo determinados usuarios puedan acceder a nuestros datos. De esta manera, protegeremos la información sensible y evitaremos que se produzcan cambios no deseados.

Afortunadamente, gracias a los comandos chmod y chown, es fácil cambiar los permisos y los propietarios en Linux. Pero antes de empezar a aprender a utilizarlos, asegúrate de que tienes acceso a la línea de comandos. Puedes iniciar la terminal pulsando Ctrl + Alt + T.

Cambiar permisos de archivos y carpetas

Usaremos el comando chmod para cambiar los permisos de un archivo o carpeta en Linux. Pero primero, debes saber que hay tres tipos de usuarios que pueden interactuar con un archivo:

TipoExplicación
owner (propietario)Es el usuario que creó y posee un archivo/directorio.
group (grupo)Todos los usuarios que son miembros del mismo grupo.
others (otros)Todos los demás usuarios del sistema que no son propietarios ni miembros del grupo.

Para ver los permisos y propietarios de un archivo específico, puedes ejecutar este comando:

ls -l [nombre del archivo]

El resultado mostraría algo así:

-rwxr–rw- 1 usuario usuario 0 Jan 19 12:59 miarchivo.txt

Desglosemos el resultado para ver qué significa cada campo:

  • ‘-rwxr-rw-‘ – Esta parte de la línea representa los permisos del archivo. Para entenderlo mejor, tenemos que dividirlo en cuatro grupos: (), (rwx), (rw-) y (rw-).
    – El primer grupo indica el tipo de archivo. Nuestro ejemplo muestra un guión, que representa un archivo normal. Si estamos inspeccionando un directorio, el guión será sustituido por la d.
    – Los tres caracteres después del tipo de archivo representan los permisos del propietario. En este ejemplo, podemos ver que el propietario puede leer (r), escribir (w) y ejecutar (x) el archivo.
    – Los siguientes tres caracteres son los permisos del grupo. Podemos concluir que el grupo puede leer (r) y escribir (w), pero no puede ejecutar el archivo. Esto se debe a que el último carácter es un guión en lugar de la letra x.
    – El último grupo es el de los permisos del resto de usuarios. Basándonos en nuestro ejemplo, este tipo de usuario no puede ejecutar el archivo, pero se le permite leer y escribir.
  • 1 – Es la cantidad de enlaces fijos (hard links). Un enlace fijo es un nombre adicional para un archivo existente.
  • usuario usuario – El propietario y el grupo propietario del archivo.
  • 0 – El tamaño del archivo en bytes.
  • Jan 19 12:59 – La fecha de la última modificación.
  • miarchivo.txt – El nombre del archivo/carpeta.

Cómo usar el comando chmod

Digamos que queremos cambiar los permisos de los archivos de Linux de -rwxrw-rw- a -rwx-r-r-. Simplemente introduce esta línea:

chmod 744 [nombre del archivo]

Al ejecutar este comando, el propietario puede leer, escribir y ejecutar el archivo (rwx). Sin embargo, el grupo y otros sólo pueden leer (r-).

Llegados a este punto, puede que te preguntes por qué utilizamos un número de tres dígitos (744) después del comando chmod.

Este número determina los permisos del archivo. Leer, escribir y ejecutar están representados por un valor numérico:

  • r (read) – 4
  • w (write) – 2
  • x (execute) – 1

Así que si quieres dar todos los permisos (rwx) a un usuario, tenemos que añadir leer (4), escribir (2) y ejecutar (1). Por lo tanto, rwx es igual a 7.

Mientras tanto, como el grupo y otros sólo pueden leer el archivo, les asignamos 4.

Recuerda que los permisos del propietario siempre van primero, seguidos por los del grupo y otros. Por eso introducimos 744.

Consejo profesional

Si no quieres dar ningún permiso a un usuario, introduce 0 en el lugar correspondiente.

Aquí hay una lista de los permisos más comunes para los archivos:

ValorValor NuméricoExplicación
-rw——-600El propietario puede leer y escribir.
-rw-r–r–644El propietario puede leer y escribir, el grupo y otros pueden leer.
-rw-rw-rw-666El propietario, el grupo y otros pueden leer y escribir.
-rwx——700El propietario puede leer, escribir y ejecutar, el grupo y otros no pueden hacer nada con el archivo.
-rwx–x–x711El propietario puede leer, escribir y ejecutar, el grupo y otros pueden ejecutar.
-rwxr-xr-x755El propietario puede leer, escribir y ejecutar, el grupo y otros pueden leer y ejecutar.
-rwxrwxrwx777 EL propietario, el grupo y otros pueden leer, escribir y ejecutar.

Permisos comunes para directorios:

ValorValor NuméricoExplicación
drwx——700Solo el propietario puede leer y escribir en este directorio.
drwxr-xr-x755 El propietario, el grupo y otros pueden leer el directorio, pero solo el propietario puede cambiar su contenido.

Cambiar los propietarios de archivos y carpetas

Para cambiar el propietario de un archivo y una carpeta en Linux, utilizaremos el comando chown. Esta es la sintaxis básica:

chown [propietario/grupo propietario] [nombre del archivo]

Digamos que tenemos un archivo llamado «miarchivo.txt«. Si queremos que el propietario del archivo sea «hostinger«, podemos utilizar este comando:

chown hostinger miarchivo.txt

Sin embargo, si queremos cambiar el grupo propietario del archivo a «clientes«, introduciremos esta línea en su lugar:

chown :clientes miarchivo.txt

Observa que usamos dos puntos (:) antes de «clientes» para indicar que se trata de un grupo propietario.

Ahora, para cambiar el propietario y el grupo al mismo tiempo, la sintaxis sería así:

chown hostinger:clientes miarchivo.txt

La regla principal es que el propietario debe ir antes del grupo propietario y tienen que estar separados por dos puntos.

Usar opciones con los comandos chmod y chown

Una opción es un comando adicional para modificar la respuesta de un comando.

Una de las opciones más populares que puedes combinar con chmod y chown es -R (recursivo). Esta opción te permite cambiar los permisos o propietarios de todos los archivos y subdirectorios dentro de un directorio específico.

Si quieres utilizar una opción, tienes que colocarla justo después del comando chmod/chown.

Mira este ejemplo:

chown -R 755 /etc/misarchivos

Después de introducir el comando anterior, el propietario puede leer, escribir y ejecutar todos los archivos y subdirectorios dentro del directorio /etc/misarchivos. El comando también da permisos de lectura y ejecución al grupo y a otros.

¡Importante! Ten especial cuidado con esta opción. El uso incorrecto del comando puede causar un fallo grave, y requerirá mucho trabajo revertir los cambios

Además de -R, las siguientes opciones se utilizan a menudo con los comandos chmod y chown:

  • -f o force. La línea de comandos ignorará cualquier error y aplicará los comandos chmod y chown.
  • La opción -v (verbose) te da un diagnóstico de todos los archivos que son procesados por el comando.
  • -c (changes) es imilar a -v, pero solo proporcionará información en caso de que los cambios se hayan realizado correctamente.

Conclusión

En este tutorial, has aprendido cómo usar los comandos chmod y chown para cambiar los permisos y los propietarios en Linux. También hemos proporcionado la sintaxis básica y varias opciones útiles que puedes combinar con cualquiera de estos comandos.

Si tienes alguna pregunta, ¡no dudes en comentar abajo!

Author
El autor

Gustavo B.

Gustavo es un apasionado por la creación de sitios web. Se enfoca en la aplicación de estrategias SEO en Hostinger para España y Latinoamérica, así como la creación de contenidos de alto nivel. Cuando no está aplicando nuevos trucos en WordPress lo puedes encontrar tocando la guitarra, viajando o tomando un curso online.