Comprender los permisos de Linux y el uso de chmod


He estado tomando un curso sobre Linux durante los últimos meses y un aspecto de Linux que siempre me confundió fue cómo funcionaban los permisos. Por ejemplo, cuando cargué un archivo a mi servidor web una vez y recibí un error, mi proveedor de alojamiento web me dijo que cambiara los permisos de archivo a 755.

No tenía ni idea de lo que eso significaba, aunque estaba cambiando los permisos arreglaron el problema. Ahora me he dado cuenta de que los permisos de Linux no son tan complicados, solo tienes que entender el sistema. En este artículo, hablaré sobre los permisos de Linux en un nivel alto y le mostraré cómo usar el comando chmod para cambiar los permisos para archivos y carpetas.

Permisos de Linux & amp; Niveles

En Linux, básicamente hay tres permisos de los que normalmente tendrá que preocuparse: leer, escribir y ejecutar. Los tres de estos son bastante auto explicativos. Ahora, cuando estos permisos se aplican a un archivo, se aplican en niveles.

Existen tres niveles de permisos en Linux: propietario, grupo y otros. El propietario es el usuario que posee el archivo / carpeta, el grupo incluye otros usuarios en el grupo del archivo y el otro simplemente representa a todos los demás usuarios que no son el propietario o el grupo.

Leer, escribir y ejecutar se representan como caracteres simbólicos o como números octales. Por ejemplo, si hace un ls -l en un directorio con algunos archivos, verá la representación de los caracteres simbólicos de los permisos.

Los permisos se escriben de la siguiente manera: el primer bit es un guion o la letra d. Dashsignifica que es un archivo y drepresenta el directorio. Tenga en cuenta que el primer bit también puede ser lsi el nombre del archivo es un enlace. Luego, hay tres grupos de tres bits. El primer bit en cada grupo es para lectura, el segundo bit para escritura y el tercer bit para ejecución. Los primeros tres bits son para el propietario, los segundos tres son para el grupo y los tres tres son para el otro. Aquí hay una explicación más visual.

Si ve un guión en lugar de una letra, significa que el propietario, el grupo o todos los demás usuarios no tienes ese permiso En el ejemplo anterior, el propietario, el grupo y todos los demás han leído los permisos de escritura y ejecución.

Si observa el resultado del comando ls -l, notará que mi archivo de texto de práctica tiene el los siguientes permisos:

-rw-rw-rw-

Esto significa que todos solo tienen permisos de lectura / escritura para el archivo. Aquí hay otro ejemplo:

drwxr--r--

Al observar el primer bit, podemos ver que los permisos son para un directorio. El propietario tiene permisos de lectura / escritura / ejecución, pero el grupo y otros usuarios solo tienen permiso de lectura.

Representación del número octal

Así es como se muestran los permisos en Linux usando símbolos. La segunda forma de representar los mismos permisos es mediante el uso de números octales. Cuando usemos el comando chmod más adelante, verás que puedes cambiar los permisos usando símbolos o números octales.

Entonces, ¿cómo representa Linux leer, escribir y ejecutar usando números octales? Básicamente, simplemente asigna un número a cada permiso como se muestra a continuación.

El permiso de lectura se representa con 4, escribe por 2 y se ejecuta por 1. Todo lo que tienes que hacer es sumarlos para obtener el permiso octal. Por ejemplo, tomemos el ejemplo anterior donde todos tienen todos los permisos:

-rwxrwxrwx

El propietario tiene rwx, por lo que agregaremos 4 + 2 + 1 para obtener un valor de 7. Hacemos lo mismo para el grupo y lo mismo para el otro. El valor octal final es 777. Echemos un vistazo al ejemplo en el que solo otorgamos permisos de lectura / escritura:

-rw-rw-rw-

El primer número octal será 4 + 2 ya que estamos agregando lectura y escritura El segundo será el mismo que el tercer número octal. Aquí tenemos un valor octal final de 666.

Entonces, intentémoslo de otra manera. Digamos que queremos saber qué permisos 755representan? Bueno, es bastante fácil averiguar si lo desglosas por números individuales. El primer número es 7, que solo podemos obtener agregando 4 + 2 + 1, lo que significa que el propietario tiene permiso de lectura / escritura / ejecución. Cinco solo pueden obtenerse agregando 4 + 1, lo que significa que el grupo y otros usuarios tienen permisos de lectura y ejecución.

Con suerte, eso es bueno explicación de cómo representar permisos en Linux usando números octales. En general, es bastante sencillo.

Usar chmod para modificar permisos

Ahora que entendemos cómo leer permisos, hablemos de cómo podemos cambiarlos. La utilidad más fácil de usar para este propósito es el comando chmod. Así es como funciona. La mejor manera de explicar el comando es seguir un ejemplo.

Comencemos con los permisos de los que hablamos anteriormente, a saber:

-rw-rw-rw-

Si quería agregar el permiso de ejecución para el propietario, el grupo y otros, podríamos hacerlo de dos maneras. Podríamos usar el método del símbolo o el método octal. Para el método del símbolo, haríamos lo siguiente, como se muestra a continuación:

El comando exacto es

chmod a+x filename

La sintaxis es la siguiente: letra o letras que representan al propietario (u), grupo (g), otro (o) o todos (a) seguidos de un +para agregar permisos o un -para quitar los permisos y luego la letra para el permiso (rpara lectura, wpara escritura y xpara ejecución).

En el ejemplo anterior, agregué el ejecutar permiso para todos los usuarios. El resultado, como puede ver en la captura de pantalla anterior, es una xpara el propietario, el grupo y otros. Ahora digamos que quería eliminar los permisos de escritura y ejecución solo para el grupo y otros usuarios.

Como puede ver aquí, utilicé al siguiente comando para lograr esto:

chmod go-wx filename

Como quiero cambiar los permisos de grupo y de otro tipo, utilizo la letra gy la letra o. Quiero eliminar permisos, así que uso el signo -. Finalmente, quiero eliminar los permisos de escritura y ejecución, así que uso wy x. Aquí hay una pequeña mesa práctica para el uso de símbolos:

Así que eso es todo lo que hay para usar el método del símbolo. Ahora hablemos del método octal, que me parece un poco más fácil. Octal es agradable porque puedes agregar o eliminar permisos, todo de una vez.

Si comenzamos con los siguientes permisos en un archivo, veamos cómo podemos cambiarlos usando el método octal:

-rw-rw-rw-

Arriba, puede ver que usé el siguiente comando:

chmod 744 filename

Esto básicamente dice que el propietario obtiene permiso de lectura / escritura / ejecución y el grupo y otros solo obtienen permiso de lectura. Como puede ver, es fácil agregar o eliminar permisos en un solo comando. Sigamos y digamos que quiero cambiar los permisos nuevamente.

Ahora usé el siguiente comando, de nuevo uno muy simple:

chmod 640 filename

Aquí le hemos otorgado al propietario permisos de lectura / escritura, el grupo solo leyó el permiso y el otro grupo no tiene permisos. Utiliza un cero para indicar que no hay permisos. Bastante simple, ¿eh?

En conclusión, esta es una descripción muy simple de los permisos de Linux y puede ser mucho más complicado que esto, pero para los principiantes, es un buen lugar para comenzar. Publicaré más artículos sobre permisos más avanzados en el futuro. Si tiene alguna pregunta, siéntase libre de comentar. ¡Disfruta!

Uso de la Consola Linux - Video 5 - Enlaces y borrado de Archivos con ln y rm

Artículos Relacionados:


16.02.2017