Configura los permisos de archivos y carpetas en tu servidor Linux

Configura los permisos de archivos y carpetas en tu servidor Linux

Sergio De Luz

Cuando tenemos un servidor NAS basado en Linux, o directamente un sistema operativo como Debian o Ubuntu donde tenemos instalados diferentes servicios para acceder a los archivos y carpetas en red local por parte de otros usuarios, controlar el acceso de lectura, escritura y ejecución a los archivos y carpetas que compartimos es algo fundamental. Debemos tener en cuenta que, cuando compartir vía Samba o FTP nuestras carpetas y archivos, es posible que la autenticación de los clientes sea con un usuario sin privilegios, por tanto, deberemos organizar correctamente los usuarios y grupos para proporcionar los permisos necesarios y no más.

Los permisos en Linux son un conjunto de reglas y configuraciones que determinan qué acciones pueden realizar los usuarios y grupos sobre los archivos y directorios del sistema. Estos se dividen en diferentes formatos, los cuales hacen que la seguridad de los sistemas aumente y el control sea mayor. Y aunque en un principio este sistema de permisos pueda parecer complicado, podrás ir conociendo diferentes ejemplos para que puedas ponerlo en práctica por tu cuenta en Linux..

 

¿Qué son los permisos de archivos?

En Linux, los permisos de archivos y carpetas son un componente importante para gestionar la seguridad y el acceso a la información almacenada en el sistema de archivos de tu equipo. Estos permisos definen quién puede leer, escribir o ejecutar un archivo o directorio y desempeñan un papel fundamental en la protección de la integridad del sistema y la privacidad de los datos.

Debes saber que los permisos se dividen en tres categorías principales y que cada categoría tiene tres tipos de permisos: lectura, escritura y ejecución. Para conocerlos con mayor detalle, estos son los tres tipos que se pueden asignar a cualquier archivo o directorio en este sistema operativo:

  • Permiso de lectura: este permiso da la posibilidad a que cualquier usuario tenga la oportunidad de leer el archivo o si se trata de un directorio, que esté listado el contenido.
  • Permiso de escritura: en este caso, se permite a los usuarios que puedan realizar modificaciones a los diferentes archivos o, en el caso de los directorios, a que pueda añadir más archivos o hasta modificar el directorio en cuestión.
  • Permiso de ejecución: se da la oportunidad a que un usuario con este tipo de permiso pueda ejecutar el archivo en sí o, si se trata de un directorio, que tenga acceso a este sin problemas.

Además, hay que tener en cuenta que, según la categoría (el tipo de usuario), pueden ser:

  • Propietario: El propietario es el usuario que creó el archivo o directorio. Este tiene el control total sobre los permisos y puede modificarlos según sus necesidades. Los permisos del propietario afectan directamente al usuario que creó el archivo.
  • Grupo: En Linux, los usuarios se organizan en grupos y un archivo o directorio puede pertenecer a uno de estos grupos. Los permisos asignados al grupo afectan a todos los usuarios que forman parte de ese grupo, permitiéndoles acceder y modificar archivos en conjunto.
  • Otros: Este conjunto de permisos se aplica a cualquier usuario que no sea el propietario ni esté en el grupo especificado. Los permisos otorgados o denegados a otros usuarios aseguran que el sistema permanezca protegido contra accesos no autorizados.

La combinación de estas tres categorías y sus respectivos permisos crea un sistema que permite el control sobre quién puede hacer qué con un archivo o directorio. Además, hay que tener en cuenta que los tipos de permisos y los tipos de usuarios se pueden asignar como uno quiera. Por lo que es un detalle que se debe conocer. El uso principal de los permisos en Linux es garantizar la seguridad y la privacidad de los datos, al tiempo que permite la colaboración y el acceso necesario para los usuarios autorizados.

 

¿Para qué cambiar los permisos?

Los sistemas operativos son multiusuario, podemos acceder de forma simultánea con varios usuarios registrados localmente en nuestro sistema operativo, por tanto, es muy importante realizar una revisión periódica de los permisos existentes. Muchas veces queremos evitar que otros usuarios del equipo modifiquen los archivos, pero no sabemos cómo conseguirlo. En esta ocasión, os vamos a enseñar o cómo asignar permisos a carpetas y archivos en Linux.

Y es que el hecho de controlar el acceso a los datos es uno de los puntos más importantes. De ahí que sea vital establecer diferentes permisos y la propiedad de los archivos o directorios. Siempre con el objetivo de conocer quiénes tienen la opción de acceder a dicha información y así poder proteger los posibles datos sensibles que se tengan.

Imagina que tienes un servidor Samba o FTP y diferentes grupos de usuarios y también usuarios, si todos los usuarios tuvieran permisos de administrador, podrían leer, escribir y ejecutar cualquier archivo que tengamos en estas carpetas compartidas. Por este motivo es tan importante gestionar adecuadamente los permisos de los usuarios, grupos y otros para los archivos y las carpetas, para que solamente accedan a determinados archivos los usuarios o grupos de usuarios que nosotros queramos, y nadie más, aunque puedan autenticarse en el sistema a través del servicio Samba o FTP.

Para que todo sea mucho más claro, vamos a dividir este artículo en varios apartados que permitirán entender mejor en todo momento de qué se está hablando. Hay que aclarar que todo lo que explicaremos será a través de la línea de comandos, es decir, tendremos que sacar una consola o bien conectarnos vía SSH a nuestro servidor Linux. Si no estás familiarizado con este componente de Linux tal vez este sea el mejor momento, ya que el nivel de dificultad de lo que vamos a hablar es bajo.

 

Tipos de cuenta

Durante el post, vamos a tratar diferentes términos sobre las cuentas de usuario en Linux. Por lo cual cabe indicar los tipos que podemos encontrar dentro de este sistema operativo.

  • Root: Se trata de la cuenta con los privilegios más altos en el sistema operativo. Puede llevar a cabo cualquier función de administración.
  • Usuarios normales: Estos tienen pocos permisos, y son sobre los que se aplican todos los que podemos crear para gestionar los accesos.
  • Usuarios de ejecución: Son usuarios que no pueden realizar un login, simplemente se dedican a lanzar procesos, entre otros.
 

