Permisos en Linux

Linux es un sistema operativo multiusuario, por lo que tiene seguridad para evitar que las personas accedan a los archivos confidenciales de los demás. 

Introducción

Cuando ejecuta un comando «ls», no se le brinda ninguna información sobre la seguridad de los archivos, porque de manera predeterminada, «ls» solo enumera los nombres de los archivos. Puede obtener más información utilizando una «opción» con el comando «ls». Todas las opciones comienzan con un ‘-‘. Por ejemplo, para ejecutar «ls» con la opción «lista larga», escribiría ls -l 

Cuando lo haga, cada archivo aparecerá en una línea separada en formato largo. Hay un ejemplo en la ventana de abajo. 
 

ls -l

Hay mucha información en esas líneas. 
 

  1. El primer carácter casi siempre será un ‘-‘, lo que significa que es un archivo, o una ‘d’, lo que significa que es un directorio.
  2. Los siguientes nueve caracteres (rw-r–r–) muestran la seguridad; hablaremos de ellos más tarde.
  3. La siguiente columna muestra el propietario del archivo. En este caso soy yo, mi ID de usuario es «aditya314».
  4. La siguiente columna muestra el propietario del grupo del archivo. En mi caso, quiero darle acceso especial a estos archivos al grupo de personas «aditya314».
  5. La siguiente columna muestra el tamaño del archivo en bytes.
  6. La siguiente columna muestra la fecha y la hora en que se modificó el archivo por última vez.
  7. Y, por supuesto, la última columna da el nombre del archivo.

Descifrar los caracteres de seguridad requerirá un poco más de trabajo. 

Comprender los permisos de seguridad

Primero, debe pensar en esos nueve caracteres como tres conjuntos de tres caracteres (vea el cuadro en la parte inferior). Cada uno de los tres caracteres «rwx» se refiere a una operación diferente que puede realizar en el archivo. 
 

---     ---     ---
rwx     rwx     rwx
user    group   other

Leer, escribir, ejecutar y –

La ‘r’ significa que puede «leer» el contenido del archivo. 
La ‘w’ significa que puede «escribir» o modificar el contenido del archivo. 
La ‘x’ significa que puede «ejecutar» el archivo. Este permiso se otorga solo si el archivo es un programa. 
Si alguno de los caracteres «rwx» se reemplaza por un ‘-‘, entonces ese permiso ha sido revocado. 

Usuario, grupo y otros

usuario: los permisos de usuario se aplican solo al propietario del archivo o directorio, no afectarán las acciones de otros usuarios. 
grupo: los permisos de grupo se aplican solo al grupo que se ha asignado al archivo o directorio, no afectarán las acciones de otros usuarios. 
otros: los permisos de otros se aplican a todos los demás usuarios del sistema; este es el grupo de permisos que más desea ver. 

Lectura de los permisos de seguridad

Por ejemplo, considere que los permisos del usuario para algunos archivos son “rw-” como los primeros tres caracteres. Esto significa que el propietario del archivo (“aditya314”, es decir, yo) puede “leerlo” (mirar su contenido) y “escribirlo” (modificar su contenido). No puedo ejecutarlo porque no es un programa; es un archivo de texto. 

Si «rx» es el segundo conjunto de 3 caracteres, significa que los miembros del grupo «aditya314» solo pueden leer y ejecutar los archivos. 

Los últimos tres caracteres muestran los permisos otorgados a cualquiera que tenga un ID de usuario en este sistema Linux. Digamos que tenemos el permiso («r-«). Esto significa que cualquiera en nuestro mundo Linux puede leer, pero no puede modificar el contenido de los archivos ni ejecutarlos. 

Cambio de permisos de seguridad

