Permisos-y-derechos-en-Linux

Los permisos y derechos en Linux, son aspectos muy importantes, por esto, debes tener clara toda la información relacionada con ellos.

¿Qué son los permisos y derechos en Linux?

Los permisos y derechos en Linux, son los encargados de establecer los usuarios que pueden acceder a los archivos, bien sea para modificarlos o para eliminarlos.

Son muy importantes, sobre todo en el caso de que el sistema operativo sea trabajado por varios usuarios. De esta forma, te aseguras de cada uno ingrese al que le corresponde, y no exista riesgo de que la información se extravíe, o esté en manos de extraños.

Además, con ellos también disminuyen las probabilidades que se generen errores que, muchas veces son díficiles de solucionar. Esto se debe a que, establecen desde el inicio las funciones de cada usuario para que sean ejecutadas correctamente.

Es por esto que, Linux se ha convertido en uno de los mejores sistemas operativos que existe en la actualidad. Y es que, como inicialmente su diseño se realizó con el objetivo de trabajar en la red, la seguridad que ofrece es mucho mayor que la de otros.

En Linux los permisos o también conocidos como derechos que tiene un usuario sobre un archivo se dividen en tres niveles, cada uno con detalles importantes que mencionamos, a continuación:

  • Los permisos del propietario.
  • Permisos del grupo.
  • Permisos de otros.

Antes de conocer los detalles de cada uno es importante comprender que, en los sistemas de red, como en el caso de Linux, existe una figura denominada como »administrador, superusuario o root». Esta persona es la única que puede crear nuevos usuarios, o eliminarlos, y así mismo, establece todas las características de cada uno.

Todos los privilegios son establecidos para el directorio conocido como HOME, y también para todos los usuarios que el administrador indique.

Ahora bien, teniendo claro todo lo anterior, es momento de mencionar los detalles de cada uno de los niveles:

Permisos del propietario

Este es el usuario que se encarga de crear un archivo o carpeta en el directorio de trabajo, es decir, en HOME o en otro directorio en donde tenga permisos y derechos.

Cada uno de los usuarios tiene permiso de crear la cantidad de archivos que desee en su directorio, y, será la única persona que tenga acceso a estos datos. Además, el parámetro que lo identifica es »u».

Permisos del grupo

Cada usuario debe pertenecer a un grupo de trabajo, así en el momento que se realice alguna gestión, todos los usuarios que formen parte del grupo también la reciben.

Es más sencillo realizar cualquier modificación de esta forma, que en cada uno de los usuarios. La letra que identifica este permido es la »g».

Permisos de otros

Este permiso es el que se otorga a cualquier otra persona que tenga archivos en un directorio pero que no sea parte del grupo de trabajo. En otras palabras, todos los usuarios que no pertenecen al grupo del archivo, pero que si se encuentran en otros. El parámetro para identificarlos en la letra »o».

Ahora bien, para identificar los permisos dentro del sistema debes abrir la terminal, y colocar: ls-l. Despúes debe aparecer el listado de todo el contenido que se encuentra dentro del directorio de HOME.

En tu pantalla debe aparecer una imagen similar a la anterior, en donde la primera columna de color azul, representa el nombre del usuario, mientras que, la otra es el grupo al que pertenece.

En el caso anterior tienen el mismo nombre, sin embargo, no siempre sucede así, muchas veces el propietario tiene un nombre y el grupo otro.

¿Cuáles son los tipos de permisos en GNU/Linux?

Lo primero que debes saber es que, así como existen diferentes tipos de permisos en Linux, también hay distintos archivos que puedes encontrar dentro del sistema.

Cada uno de los archivos se va a identificar con 10 caracteres, que también son conocidos como máscara.

El primero que encuentras de izquierda a derecha representa el tipo de archivo, mientras que, los otros 9 y organizados en tres bloques hacen referencia a los permisos. Teniendo en cuenta lo anterior, el primer caracter, se puede ver de la siguiente forma:

Archivo: –

Directorio: d

Archivo de bloques especiales: b

Archivo de caracteres especiales: c

Archivo de vínculo o enlace: I

Archivo especial de cauce: p

En relación a los 9 caracteres restantes, estos hacen referencia a los permisos que tienen sobre el archivo el propietario, grupo u otros. Y pueden ser los siguientes:

  • Sin permiso: –
  • Permiso de lectura: r
  • Permiso de escritura: w
  • Permiso de ejeución: x

Ahora, teniendo en cuenta lo anterior se mencionan los tipos de permisos que se conocen hasta el momento en el sistema operativo:

Permiso para archivos

  • Lectura: Es un permiso que le permite a los usuarios ver todo el contenido de un archivo.
  • Escritura: Te da la opción de realizar diferentes cambios al archivo.
  • Ejecución: Te permite ejecutar el archivo sin problemas.

Permisos para directorios

  • Lectura: Te da el permiso de conocer los archivos y directorios que contiene el directorio principal.
  • Escritura: Permite crear archivos en el directorio. Pueden ser archivos nuevos u ordinarios, incluso se pueden borrar, mover, editar, copiar, etc.
  • Ejecución: Te permite visualizar todo el contenido del directorio, y copiar archivos. En caso de que también tengas los permisos de escritura y lectura, también se pueden llevar a cabo diferentes ediciones en los archivos y directorios.

Ten en cuenta que, si no tienes el permiso de ejecución no vas a poder ingresar al directorio, ni siquiera si utilizas el comando »cd», porque será negada la acción.

Gestión de los permisos y derechos en Linux