Tipos de permisos

Puede parecer simple, pero todo puede llegar a tener cierta complejidad a la hora de asignar los permisos en Linux. Todos ellos se pueden aplicar de diferentes formas. Tanto en red, con diferentes usuarios en un servidor, como en loca. Donde varios usuarios pueden manejar un mismo PC, con algunos recursos compartidos entre sí.

  • (r): Es el primer permiso que podemos encontrarnos. Este nos da la opción de que un usuario pueda ver el contenido al que quiere acceder.
  • (w): Nos da la posibilidad de otorgar poder sobre sobre un archivo. De esta forma podrá ser modificado, al igual que un directorio.
  • (x): Permite a los usuarios ejecutar diferentes parámetros dentro del equipo.
  • (-): Nos indica que el usuario no tiene ningún tipo de permiso sobre el recurso de red o contenido compartido.
 

Niveles de permisos

Los diferentes niveles de permisos en Linux, se encargan de definir algunos parámetros en cuanto a las posibilidades de uno o más usuarios sobre un determinado archivo. En este caso, hay uno que es para el propietario, mientras que el otro se usa para los usuarios del mismo grupo que el propietario. Por otro lado, hay un tercer permiso que se usa para los demás usuarios.

Para que te hagas una idea más clara de cuáles son los niveles de permisos que hay, estos se dividen en tres secciones.

  • Permisos de propietario: Se trata del usuario que crea el archivo desde su equipo. Linux asigna a este usuario el acceso a la información creada, y la posibilidad de realizar cambios sobre el mismo. Este se identifica con el parámetro «u».
  • Permisos de grupo: Cuando un usuario pertenece a un grupo dentro del directorio de Linux, quiere decir que se le otorgan los mismos permisos que tienen los demás usuarios que pertenecen a ese mismo grupo. El sistema identifica esto con el parámetro «g».
  • Permisos del resto de usuarios: En este caso nos referimos a los usuarios que no son los creadores del archivo, ni pertenecen al grupo que hemos indicado anteriormente. Los permisos y accesos de estos usuarios los puede establecer el propietario. El sistema los establece con el parámetro «o».
 

Formarse en Linux

Linux es uno de los sistemas más utilizados actualmente en el mundo. Y conocer sobre la administración de este sistema, no solo en permisos, puede abrir muchas puertas. Y lo primero que vamos a conseguir, es ser más polivalentes a nivel profesional. Esto es muy importante en el sector tecnológico, y así poder ofrecer mejores soluciones a todos los usuarios. Así como estar formándose en un sistema operativo muy seguro, donde podemos trabajar con una buena arquitectura. Y siendo una opción que utilizan gran cantidad de empresas, es una muy buena oportunidad en el mundo laboral para casi cualquier usuario que decida emprender en este mundo.

Por otro lado, al ser un sistema gratuito, hace que sea muy accesible. Lo cual facilita mucho la formación. En internet nos podemos encontrar gran cantidad de cursos, incluido con posibilidad de obtener un certificado. Y con los cuales nos podemos llegar a especializar en muchos ámbitos diferentes, tanto con permisos sobre los usuarios como estamos viendo en este post, como con otras actividades relacionadas.

 

Impacto en el rendimiento

En los sistemas operativos basados en Linux, es muy importante establecer los permisos en archivos y directorios para mantener la seguridad y prevenir accesos no autorizados. En cambio, es muy importante entender que generar todos estos permisos puede llegar a afectar al rendimiento del sistema. Ya que, al fin y al cabo, se trata de más operaciones que el equipo debe hacer. Cuando un usuario trata de acceder a alguno de estos contenidos, el sistema debe realizar una verificación sobre el usuario para ver si tiene los permisos adecuados para acceder a ese recurso. Si estos no están correctamente configurados, el sistema tendrá que realizar más verificaciones. Afectando al rendimiento del sistema. Si bien esto es algo que afecta en menor medida, puede no ser así cuando hay miles de usuarios.

Por lo cual, establecer los permisos adecuados afecta al rendimiento del sistema. Cuando cambiamos permisos en archivos o directorios, el sistema debe realizar una actualización de la información en sus bases de datos de permisos. Siendo esto algo que puede tardar un poco, dependiendo la cantidad de permisos que establezcamos. Pero esto es algo que puede incluso afectar a la productividad del sistema. Si los permisos establecidos son demasiado restrictivos, pueden generar dificultades a los usuarios. En estos casos, es necesario realizar un ajuste de los mismos, y proporcionar unos accesos más claros y menos restrictivos.

Lo más importante siempre será mantener la seguridad en el sistema. Si los permisos son inadecuados, los usuarios podrán acceder a contenido que igual no deberían poder. Y esto, es algo que pone en riesgo la seguridad del todo el sistema, y donde se pueden producir problemas muy variados. Por lo cual, a pesar de que establecer permisos es algo que afecta al rendimiento, se trata de una medida muy necesaria para garantizar la seguridad en el mismo.

 

Permisos más complejos

Los permisos en Linux pueden alcanzar cotas de complejidad muy altas. Esto es algo que se consigue implementando diferentes estrategias y técnicas, que sirven para que la seguridad sea un factor mucho más importante y distintivo dentro del sistema. Esto se puede hacer de diferentes formas.

  • Implementar el principio de privilegio mínimo: Este principio se basa en otorgar sólo los permisos necesarios para que los usuarios o grupos realicen sus tareas específicas. Evitar dar permisos innecesarios ayuda a reducir el riesgo de acceso no autorizado o cambios no deseados en los recursos.
  • Utilizar ACL (Listas de Control de Acceso): Las ACL permiten un mayor nivel de control sobre los permisos en Linux, ya que permiten definir permisos más detallados para usuarios y grupos específicos. Con las ACL, es posible otorgar o denegar permisos de acceso individualmente para diferentes usuarios y grupos, aumentando así la complejidad de los permisos.
  • Utilizar grupos de usuarios: Crear grupos de usuarios y asignar permisos a esos grupos puede facilitar la administración de permisos y aumentar la complejidad. Los usuarios pueden ser miembros de diferentes grupos y, dependiendo de los permisos asignados a cada grupo, tendrán diferentes niveles de acceso a los recursos.
  • Limitar el acceso a recursos sensibles: Es recomendable restringir el acceso a recursos sensibles, como archivos de configuración o directorios críticos del sistema, solo a usuarios o grupos autorizados. Esto se puede lograr mediante la asignación adecuada de permisos y el uso de herramientas como SELinux (Security-Enhanced Linux) para aplicar políticas de seguridad adicionales.
  • Monitorizar y auditar los cambios: Es importante establecer mecanismos de monitorización y auditoría para realizar un seguimiento de los cambios en los permisos de los recursos. Esto ayuda a identificar posibles infracciones de seguridad o cambios no autorizados, permitiendo tomar acciones correctivas de manera oportuna.
 

