Como Linux es un sistema multiusuario , permite que más de un usuario tenga acceso al sistema al mismo tiempo si está conectado a una red o a Internet. Los usuarios remotos pueden iniciar sesión a través de ssh (shell seguro) y operar la computadora.
En un entorno multiusuario de este tipo, es necesario garantizar la precisión operativa a los usuarios. Para que no se permita que las acciones de un usuario bloqueen el sistema, ni un usuario interfiera con los archivos que pertenecen a otro usuario.
Aunque las medidas de seguridad en el sistema Linux son extremadamente buenas. Pero aún así, existe una laguna. Estos son permiso de archivo problemas basados en que llegan cuando a un usuario no se le otorga el permiso correcto para archivos y directorios. En el artículo de hoy, comprenderemos los permisos de archivos en Linux y cómo definir y establecer permisos a través de varios métodos.
Permiso de archivo en Linux
En Linux, el permiso de archivo se otorga a los siguientes grupos:
- Propietario: La persona que creó el archivo y, por lo tanto, determina qué acción puede realizar el propietario en el archivo o directorio.
- Grupo: Esto podría incluir varios usuarios a los que se les otorga acceso y permiso al archivo.
- Otros: Esto incluye a todos los demás usuarios y representa qué acción pueden realizar en el archivo en particular.
Tipos de permisos en Linux
En Linux, el acceso a archivos se define mediante tres términos:acceso de lectura, escritura y ejecución.
- Leer: Muestra que el usuario tiene acceso para ver el archivo.
- Escribe: Muestra que el usuario tiene acceso para modificar el archivo.
- Ejecutar: Muestra que el usuario tiene acceso para ejecutar el archivo.
Permiso de lectura de archivos
Si ejecutamos el siguiente comando en nuestra terminal, podemos entender cómo funciona esto:
$ ls -l
Con este comando, puede verificar el permiso de archivo y directorio en su sistema. Aquí el 10 la parte resaltada de dígitos indica el tipo de archivo y el permiso. En estos 10 caracteres, el primer carácter indica el tipo de archivo. Los siguientes son algunos tipos de archivos:
- – : Representa un archivo normal
- d : Representa un directorio
- l : Representa un enlace simbólico
- c : Representa un archivo especial de caracteres. Dispositivos que manejan datos como un flujo de bytes, como una terminal.
- b : Representa un archivo especial de bloque. Dispositivos que manejan datos en bloques como discos duros.
Ahora, los nueve caracteres restantes representan los atributos del archivo, también denominados modo de archivo. Esto muestra el permiso de archivo otorgado al propietario del archivo, grupos y otros.
Aquí, después del primer carácter los 3 caracteres rwx representan los derechos de un propietario, los tres siguientes de grupos y los tres últimos de otros. Aquí:
- r : permite abrir y leer un archivo
- w : permite abrir y modificar un archivo
x: permite abrir y ejecutar un archivo
Aquí, en el ejemplo anterior, se muestra un directorio. El propietario tiene derecho a leer, escribir y ejecutar, mientras que el grupo y otros tienen derecho a leer y ejecutar únicamente. No tienen derecho a realizar cambios en él.
Ahora, para leer el permiso de un archivo en particular, se puede usar "ls -l" junto con el nombre de un archivo o nombre de directorio específico:
$ ls -l [name of file or directory]
En el siguiente ejemplo, usamos el comando para verificar la información sobre /etc/passwd archivo.
Aquí, el primer carácter indica que es un archivo normal. El propietario tiene derecho a leerlo y modificarlo. Mientras que los grupos y otros solo pueden leer el archivo, no pueden modificarlo ni ejecutarlo.
Cambiar permiso de archivo
A veces, desea cambiar el permiso y otorgar a otros algún derecho sobre su archivo o directorio. Para ello disponemos de un comando llamado “chmod ”. Este comando solo puede ser utilizado por el propietario del archivo o el superusuario de cd para otorgar otro acceso al archivo.
Chmod se usa de dos maneras para otorgar acceso y permiso, una explícitamente y otra mediante el uso de referencias binarias.
Concesión explícita del permiso:
Aquí, para esto, debe tener en cuenta los símbolos utilizados para los diferentes grupos de permisos:
- u- representa al propietario
- g- representar al grupo
- o- representar a otros
- a- representa a todos los usuarios anteriores
Junto con estos operadores + y - se utilizan para dar permiso de r, w, x (leer, escribir y ejecutar) el archivo o un directorio. Para entender esto mejor, crearemos un archivo de texto en el directorio del Escritorio y cambiaremos su permiso usando chmod. Ejecute los siguientes comandos:
Primero necesitamos ir al Escritorio:
$ cd Desktop
Ahora, aquí necesitamos crear un archivo de tipo texto usando el toque:
$ touch filename.txt
Ahora, para verificar la información del archivo, ejecute “ls -l”:
$ ls -l
Ahora el comando "ls -l" mostró la información sobre todos los archivos en el Escritorio. Aquí el archivo que creamos está presente y muestra que el propietario y el grupo solo tienen acceso para leerlo y escribirlo, mientras que otros solo pueden leerlo.
Vamos a cambiar los derechos de los demás y darles el derecho a ejecutar el archivo también. Para ello ejecute el siguiente comando:
$ chmod o+x [filename]
Aquí, dimos acceso a otros mediante el uso de su símbolo representativo junto con el operador +. Si desea otorgar a otros todos los derechos de lectura, escritura y ejecución, ejecute el siguiente comando:
$ chmod o+rwx [filename]
Ahora, después de eso, si ejecuta el comando "ls -l", le mostrará los cambios que realizó.
Referencia binaria para otorgar el permiso:
También se puede dar permiso usando las referencias binarias usando tres dígitos que representan lectura, escritura y ejecución:
r =4 - w =2
x =1
Aquí, si desea dar acceso, simplemente agregue el número. Por ejemplo, "chmod 760 filename.txt" muestra que el propietario tiene derecho a leer, escribir y ejecutar el archivo. El grupo tiene derecho a leer y escribir el archivo mientras que otros no tienen derecho. Vamos a demostrarlo, ejecute el siguiente comando:
$ chmod 760 filename.txt
Después de ejecutar el comando, si ejecuta "ls -l", verá que el propietario ahora tiene derecho a leer, escribir y ejecutar. Considerando que, al grupo se le otorga el derecho de solo leer y escribir el archivo y todo el permiso se le quita a los demás. De esta forma funcionan las referencias binarias.
Cambiar propietario de archivos y grupos
Una cosa más que puede hacer es cambiar el propietario del archivo y hacer que otra persona sea el propietario de su archivo dado. Esto se hace a través de “chown ” junto con sudo:
$ sudo chown owner:group [filename]
Ahora, después de eso, si ejecuta "ls -l", verá que se ha otorgado la propiedad del archivo a otro usuario llamado "ubuntuuser":
De esta forma puedes ceder la propiedad a otros usuarios de tu archivo o directorio.
Conclusión
El hecho de que Linux sea multiusuario tiene sus ventajas y desventajas, una de ellas es el permiso de archivos. En este artículo, aprendimos sobre los permisos de archivo en Linux, cuáles son los diferentes grupos en Linux, los diferentes modos de permiso y cómo otorgar el permiso a cada grupo de permisos. Además, aprendemos diferentes formas de otorgar permisos y cómo otorgar propiedad a otros usuarios en Linux.
Esto es extremadamente útil porque a veces no desea que otros tengan acceso a su archivo. Para que sus acciones no puedan afectarlo a usted ni a todo el sistema en sí.