Domina los permisos de los directorios y archivos de Linux

febrero 07, 2021 , 0 Comments

Linux en caja

Si hay un aspecto que destaca de Linux respecto a otros sistemas, como Windows, es la seguridad. Y no solo hablamos de vulnerabilidades y privacidad, sino también de la forma en la que gestiona los archivos personales de sus usuarios. Cada archivo y cada carpeta cuenta con unos permisos definidos, sin los cuales nadie podrá acceder al archivo en cuestión. Y, si estamos aprendiendo a usar Linux, los permisos es uno de los aspectos que debemos conocer y aprender.

El sistema de archivos que utiliza Linux es mucho más avanzado, y a la vez sencillo, que el que utilizan otros sistemas, como Windows. Este se basa en especificar si el propietario, el grupo de usuarios o cualquiera puede leer, escribir o ejecutar el archivo. Sin duda, es una forma muy eficaz de mantener a cada usuario del sistema controlado, evitando que este pueda acceder a los datos de los demás sin permiso.

Es cierto que este sistema de permisos puede parecer algo complicado. Pero, a continuación, te explicamos en qué se basa y cómo podemos cambiar a nuestro gusto estos permisos.

Permisos Linux RWX

Qué significan los «números» o «letras» en los permisos de Linux

Los permisos en Linux se pueden reflejar tanto con letras como con números. Ambas formas son correctas e igual de funcionales. Sin embargo, lo más intuitivo son las letras, ya que nos permiten comprender mejor de qué permiso se trata. Los números son más usados por usuarios avanzados, al ser más rápido de especificar.

Cada archivo o carpeta que nos encontremos al listar el contenido de un directorio irá indicado con un símbolo:

  • – indica que se trata de un archivo.
  • d indica que se trata de un directorio.
  • l indica que se trata de un enlace (acceso directo, por ejemplo).

Y cada archivo o directorio lleva tres niveles de permisos diferentes: uno para el propietario, otro para los usuarios del mismo grupo que el propietario, y otro para los demás usuarios. A su vez, cada uno de estos niveles puede tener 3 valores diferentes en función del grado de privilegios que especifiquemos en el sistema. Estos valores podemos especificarlos por las siguientes letras:

  • r – permiso de lectura (permite abrirlo, copiarlo, etc).
  • w – permiso de escritura (permite modificarlo, borrarlo, etc).
  • x – permiso de ejecución (si es binario, permite ejecutarlo).

De esta manera, tenemos que elegir los permisos (rwx) para cada nivel de usuario (dueño, grupo y otros).

Por ejemplo, supongamos que tenemos un archivo llamado «softzone» en nuestro disco duro con Linux. Vamos a configurar que el propietario tenga control total sobre él (rwx), los miembros del grupo solo lectura (r–) y los demás usuarios ningún permiso (—). En ese caso, los permisos serían los siguientes:

Tipo Propietario Grupo Otros
- rwx r-- ---

Cómo funcionan los permisos de Linux mediante números

Si no nos gustan las letras, también podemos usar el código numérico para cambiar los permisos de Linux. Este código no es más que el valor del código binario según los permisos que estén o no usados. Supongamos que cada uno de los permisos ocupa una posición en binario. En este caso, rwx equivaldría a 111 binario, que en decimal sería 7. r– sería 100 en binario, o lo que es lo mismo, 4 en decimal. Y — sería 000 en binario, 0 en decimal.

Siguiendo estas directrices, los permisos del ejemplo del caso anterior sería 740. El primer dígito corresponde al propietario del archivo, el segundo al grupo y el tercero a todos los demás. Los números de permisos que nos podemos encontrar serán los siguientes:

  • 0 = —
  • 1 = –x
  • 2 = -w-
  • 3 = -wx
  • 4 = r-
  • 5 = r-x
  • 6 = rw-
  • 7 = rwx

Algunos ejemplos de esto serían:

  Propietario Grupo Otros Resultado
Código de letras rwx r-- --- rwxr-----
Código numérico 7 4 0 740
---
Código de letras r-- --- --- r--------
Código numérico 4 0 0 400
---
Código de letras r-x rw- --x r-xrw---x
Código numérico 5 6 1 561

Ambos sistemas son igual de efectivos, y cada uno tiene sus ventajas e inconvenientes. Mientras que las letras nos permiten tener ver más claro el nivel de permisos, los números son mucho más simples, aunque hay que pensar un poco más.

Cómo cambiar los permisos en Linux

Para cambiar los permisos en Linux es necesario usar el comando «chmod». Este comando debe ir acompañado del nuevo nivel de privilegios que queramos darle al nuevo archivo o directorio, así como de un «+» si lo que vamos a hacer es darle ese nuevo permiso, o un «-» si lo que vamos a hacer es quitarle permisos. También podemos cambiar los permisos del «grupo» y «otros usuarios» añadiendo los parámetros «g» y «o» respectivamente. El propietario se indicaría sin este parámetro, o con una «u». Y si queremos cambiar los permisos a todos a la vez, podemos usar el parámetro «a».

Partiendo de un archivo «softzone», estos son algunos ejemplos para cambiar los permisos usando el código de letras:

  • chmod +rwx softzone -> añade permiso de lectura, escritura y ejecución al propietario.
  • chmod g+rwx softzone -> añade permiso de lectura, escritura y ejecución al grupo del usuario propietario.
  • chmod o+rwx softzone -> añade permiso de lectura, escritura y ejecución al resto de usuarios.
  • chmod -x softzone -> quita el permiso de ejecución al propietario.
  • chmod g-wx softzone -> quita los permisos de escritura y ejecución al grupo del usuario propietario.
  • chmod o-rwx softzone -> quita todos los permisos al resto de usuarios.
  • chmod a+r -> añade permiso de lectura a propietario, grupo y resto de usuarios.

También podemos usar el código numérico para cambiar el nivel de permisos de cualquier archivo de la siguiente manera:

  • chmod 777 softzone -> permiso rwx para propietario, grupo y resto de usuarios.
  • chmod 700 softzone -> permiso rwx para propietario, y grupo y usuarios sin permisos.
  • chmod 327 softzone – permiso de escritura y ejecución para propietario, escritura para grupo y rwx para resto de usuarios.

Para cambiar los privilegios a un directorio, los comandos son los mismos, con la diferencia de que en vez del nombre del archivo tendremos que especificar el directorio en cuestión.

Cambiar el propietario o grupo de un archivo o directorio

Además de cambiar los permisos de los archivos o los directorios, si tenemos problemas también podemos cambiar nosotros el propietario o el grupo al que pertenece cualquiera de ellos.

Por ejemplo, podemos cambiar el grupo de un archivo (o directorio) usando el comando «chgrp groupname archivo» (cambiando «groupname» por el nombre del grupo que queremos añadir, y «archivo» por el nombre del fichero o el directorio que corresponda).

También podemos cambiar quién es el propietario de cualquier archivo. Para ello, usaremos el comando «chown» seguido del nombre del nuevo propietario del archivo, y el nombre del archivo o directorio sobre el que realizar el cambio.



Fuente: SoftZone https://ift.tt/3tCebhS Autor: Rubén Velasco