El comando chmod

Para que se puedan cambiar los permisos en Linux hay que recurrir al comando chmod. Y para esto, también hay que tener en cuenta que el comando debe estar acompañado del nuevo nivel de privilegios que se quiera dar al nuevo directorio o archivo en cuestión. Además de un ‘+’ o ‘-‘, en función de si se quiere quitar o dar nuevos permisos. Pero, antes de esto, hay que conocer más a fondo en qué consiste este comando y su finalidad.

 

Para qué sirve

El comando chmod (change mode) tiene como finalidad cambiar los permisos de usuario, grupo y otros a los archivos y carpetas, podremos cambiar los permisos de lectura, escritura y ejecución de todos los archivos y carpetas que nosotros deseemos, además, podremos hacer una modificación recursiva de una determinada carpeta, de esta forma, todos los archivos y carpetas de su interior también se verán afectados por este cambio. La modificación recursiva es de mucha ayuda cuando tenemos que modificar los cientos o miles de archivos que tengamos dentro de una carpeta, y también todo lo que hay por debajo en el árbol de directorios.

El comando chmod está disponible tanto en sistemas operativos Linux como también Unix, por tanto, si nuestro servidor está basado en Unix como un FreeBSD, podremos cambiar los permisos de archivos y carpetas de la misma forma que lo hacemos en un Debian o Ubuntu. Este comando es ampliamente utilizado por cualquier administrador de sistemas para configurar adecuadamente los accesos a sus servidores.

Hoy en día la mayoría de los servidores NAS como QNAP, ASUSTOR o Synology, hacen uso de un sistema operativo propio pero que está basado en Linux, por lo que en estos sistemas también se encuentra el comando chmod para cambiar los permisos de los archivos y carpetas del servidor.

Aunque estos fabricantes disponen de interfaces gráficas de usuario para poner o quitar los diferentes permisos, es muy importante conocer el comportamiento interno del propio comando para entender bien qué significa lo que estamos viendo. Además, en estos sistemas operativos también tenemos la posibilidad de entrar vía SSH para ejecutar nosotros mismos los comandos que queramos.

La sintaxis de utilización de chmod es la siguiente:

chmod [modificadores] permisos fichero/directorio

Primero ejecutaremos la orden chmod, a continuación, podremos incorporar diferentes modificadores, por ejemplo, el «-R» para hacerlo recursivo a todas las carpetas y archivos dentro de una misma carpeta, a continuación, debemos poner los permisos nuevos que queremos aplicar, y finalmente, pondremos la ruta absoluta o relativa del archivo o carpeta que queremos modificar los permisos. Si vamos a ejecutar la orden recursiva, debemos tener en cuenta que todos los permisos de archivos y carpetas que estén contenidos en el directorio actual que indiquemos y todos los que haya por debajo, se modificarán al ejecutarlo.

Un detalle muy importante, es que en algunos casos es totalmente necesario ejecutar chmod con permisos de superusuario, ya que solamente el usuario administrador del sistema operativo podrá cambiar los permisos. Esto se puede conseguir iniciando sesión como root, o directamente utilizando el popular comando «sudo» para ascender a superusuario temporalmente con el comando a ejecutar. Este comportamiento es lógico porque estamos cambiando una configuración del sistema operativo muy crítica como son los permisos de usuarios de archivos y directorios.

 

Ejemplos de uso de chmod para cambiar los permisos

Lo primero que vamos a hacer es crear una carpeta nueva y archivos en su interior, con el objetivo de que practiquéis con estas carpetas y archivos, y no modifiquéis los permisos predeterminados de las carpetas ya existentes en vuestro sistema operativo. Por este motivo, vamos a realizar los preparativos para que las pruebas sean un éxito. Antes de empezar, todos los comandos que vais a ejecutar se harán con diferentes usuarios, con el objetivo de comprobar correctamente los permisos que vayamos a aplicar. Para pasar de un usuario a otro en sistemas Linux, basta con abrir la consola y ejecutar «su nombre_usuario«, introducimos la contraseña y automáticamente accederemos al terminal como si fuéramos el otro usuario.

Es muy importante fijarnos bien con qué usuario estamos logueados, para saber con qué usuario estamos simplemente debemos ejecutar la orden «whoami» y automáticamente nos aparecerá el nombre de usuario que estamos probando. Es muy importante que cuando realicemos cambios importantes de permisos, comprobemos que los usuarios acceden a lo que deberían acceder y también no puedan acceder a lo que realmente no deberían acceder.

 

Preparando un sistema para las pruebas

Lo primero que vamos a hacer es crear una carpeta en el directorio actual de cada usuario, generalmente está ubicado en /home/nombre_usuario.

mkdir CarpetaRedesZone

Posteriormente, nos moveremos dentro de esta carpeta y crearemos un archivo:

cd CarpetaRedesZone

touch archivoDePrueba

Para finalizar escribiremos el siguiente comando para subir de nivel y salir de la carpeta que hemos creado:

cd ..

Con esto ya tenemos nuestro sistema preparado para empezar con las pruebas de cambios de permisos.

 

Obtener información de ficheros y carpetas

Si quieres listar los archivos existentes en una carpeta solo tendremos que escribir el siguiente comando:

ls

Con esto solo obtenemos el nombre de los archivos o carpetas del lugar de la ruta en el que nos encontramos. Para obtener mucho más detalle tendremos que escribir lo siguiente:

ls -l

Nosotros hemos ejecutado este comando en nuestro servidor, aquí podéis ver el aspecto de la salida:

Este comando ofrece la siguiente información (en orden de izquierda a derecha):

  • Tipo de archivo (archivo muestra «-» y directorio muestra una «d»).
  • Permisos de lectura, escritura y ejecución, tanto para usuario, grupo y otros.
  • Usuario propietario.
  • Grupo propietario del archivo.
  • Tamaño
  • Última fecha de modificación.
  • Nombre

Una vez que ya hemos creado la carpeta y archivos, así como hemos visto la salida del comando «ls -l», vamos a interpretar los permisos que tienen los ficheros o carpetas.

 

Interpretar los permisos que tiene un fichero o carpeta

Anteriormente habéis visto que los diferentes archivos tienen estos permisos:

drwxr-xr-x 3 bron bron 4096 may 6 13:19 Descargas

En esta ristra ofrecida veremos que, para cada archivo o carpeta, hay una serie de letras en primer lugar. Estos son los permisos que posee el archivo y se leen de la siguiente forma:

otorgar-permisos-fichero-o-carpeta-linux

En el anterior ejemplo, tenemos los permisos «drwxr-xr-x», esto significa lo siguiente:

  • d: directorio
  • rwx: permisos de lectura, escritura y ejecución para el usuario propietario del directorio.
  • r-x: permisos de lectura y ejecución para el grupo propietario del directorio.
  • r-x: permisos de lectura y ejecución para otros del directorio.

Si queremos que solo el usuario propietario pueda leer, escribir y ejecutar un determinado archivo, tendríamos que ver lo siguiente:

-rwx------

Es decir, podremos otorgar permisos a los siguientes roles:

  • Usuario propietario.
  • Grupo al que pertenece el propietario
  • Resto de usuarios del equipo.
 

Cómo cambiar los permisos de archivos y carpetas

El comando que debemos utilizar para realizar esta tarea es chmod, esta será la herramienta con el que podremos añadir o quitar permisos, tanto a un archivo como a una carpeta existente en el sistema de fichero de nuestro sistema operativo. Para realizar esta configuración con chmod, podremos realizarlo de dos formas diferentes, utilizando letras que es más «humano» pero más largo, y también números en formato «octal», que es mucho más rápido. Esta última forma es nuestra favorita por la rapidez, aunque, es posible que en un primer momento te guste más utilizar letras, porque se entiende mucho mejor.

Los sistemas de archivos de Unix, servidores Linux, cada archivo cuenta con sus permisos los cuales se regulan en base a tres clases:

  • Propietario (User): De forma general cualquier usuario que crea un archivo en el sistema, se define como propietario de forma automática. Esto se puede modificar con el comando chown.
  • Grupo (Group): Este se encarga de agrupar a varios usuarios. Aquí cada cuenta funciona a modo de subordinada al grupo inicial de forma automática, pero a la vez los usuarios pueden pertenecer a más grupos.
  • Otros usuarios (Other): Se encarga de comprender a los usuarios que no son propietarios de ningún archivo, ni forman parte de ningún grupo.
 

Letras

En este modo se asignan letras a todas las clases de usuarios y a todos los permisos de accesos posibles. Si se combinan, estos pueden definirse de forma sencilla en cuanto a los permisos que otorgar o retirar, y a que usuarios. Si vas a utilizar letras para añadir o quitar permisos de una carpeta o archivo, debemos tener en cuenta los roles, símbolos y los permisos. Existen tres tipos de roles:

  • u: usuario
  • g: grupo
  • o: otros
  • a: todos (all), si necesitas aplicar el mismo permiso a usuario, grupos y otros, usa «a» para ahorrar tiempo.

Dos tipos de símbolos, que usaremos si la asignación de los permisos se realiza en modo simbólico, para vincular estos a los usuarios se usarán los siguientes símbolos.

  • +: añadir permisos
  • -: quitar permisos
  • =: especifica los permisos fijados.

Tres tipos de permisos que podemos asignar a los usuarios.

  • r: lectura: Permite a los usuarios la lectura de un determinado archivo o directorio.
  • w: escritura: Da al usuario la posibilidad de modificar el archivo sobre el cual se le han dado permisos.
  • x: ejecución: Otorga la posibilidad de ejecutar un archivo.

A continuación, os ofrecemos una serie de ejemplos para que veáis de qué estamos hablando:

Dar permisos completos de lectura, escritura y ejecución a todos los roles, tanto usuario como grupo como otros:

chmod ugo+rwx archivoDePrueba

Quitar permisos de lectura, escritura y ejecución a otros usuarios:

chmod o-rwx archivoDePrueba

Al final, todo radica en combinar los roles, símbolos y permisos en función de la necesidad que tengamos.

 

Basado en octal usando números

El comando chmod también es compatible con otra nomenclatura que os vamos a enseñar y que está basada en octal.

Imaginad que los permisos del propietario (r w x) están identificados por 0 y 1. Es decir, si por ejemplo queremos dar permisos de lectura y escritura solamente (y no permisos de ejecución) sería: 110. Si queremos solo el permiso de lectura sería: 100.

Por lo tanto, teniendo en cuenta todas las posibilidades existentes obtenemos los siguientes valores:

  • 0 0 0: 0
  • 0 0 1: 1
  • 0 1 0: 2
  • 0 1 1: 3
  • 1 0 0: 4
  • 1 0 1: 5
  • 1 1 0: 6
  • 1 1 1: 7

Es decir, esto es algo extrapolable tanto al usuario, grupo como a otros.

El formato del comando sería el siguiente:

chmod xxx archivoDePrueba

Donde las x se cambiarán por un número en función de los permisos que se asigne.

Por ejemplo, si queremos dar permisos totales al propietario y dejar sin ningún permiso a los otros dos roles (grupo y otros), el comando sería:

chmod 700 archivoDePrueba

Si queremos dar permisos de lectura y escritura a todos los roles entonces será:

chmod 666 archivoDePrueba

Con estas dos formas tan sencillas podremos fijar los permisos de archivos y carpetas en nuestro equipo Linux. Además, tendremos al alcance de nuestra mano el comando ls -l para obtener la información en tiempo real de los ficheros y carpetas del sistema. Os recomendamos visitar el manual oficial de chmod para Linux, para ello, ejecutaremos en consola lo siguiente:

man chmod  

Otras opciones de chmod

Independientemente de si usamos la notación simbólica o la octal, los usuarios tendrán a su disposición una amplia lista de opciones en lo que se refiere a la asignación de los derechos de acceso a los archivos y diferentes directorios. Estos se insertan en la línea de comandos entre el comandó en sí y los permisos o modos. Estas opciones pueden ser:

  • -R: Recursive. Este cambio de derechos se aplicará a todos los archivos y directorios dentro de una misma carpeta.
  • -v: Verbose. Después de ejecutar un comando, se ejecutará un análisis de todos los archivos que se procesaron en la asignación.
  • -c: Changes. Esta opción hace que se muestre un diagnóstico, pero solo para los archivos que sufrieron algún tipo de modificación.
  • -f: Silent. Se silenciarán todos los mensajes de error.

Por ejemplo, aquí podemos ver un comando donde el cambio de los derechos, se hace de forma recursiva a los subdirectorios y archivos que se encuentran en una carpeta.

chmod -R 700 archivoDePrueba  

Más comandos para Linux

Además de la anterior opción chmod para Linux, hay otras dos opciones más que están disponibles. Estos comandos que verás a continuación cumplen otras funciones. Por lo que también tendrás disponible una explicación clara de qué son y, sobre todo, ejemplos para que puedas ponerlos en práctica.

Y es que, hay que tener en cuenta que hay otras maneras disponibles para modificar permisos en este sistema operativo. Además de usar el comando chmod, también existe la posibilidad de utilizar chown, chgrp y setfacl. Por lo que son otros comandos que se deben tener muy en cuenta dentro de este software a la hora de cambiar los permisos.

 

Qué es el comando chown

Como has podido ver, los archivos o directorios de Linux tienen un propietario asignado, y para cambiar esto está el comando chown. Este se trata de una abreviatura de «change owner» (Cambiar de propietario). Esta se encuentra disponible con varias utilidades para los superusuarios, de forma que se puede cambiar la propiedad del contenido que se encuentre en el equipo o sistema.

 

Para qué sirve

Si un usuario realiza cambios en un archivo, el superusuario podrá dar uso de chown para cambiar estas propiedades. En todo caso, al realizar un cambio de usuario propietario, el grupo no se cambiará con él. Incluso si el nuevo fichero pertenece a un grupo diferente, el grupo propietario seguirá siendo el anterior. La sintaxis es la siguiente:

sudo chown usuario ruta/fichero

Pero también es posible que este cambio sea sobre un directorio, por lo cual, si queremos que se aplique en orden, y de forma recursiva para todos los ficheros, esto nos garantiza que los directorios y subdirectorios, tendrán el cambio de propietario correspondiente.

sudo chown -R usuario ruta/directorio

Además, en el momento de comprobar que el cambio de propiedad se ha realizado correctamente, se puede usar el comando ls -l. Además de que el propio comando se puede modificar para cambiar la propiedad y el grupo. Al igual que hay que tener en cuenta que no solo se puede dar uso a este comando para archivos, también para directorios, tanto para modificar únicamente el propietario en sí como el grupo o ambos. Y no hay que olvidar que esta opción se puede utilizar para enlaces simbólicos o blandos. Por lo que las alternativas que ofrece son variadas.

 

Comando chgrp

Este comando es similar a chown, pero nos permite realizar el cambio de grupo propietario, lo cual también podemos hacer con chown, como veremos más adelante. Es decir, en vez de cambiar los permisos, este comando permite modificar por nuestra cuenta el propietario o el grupo al que pertenece cualquiera de esto.

Aunque, al igual que ocurre con el anterior, si realizamos el cambio de grupo propietario de un archivo o fichero, el usuario propietario no cambiará.

Para poner a prueba esto mismo, ten en cuenta que esto se puede realizar de la siguiente forma:

sudo chgrp grupo ruta/archivo

En el caso de que sea un directorio, también es posible hacer que los cambios se apliquen de forma recursiva. De nuevo usaremos -R para realizar esta tarea.

sudo chgrp -R grupo ruta

Este comando al ser tan similar a chown, incluso comparten algunas funciones de cambio de grupo, pues hay posibilidad de hacerlo usando chown. Como, por ejemplo:

sudo chown :grupo ruta/archivo

Por otro lado, también se puede modificar el grupo de un archivo o directorio al usar el comando ‘chgrp groupname archivo’. Ten en cuenta que ‘groupname’ se tiene que cambiar por el nombre que se quiera añadir y ‘archivo’ por el que tiene el fichero o directorio en cuestión.

Además de las anteriores opciones, lo cierto es que este comando tiene otra serie de funciones avanzadas que se pueden aprovechar como es el caso de:

  • -h: con esta opción tienes la oportunidad de modificar el grupo de los enlaces simbólicos en vez del archivo o directorio al que están enlazados en ese momento.
  • -from: en este caso, al usar esta opción más avanzada puedes modificar el grupo solamente si ya forma parte de un grupo específico.
  • -reference: podrás cambiar el grupo de un directorio o archivo que esté basado en las propiedades de otro archivo o directorio.

Por tanto, queda claro que este comando en particular de Linux ofrece diferentes alternativas con las que es posible modificar cuando sea necesario el grupo de un directorio o archivo. Y es que, tanto a través de su sintaxis básica como de las opciones más avanzadas, se ofrece al usuario una herramienta realmente útil para que se pueda tener un mayor control sobre los permisos de acceso.

 

Comando setfacl

En este caso, se trata de otros de los comandos que sirven dentro del campo de los permisos. Ni más ni menos que se puede usar setfacl en aquellos momentos en los que sea necesario modificar los permisos en las listas de control de acceso, ya sea de un archivo o de un directorio en particular:

  • setfacl [opciones] archivo

Además de este comando, también hay que tener en cuenta el comando getfacl, el cual puede mostrar información de los permisos que tienen tanto ficheros como carpetas.

 

Linux vs Windows

Uno de los eternos debates acerca de los sistemas operativos, tiene que ver con cual es mejor entre Linux y Windows. Son muy diferentes, y esto es algo que llega incluso a simples permisos sobre carpetas o archivos. En este caso nos podemos encontrar algunas diferencias bastante significativas.

Ten en cuenta que en Linux cada uno de los archivos y carpetas cuentan con un propietario y un grupo, sobre los cuales se permite establecer los permisos específicos para cada uno de ellos. En cambio, en Windows para los permisos de archivos y carpetas se establecen a través del sistema de control de acceso de Windows. Los permisos se dividen en tres categorías que son los de usuario, los de grupo y los permisos especiales. Tanto los de grupo como de usuario, se pueden asignar para disponer de un control de acceso a archivos y carpetas. Mientras que los especiales son para controlar el acceso a recursos del sistema. Como registros de Windows o herramientas de administración.

Una de las diferencias clave, es que en Linux los permisos se establecen para cada uno de los archivos y carpetas de forma individual. Cosa que es diferente en Windows, donde se establecen para una carpeta, y estos se aplican a todos los archivos y subcarpetas que se encuentran dentro de la misma. Esto quiere decir, que en Windows resulta más sencillo poder aplicar permisos, pero justo esto hace que sea más complicado establecer permisos más personalizados para archivos y carpetas individuales.

Por otro lado, en Linux el usuario root tiene acceso a todos los archivos y carpetas del sistema. En cambio, en Windows el usuario administrador tiene la gran mayoría de los archivos y carpetas, pero no todos ellos. Esto quiere decir que, en Linux, cobra mucha importancia mantener la seguridad del usuario root. Para ello es recomendable utilizar contraseñas fuertes que no se utilicen para más cometidos. Mientras que, en el sistema operativo de Microsoft, debemos utilizar cuentas de usuarios normales para la gran mayoría de las tareas de administración. La cuenta de Administrador, quedaría solo para cuando sea totalmente necesaria.

 

Implementación de Inteligencia Artificial

Sea el sistema que sea, controlar los permisos es un apartado crítico dentro del organigrama de las empresas. Por eso se trata de algo que se debe no solo organizar correctamente, sino disponer de una buena optimización para que todo funcione de forma fluida. Es aquí donde entran las inteligencias artificiales. Estas se están implementando y probando en un sin fin de sistemas y tareas, y la asignación de permisos no es diferente. Con estas herramientas, se pueden aprovechar los algoritmos de aprendizaje para analizar diferentes apartados. Todo con la finalidad de optimizar y mejorar el control de los permisos en las carpetas del sistema.

  • Análisis de patrones: Con una IA es posible realizar análisis de patrones, incluso en los históricos de acceso. Esto permite identificar comportamientos de usuarios, y así poder establecer patrones de acceso a las carpetas. Por otro lado, nos ayuda a encontrar posibles intentos de acceso no autorizado a los contenidos.
  • Recomendaciones: En muchas ocasiones el conocer cómo aplicar los permisos es complicado. Por lo cual podemos aprovechar el análisis de patrones previo, para que la IA nos recomiende los permisos que se deben aplicar. De este modo, se podrán establecer rápidamente las políticas de permisos más coherentes y necesarias.
  • Administración centralizada: Con el uso de inteligencias artificiales, podemos disponer de un sistema mucho más centralizado para la administración de los permisos. Por lo cual todo el sistema se va a beneficiar, al igual que los usuarios. Ya que todo el proceso de asignación será mucho más rápido.
  • Automatización: Automatizar procesos siempre es algo que se estudia con detenimiento en todas las organizaciones. Con una IA puede ser posible reducir el trabajo manual, minimizando así los más que posibles errores humanos que se pueden cometer. Permitiendo así, una administración más eficiente de todos los permisos.
 

SUID, SGID y persistencia

Aparte de todos los permisos que hemos visto, existen otras tres opciones a considerar. Son SUID y SGID, los cuales están relacionados con los usuarios en el caso de SUID, con los grupos con SGID y los bits de permisos con persistencia. Para entender esto, debemos conocer el uso de passwd, el cual se utiliza para cambios de contraseña.

  • SUID: En este caso en lugar de las «x» correspondientes nos encontramos con la «s» (suid). Esto se utiliza para poder utilizar el comando passwd por otros usuarios, y no solo por el usuario root. En este caso, el bit SUID obliga al archivo en cuestión a ejecutarse como si fuera el usuario propietario del mismo, y no como si se tratara del usuario propietario en cuestión. Por lo cual, da la posibilidad de ejecutar un comando sobre archivos en propiedad de otros usuarios.
  • SGID: Su funcionamiento es igual al anterior, solo que en este caso el involucrado es el grupo al que corresponde el archivo. Si un usuario pertenece a un grupo, a la vez que existe un binario en otro grupo y este tiene el bit SGID activado, el usuario que se encuentra en el otro grupo puede ejecutar el comando. De igual forma, se muestra con una «s» en lugar de «x».
  • Bit de persistencia: Se aplica a los directorios como pueden ser /tmp, y se establecen con una «t». Está orientado a directorios compartidos entre varios usuarios, donde solo el propietario puede eliminarlo. Por lo cual los demás usuarios sí van a poder ver el contenido y ejecutarlo, pero no podrán eliminarlo o realizar modificaciones. En el caso de no tener el bit de persistencia activado, podrían eliminarlo o modificarlo todos los usuarios.

Todo esto nos ayuda a generar permisos especiales, no limitados a los más comunes de lectura, escritura y ejecución. Estos son más precisos, y están muy enfocados a la seguridad de que estos no se pierdan o se modifiquen por error, lo cual puede suponer pérdida de información. En todo caso, lo más recomendable es establecer copias de seguridad.

También os recomendamos investigar sobre los comandos getfacl y setfacl para configurar listas de control de acceso más avanzadas en Linux, y no utilizar solamente los usuarios, grupos y otros, esto nos permitirá una mayor granularidad, aunque es claramente mucho más avanzado que el popular chmod. En general, si realizas una buena organización de usuarios y grupos, no deberías necesitar el uso de estas listas de control de acceso.

¡Sé el primero en comentar!
Logo redeszone.net
Navega gratis con cookies…

Navegar por redeszone.net con publicidad personalizada, seguimiento y cookies de forma gratuita. i

Para ello, nosotros y nuestros socios i necesitamos tu consentimiento i para el tratamiento de datos personales i para los siguientes fines:

Las cookies, los identificadores de dispositivos o los identificadores online de similares características (p. ej., los identificadores basados en inicio de sesión, los identificadores asignados aleatoriamente, los identificadores basados en la red), junto con otra información (p. ej., la información y el tipo del navegador, el idioma, el tamaño de la pantalla, las tecnologías compatibles, etc.), pueden almacenarse o leerse en tu dispositivo a fin de reconocerlo siempre que se conecte a una aplicación o a una página web para una o varias de los finalidades que se recogen en el presente texto.

La mayoría de las finalidades que se explican en este texto dependen del almacenamiento o del acceso a la información de tu dispositivo cuando utilizas una aplicación o visitas una página web. Por ejemplo, es posible que un proveedor o un editor/medio de comunicación necesiten almacenar una cookie en tu dispositivo la primera vez que visite una página web a fin de poder reconocer tu dispositivo las próximas veces que vuelva a visitarla (accediendo a esta cookie cada vez que lo haga).

La publicidad y el contenido pueden personalizarse basándose en tu perfil. Tu actividad en este servicio puede utilizarse para crear o mejorar un perfil sobre tu persona para recibir publicidad o contenido personalizados. El rendimiento de la publicidad y del contenido puede medirse. Los informes pueden generarse en función de tu actividad y la de otros usuarios. Tu actividad en este servicio puede ayudar a desarrollar y mejorar productos y servicios.

La publicidad que se presenta en este servicio puede basarse en datos limitados, tales como la página web o la aplicación que esté utilizando, tu ubicación no precisa, el tipo de dispositivo o el contenido con el que está interactuando (o con el que ha interactuado) (por ejemplo, para limitar el número de veces que se presenta un anuncio concreto).

  • Un fabricante de automóviles quiere promocionar sus vehículos eléctricos a los usuarios respetuosos con el medioambiente que viven en la ciudad fuera del horario laboral. La publicidad se presenta en una página con contenido relacionado (como un artículo sobre medidas contra el cambio climático) después de las 18:30 h a los usuarios cuya ubicación no precisa sugiera que se encuentran en una zona urbana.
  • Un importante fabricante de acuarelas quiere realizar una campaña publicitaria en Internet para dar a conocer su última gama de acuarelas con la finalidad de llegar tanto a artistas aficionados como a profesionales y, a su vez, se evite mostrar el anuncio junto a otro contenido no relacionado (por ejemplo, artículos sobre cómo pintar una casa). Se detectará y limitará el número de veces que se ha presentado el anuncio a fin de no mostrarlo demasiadas veces.

La información sobre tu actividad en este servicio (por ejemplo, los formularios que rellenes, el contenido que estás consumiendo) puede almacenarse y combinarse con otra información que se tenga sobre tu persona o sobre usuarios similares(por ejemplo, información sobre tu actividad previa en este servicio y en otras páginas web o aplicaciones). Posteriormente, esto se utilizará para crear o mejorar un perfil sobre tu persona (que podría incluir posibles intereses y aspectos personales). Tu perfil puede utilizarse (también en un momento posterior) para mostrarte publicidad que pueda parecerte más relevante en función de tus posibles intereses, ya sea por parte nuestra o de terceros.

  • En una plataforma de redes sociales has leído varios artículos sobre cómo construir una casa en un árbol Esta información podría añadirse a un perfil determinado para indicar tuinterés en el contenido relacionado con la naturaleza, así como en los tutoriales de bricolaje (con el objetivo de permitir la personalización del contenido, de modo que en el futuro, por ejemplo, se te muestren más publicaciones de blogs y artículos sobre casas en árboles y cabañas de madera).
  • Has visualizado tres vídeos sobre la exploración espacial en diferentes aplicaciones de televisión. Una plataforma de noticias sin relación con las anteriores y con la que no has tenido contacto en el pasado crea un perfil basado en esa conducta de visualización marcando la exploración del espacio como un tema de tu posible interés para para otros vídeos.

El contenido que se te presenta en este servicio puede basarse en un perfilde personalización de contenido que se haya realizado previamente sobre tu persona, lo que puede reflejar tu actividad en este u otros servicios (por ejemplo, los formularios con los que interactúas o el contenido que visualizas), tus posibles intereses y aspectos personales. Un ejemplo de lo anterior sería la adaptación del orden en el que se te presenta el contenido, para que así te resulte más sencillo encontrar el contenido (no publicitario) que coincida con tus intereses.

  • Has leído unos artículos sobre comida vegetariana en una plataforma de redes sociales. Posteriormente has usado una aplicación de cocina de una empresa sin relación con la anterior plataforma. El perfil que se ha creado sobre tu persona en la plataforma de redes sociales se utilizará para mostrarte recetas vegetarianas en la pantalla de bienvenida de la aplicación de cocina.
  • Has visualizado tres vídeos sobre remo en páginas web diferentes. Una plataforma de video, no relacionada con la página web en la que has visualizado los vídeos sobre remo, pero basandose en el perfil creado cuando visistaste dicha web, podrá recomendarte otros 5 vídeos sobre remo cuando utilices la plataforma de video a través de tu televisor .

La información sobre qué publicidad se te presenta y sobre la forma en que interactúas con ella puede utilizarse para determinar lo bien que ha funcionado un anuncio en tu caso o en el de otros usuarios y si se han alcanzado los objetivos publicitarios. Por ejemplo, si has visualizado un anuncio, si has hecho clic sobre el mismo, si eso te ha llevado posteriormente a comprar un producto o a visitar una página web, etc. Esto resulta muy útil para comprender la relevancia de las campañas publicitarias./p>

  • Has hecho clic en un anuncio en una página web/medio de comunicación sobre descuentos realizados por una tienda online con motivo del “Black Friday” online y posteriormente has comprado un producto. Ese clic que has hecho estará vinculado a esa compra. Tu interacción y la de otros usuarios se medirán para saber el número de clics en el anuncio que han terminado en compra.
  • Usted es una de las pocas personas que ha hecho clic en un anuncio que promociona un descuento por el “Día de la madre”de una tienda de regalos en Internet dentro de la aplicación de una web/medio de comunicación. El medio de comunicación quiere contar con informes para comprender con qué frecuencia usted y otros usuarios han visualizado o han hecho clic en un anuncio determinado dentro de la aplicación y, en particular, en el anuncio del “Día de la madre” para así ayudar al medio de comunicación y a sus socios (por ejemplo, las agencias de publicidad) a optimizar la ubicación de los anuncios.