Gestionar los permisos y derechos es muy importante, porque desde el momento que creas un usuario dentro del sistema, al mismo tiempo se le otorgan unos privilegios. Sin embargo, estos no serán por completo, por ejemplo, no deben tener acceso a los mismos permisos que los del superusuario.

Además, el administrador tiene el poder para realizar cualquier modificación en los permisos y derechos, adaptandolos para cada operación o trabajo. Generalmente, los utilizados son los siguientes:

  • Para los archivos: – rw -r– r–
  • Para directorios: -rwx rwx rwx

Estos son los permisos necesarios para crear nuevos archivos, editarlos o incluso hasta borrarlos. Pero, no son los mismos para todas las distribuciones del sistema.

Por ejemplo, en la imagen puedes ver que aparece un listado en donde se lee »Error Rails.pdf», y si observas la primera columna, aparece como: -rw-r–r–. Para comprender esto, a continuación, lo detallamos:

  • Tipo: Archivo.
  • El usuario tiene el permiso de leer y escribir el archivo.
  • El grupo al que pertenece el usuario solo tiene el permiso de leer el archivo, pero no de modificarlo.
  • Los otros usuarios solo pueden leer el archivo.

Asignación de permisos

El comando chmod es el que permite realizar diferentes modificaciones en la máscara, para que al mismo tiempo también se puedan llevar a cabo operaciones en los archivos o directorios.

Ahora bien, si no se especifica el usuario al que se le desea realizar la modificación va a afectar a todos por igual. Por esto, es muy importante establecer una asignación de permisos correcta.

La asignación de permisos, debe darse únicamente teniendo en cuenta los tres tipos de niveles mencionados anteriormente: el propietario, dueño y los otros.

También recuerda que, la asignación se debe hacer de acuerdo a los tres permisos que existen: (r) permiso de lectura, (w) de escritura, y (x) de ejecución. Por ejemplo:

  • Para dar permiso de ejecución al propietario: chmod u+x komodo.sh
  • Eliminar el permiso de ejecución en todos los usuarios: chmod -x komodo.sh
  • Permiso de lectura y escritura a todos los usuarios: chmod o + r + w komodo sh.
  • Activar solo el permiso de lectura al grupo del archivo: chmod g + r -w -x komodo.sh

Permisos con el formato numérico octal

También existe otra forma en la que puedes usar el comando chmod y asignar permisos, sin embargo, para muchos usuarios suele ser complicada.

Lo primero que debes saber es que, la combinación de los valores de cada uno de los grupos va a formar un número octal. El bit x es 20, es decir, 1, bit w 21 igual a 2, el bit r 22 es 4.

  • r: 4
  • w: 2
  • x: 1

La combinación de estos bits encendidos o apagados, va a desarrollar ocho posibles combinaciones de valores:

  • No tienes ningún permiso: – – – 0
  • Permiso de ejecución: – -x 1
  • Permiso de escritura: – w – 2
  • Permisos de escritura y ejecución: – w x 3
  • Permiso de lectura: r – – 4
  • Permisos de lectura y ejecución: r- x 5
  • Permisos de lectura y escritura: r w – 6
  • Todos los permisos: r w x

Después de que se combinan los permisos del usuario, grupo y otros, también se tiene como resultado un número con tres cifras, que forman el permiso del archivo o directorio.

  • El propietario tiene todos los permisos de lectura y escritura: rw –– – 600.
  • El propietario puede leer, escribir y ejecutar, mientras que, el grupo y los otros solo pueden ejecutar: rwx –x –x 711.
  • El propietario tiene el permiso de lectura, escritura y ejecución. El grupo y otros pueden leer y ejecutar el archivo: rwx r-x r-x 755.
  • Cualquier persona puede leer, escribir y ejecutar el archivo: rwx rwx rwx 777.
  • El propietario puede leer el archico, pero no modificarlo ni ejecutarlo: r– –– — 400.
  • El propietario tiene el permiso de leer y escribir, mientras que, el grupo puede leer el archivo, y otras personas no tienen acceso a nada: rw- r- –– 640.

Permisos especiales

Los permisos especiales son los conocidos como SUID (Set User ID), SGID (Set Group ID), y el de persistencia (sticky bit).

setuid

El bit setuid se puede asignar a los ficheros ejecutables, y hace que, cuando un usuario ejecute el fichero, el proceso tenga todos los permisos del propietario. Un ejemplo de esto sería:

  • El bit que se asigna es »s», y para lograr vincularlo on un fichero, debe escribirse lo siguiente: chmod u+s/bin/su.
  • Y en caso de que desees eliminarlo, tienes que escribir: chmod u-s/bin/su.

setgid

Este permiso te da la oportunidad de tener todos los privilegios del grupo que se le asigna al fichero, incluso también puede ser asignado a los directorios.

Es uno de los permisos más utilizados, sobre todo cuando se trata de varios usuarios que pertenecen a un mismo grupo y necesitan trabajar con algunos recursos de un directorio.

Para asignarlo, debes escribir lo siguiente: chmod g+s/carpeta_compartida. Y, para eliminarlo, coloca: chmod g-s/carpeta_compartida.

sticky

Es un permiso que se asigna a los directorios en donde todos los usuarios tienen acceso, de esta forma, se evita que uno de ellos elimine los ficheros o directorios en su interior. El ejemplo más claro de esto es el siguiente:

  • Entiendo que, el bit está representado con la letra »t». Para asignarlo debes colocar: chmod o+t/tmp.
  • Ahora bien, para eliminarlo debes escribir: chmod o-t/tmp.

Por Redaccion