El comando que usa para cambiar los permisos de seguridad en los archivos se llama «chmod», que significa «modo de cambio», porque los nueve caracteres de seguridad se denominan colectivamente el «modo» de seguridad del archivo. 

  1. El primer argumento que le da al comando «chmod» es ‘u’, ‘g’, ‘o’. Usamos: 
    u para usuario 
    g para grupo 
    o para otros, 
    también puedes usar una combinación de ellos (u,g,o). 
    Esto especifica cuál de los tres grupos desea modificar. 
     
  2. Después de esto, use 
    un ‘+’ para agregar 
    un ‘-‘ para eliminar 
    y un «=» para asignar un permiso.
  3. Luego, especifique el permiso r, w o x que desea cambiar. 
    Aquí también puede usar una combinación de r,w,x. 
    Esto especifica cuál de los tres permisos «rwx» desea modificar
  4. use puede usar comas para modificar más permisos
  5. Finalmente, el nombre del archivo cuyo permiso está cambiando.

Un ejemplo hará esto más claro. 
Por ejemplo, si desea otorgar permiso de «ejecución» al mundo («otro») para el archivo «xyz.txt», debe comenzar escribiendo 
 

chmod o

Ahora escribiría un ‘+’ para decir que está «agregando» un permiso. 
 

chmod o+

Luego escribiría una ‘x’ para decir que está agregando el permiso de «ejecutar». 
 

chmod o+x

Finalmente, especifique qué archivo está cambiando. 
 

chmod o+x xyz.txt

Puedes ver el cambio en la siguiente imagen. 
 

chmod o+x xyz.txt

También puede cambiar varios permisos a la vez. Por ejemplo, si desea quitar todos los permisos a todos, debe escribir 
 

chmod ugo-rwx xyz.txt

El código anterior revoca todos los permisos de lectura (r), escritura (w) y ejecución (x) de todos los usuarios (u), grupos (g) y otros (o) para el archivo xyz.txt que resulta de esto. 
 

multiple use

Otro ejemplo puede ser este: 
 

chmod ug+rw,o-x abc.mp4

El código anterior agrega permisos de lectura (r) y escritura (w) tanto para el usuario (u) como para el grupo (g) y revoca el permiso de ejecución (x) de otros (o) para el archivo abc.mp4. 

Algo como esto: 
 

chmod ug=rx,o+r abc.c

asigna permisos de lectura (r) y ejecución (x) tanto al usuario (u) como al grupo (g) y agrega permiso de lectura a otros para el archivo abc.c. 

Puede haber numerosas combinaciones de permisos de archivo que puede invocar, revocar y asignar. Puedes probar algunos en tu sistema Linux. 

Las notaciones octales

También puede usar notaciones octales como esta. 
 

octal table

Usando la tabla de notaciones octales en lugar de ‘r’, ‘w’ y ‘x’. Cada notación octal de dígitos se puede utilizar para cualquiera de los grupos ‘u’, ‘g’, ‘o’. 

Entonces, el siguiente trabajo es el mismo. 
 

chmod ugo+rwx [file_name]
chmod 777 [file_name]

Ambos proporcionan permiso completo de lectura, escritura y ejecución (código = 7) para todo el grupo. 

Igual es el caso de este.. 
 

chmod u=r,g=wx,o=rx [file_name]
chmod 435 [file_name]

Ambos códigos dan permiso de lectura (código=4) al usuario, escritura y ejecución (código=3) para el grupo y lectura y ejecución (código=5) para otros. 

E incluso esto… 
 

chmod 775 [file_name]
chmod ug+rwx,o=rx [file_name]

Ambos comandos otorgan todos los permisos (código = 7) al usuario y al grupo, lectura y ejecución (código = 5) para otros. 

Más aprendizaje

El modelo de seguridad predeterminado de Linux es un poco inflexible. Para otorgar acceso especial (como privilegios de modificación) a un grupo de personas, debe hacer que el administrador del sistema cree un grupo con esas personas en él. Además, si desea otorgar un conjunto diferente de privilegios de acceso (como acceso de lectura) a otro grupo de personas, no puede hacerlo porque solo puede asignar un propietario de grupo por archivo o directorio. Para resolver este problema, puede usar ACL (Listas de control de acceso). Puede obtener más información sobre ellos en este enlace: ACL 

Referencias: askubuntu  
linuxcommand.org 

Este artículo es una contribución de Aditya Nihal Kumar Singh . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. 

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *