VPS

Cómo cambiar permisos y propietarios en Linux través de la línea de comandos

Cómo cambiar permisos y propietarios mediante la linea de comandos en linux

Introducción

En este tutorial, aprenderás a cambiar permisos y propietarios de archivos/carpetas a través de la línea de comandos (command line) en los sistemas Linux/Unix. Hay dos comandos básicos que puedes usar para realizar esta tarea: chmod y chown.

Lo que necesitarás

Antes de comenzar con esta guía, necesitarás lo siguiente:

  • Acceso a la línea de comandos

Paso 1 – Cambiar permisos de archivos y carpetas a través de la línea de comandos en Linux

chmod: Este comando se usa para cambiar permisos de un archivo o carpeta. Básicamente, cada archivo tiene tres tipos de usuarios que pueden interactuar con él:

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.

El comando ls -l se puede usar para ver los permisos de archivos y los propietarios. Por ejemplo, ls -l file1.txt mostraría:

-rwxr–rw- 1 user user 0 Jan 19 12:59 file1.txt

  • “-rwxr-rw-“ – Esta parte de la línea muestra permisos. Hay 4 letras principales que verás más comúnmente en esta parte: r, w, x, d. d significa que el tipo de archivo es un directorio, en nuestro ejemplo, no existe esa letra (sería la primera letra de la línea, pero actualmente está vacía (tiene un símbolo “-“, que básicamente significa “no”) La letra x significa el permiso para ejecutar un archivo/carpeta (necesitamos este tipo de permiso para ingresar una carpeta). La letra w significa permiso para escribir un archivo/carpeta (editar el archivo, eliminar el archivo, etc.) . Y la última letra es r, lo que significa read (leer). Si tenemos permisos de lectura, podemos leer el contenido del archivo, pero eso es todo, no editarlo ni ejecutarlo (por ejemplo, podemos leer el código del script, pero no podemos ejecutarlo).
  • 1 – Una cantidad de enlaces fijos (hard links). Básicamente, un enlace fijo es un nombre adicional para un archivo existente.
  • user user – Muestra el propietario y el propietario del grupo del archivo.
  • 0 – Esto muestra el tamaño del archivo.
  • Jan 19 12:59 – Muestra la fecha de la última modificación.
  • txt – Proporciona el nombre del archivo/carpeta.

Así que volvamos al comando chmod. Este comando nos permite cambiar permisos de un archivo o carpeta. Y te enseñaremos cómo hacerlo simplemente sumando números. Cada tipo de permiso tiene su propio número:

  • r (read; leer en español) – 4
  • w (write; escribir en español) – 2
  • x (execute, ejecutar en español) – 1

Entonces, por ejemplo, si queremos que los permisos de file1.txt sean estos:

-rwxr–rw- 1 user user 0 Jan 19 12:59 file1.txt

Tendríamos que escribir este comando:

chmod 746 file1.txt

Básicamente, cada número en este comando representa permisos para uno de los tipos de usuario (propietario, propietario del grupo y otros). Entonces, el primer número es 7; ahora usando la explicación de los significados de los números anteriores, la única forma en que podemos obtener un número 7 es sumando los números 4, 2 y 1, es decir: 4 + 2 + 1 = 7. Lo que básicamente significa TODOS los permisos (leer, escribir y ejecutar – rwx). Este primer número establece los permisos para el propietario del archivo. El segundo número es 4, lo que significa el permiso r (leer) y este número otorga permisos de lectura al propietario del grupo. El tercer número es 6, usando los significados de los números anteriores, la única manera de obtener este número es sumando 4 y 2, decir, 4 + 2 = 6. Entonces damos permiso a otros para leer (4) y escribir (2) el archivo. La tercera parte (file1.txt) del comando es un nombre de archivo, escribimos el nombre del archivo en el que queremos establecer estos permisos.

Otro ejemplo sería este: chmod 777 file2.txt, este comando básicamente otorgaría TODOS los permisos para cada tipo de usuario (propietario, grupo y otros).

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.

Los 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.

Hay otras maneras de cambiar permisos del archivo usando el comando chmod pero nuestra recomendación es que aprendas una de ellas y la uses todas las veces (en este caso, el modo de numeración). Si quieres obtener más información sobre las otras formas de cambiar los permisos, puede leer sobre esto aquí. (Contenido en inglés).

Paso 2 – Cambiar los propietarios de archivos y carpetas a través de la línea de comandos

chown: Este comando se usa para cambiar los propietarios de un archivo o carpeta. La sintaxis más básica de este comando es esta:

chown [owner/group owner] [file name]

Básicamente, si tenemos un archivo “demo.txt” y queremos que el propietario del archivo sea “jerry” y que el propietario del grupo sea “clientes”, usaríamos este comando:

chown jerry:clients demo.txt

Como puedes ver, separamos al propietario y al propietario del grupo con un símbolo “:” (dos puntos). Si solo quisiéramos cambiar el propietario del archivo, usaríamos esto:

chown jerry demo.txt

Como ves, simplemente dejamos fuera al propietario del grupo y solo escribimos el nuevo propietario del archivo, por lo que en ese caso, el propietario del grupo permanecerá sin cambios. Otro ejemplo similar sería si quisiéramos cambiar el propietario del grupo del archivo, el comando sería así:

chown :clients demo.txt

En este caso, solo el propietario del grupo cambiaría a clientes (el propietario no cambiaría).

Paso 3 – Usar opciones adicionales con los comandos chmod y chown

Una de las opciones principales que funciona con ambos comandos es -R, que significa recursivo. Esta opción te permite cambiar permisos/propietarios en una carpeta y TODOS los demás archivos y carpetas dentro de esa carpeta inicial.

¡IMPORTANTE! Ten especial cuidado con esta opción, si se usa de forma incorrecta, puedes cambiar accidentalmente los permisos o los propietarios de TODOS los archivos en tu sistema, lo que puede causar un error grave o mucho trabajo para cambiar los permisos/propietarios a sus valores originales.

Otras opciones para “chmod” y “chown” son:

  • “-f” – Silenciosa, sigilosa o simplemente fuerza (force). No mostrará la mayoría de los mensajes de error.
  • “-v” – Te da un diagnóstico de todos los archivo que se vieron afectados por el comando.
  • “-c” – Similar a -v, pero solo proporcionará información en caso de que los cambios se hayan realizado realmente.

Conclusión

En este tutorial, has aprendido a cambiar los permisos y los propietarios de archivos y carpetas a través de la línea de comandos de Linux. Tener estas habilidades debería facilitar la administración de tu servidor. Si quieres continuar aprendiendo, consulta este tutorial seleccionado:

Agrega un Comentario

Dale clic aquí para dejar un comentario

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

¡Comienza a ahorrar hoy mismo!

Alojamientos con todo incluido y nombre de dominio por

AR$36
00
/mes