La información sobre qué contenido se te presenta y sobre la forma en que interactúas con él puede utilizarse para determinar, por ejemplo, si el contenido (no publicitario) ha llegado a su público previsto y ha coincidido con sus intereses. Por ejemplo, si hasleído un artículo, si has visualizado un vídeo, si has escuchado un “pódcast” o si has consultado la descripción de un producto, cuánto tiempo has pasado en esos servicios y en las páginas web que has visitado, etc. Esto resulta muy útil para comprender la relevancia del contenido (no publicitario) que se te muestra.

  • Has leído una publicación en un blog sobre senderismo desde la aplicación móvil de un editor/medio de comunicación y has seguido un enlace a una publicación recomendada y relacionada con esa publicación. Tus interacciones se registrarán para indicar que la publicación inicial sobre senderismo te ha resultado útil y que la misma ha tenido éxito a la hora de ganarse tu interés en la publicación relacionada. Esto se medirá para saber si deben publicarse más contenidos sobre senderismo en el futuro y para saber dónde emplazarlos en la pantalla de inicio de la aplicación móvil.
  • Se te ha presentado un vídeo sobre tendencias de moda, pero tu y otros usuarios habéis dejado de visualizarlo transcurridos unos 30 segundos. Esta información se utilizará para valorar la duración óptima de los futuros vídeos sobre tendencias de moda.

Se pueden generar informes basados en la combinación de conjuntos de datos (como perfiles de usuario, estadísticas, estudios de mercado, datos analíticos) respecto a tus interacciones y las de otros usuarios con el contenido publicitario (o no publicitario) para identificar las características comunes (por ejemplo, para determinar qué público objetivo es más receptivo a una campaña publicitaria o a ciertos contenidos).

  • El propietario de una librería que opera en Internet quiere contar con informes comerciales que muestren la proporción de visitantes que han visitado su página y se han ido sin comprar nada o que han consultado y comprado la última autobiografía publicada, así como la edad media y la distribución de género para cada uno de los dos grupos de visitantes. Posteriormente, los datos relacionados con la navegación que realizas en su página y sobre tus características personales se utilizan y combinan con otros datos para crear estas estadísticas.
  • Un anunciante quiere tener una mayor comprensión del tipo de público que interactúa con sus anuncios. Por ello, acude a un instituto de investigación con el fin de comparar las características de los usuarios que han interactuado con el anuncio con los atributos típicos de usuarios de plataformas similares en diferentes dispositivos. Esta comparación revela al anunciante que su público publicitario está accediendo principalmente a los anuncios a través de dispositivos móviles y que es probable que su rango de edad se encuentre entre los 45 y los 60 años.

La información sobre tu actividad en este servicio, como tu interacción con los anuncios o con el contenido, puede resultar muy útil para mejorar productos y servicios, así como para crear otros nuevos en base a las interacciones de los usuarios, el tipo de audiencia, etc. Esta finalidad específica no incluye el desarrollo ni la mejora de los perfiles de usuario y de identificadores.

  • Una plataforma tecnológica que opera con un proveedor de redes sociales observa un crecimiento en los usuarios de aplicaciones móviles y se da cuenta de que, en funciónde sus perfiles, muchos de ellos se conectan a través de conexiones móviles. La plataforma utiliza una tecnología nueva para mostrar anuncios con un formato óptimo para los dispositivos móviles y con un ancho de banda bajo a fin de mejorar su rendimiento.
  • Un anunciante está buscando una forma de mostrar anuncios en un nuevo tipo de dispositivo. El anunciante recopila información sobre la forma en que los usuarios interactúan con este nuevo tipo de dispositivo con el fin de determinar si puede crear un nuevo mecanismo para mostrar la publicidad en ese tipo de dispositivo.

El contenido que se presenta en este servicio puede basarse en datos limitados, como por ejemplo la página web o la aplicación que esté utilizando, tu ubicación no precisa, el tipo de dispositivo o el contenido con el que estás interactuando (o con el que has interactuado) (por ejemplo, para limitar el número de veces que se te presenta un vídeo o un artículo en concreto).

  • Una revista de viajes, para mejorar las experiencias de viaje en el extranjero, ha publicado en su página web un artículo sobre nuevos cursos que ofrece una escuela de idiomas por Internet. Las publicaciones del blog de la escuela se insertan directamente en la parte inferior de la página y se seleccionan en función de la ubicación no precisa del usuario (por ejemplo, publicaciones del blog que explican el plan de estudios del curso para idiomas diferentes al del país en el que este te encuentras).
  • Una aplicación móvil de noticias deportivas ha iniciado una nueva sección de artículos sobre los últimos partidos de fútbol. Cada artículo incluye vídeos alojados por una plataforma de streaming independiente que muestra los aspectos destacados de cada partido. Si adelantas un vídeo, esta información puede utilizarse para determinar que el siguiente vídeo a reproducir sea de menor duración.

Se puede utilizar la localización geográfica precisa y la información sobre las características del dispositivo

Al contar con tu aprobación, tu ubicación exacta (dentro de un radio inferior a 500 metros) podrá utilizarse para apoyar las finalidades que se explican en este documento.

Con tu aceptación, se pueden solicitar y utilizar ciertas características específicas de tu dispositivo para distinguirlo de otros (por ejemplo, las fuentes o complementos instalados y la resolución de su pantalla) en apoyo de las finalidades que se explican en este documento.

O sin cookies desde 1,67€ al mes

Por solo 1,67€ al mes, disfruta de una navegación sin interrupciones por toda la red del Grupo ADSLZone: adslzone.net, movilzona.es, testdevelocidad.es, lamanzanamordida.net, hardzone.es, softzone.es, redeszone.net, topesdegama.com y más. Al unirte a nuestra comunidad, no solo estarás apoyando nuestro trabajo, sino que también te beneficiarás de una experiencia online sin cookies.