GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo puede un administrador de archivos montar una unidad sin root?

Los usuarios que operan en la consola de una estación de trabajo gráfica han notado que se pueden ejecutar varios programas sin aparentemente necesitar autenticación de root ni una contraseña como reiniciar. Este proceso implica el uso inteligente del programa SUID /usr/sbin/userhelper aplicado en un contexto más amplio que el diseñado originalmente.

El usuario gráfico ejecuta un programa intermedio con alias /usr/bin/consolehelper que autoriza acciones basadas en una configuración específica de PAM (módulos de autenticación programables) y luego envía el comando a un programa SUID para ejecutar el programa de usuario con privilegios. Si el usuario no tiene la autorización adecuada, el programa solicitado se ejecuta en el entorno Linux de los usuarios.

Tal como se implementó actualmente, el archivo de configuración de PAM necesario para el reinicio contiene comprobaciones para que el usuario haya iniciado sesión en la consola o se esté ejecutando actualmente en el entorno raíz para inhibir las solicitudes de contraseña.


Utiliza udisks. (Sin embargo, FUSE se usa en el caso de sistemas de archivos de red). Las interfaces de línea de comandos para udisks están disponibles para su experimentación. En versiones recientes viene con la interfaz de línea de comandos udisksctl .

udisksd se ejecuta como root y acepta las solicitudes de los usuarios mediante D-Bus.

udisksd utiliza PolicyKit PolKit para decidir qué solicitudes están permitidas. Algunos pueden requerir privilegios adicionales, p. formateo de unidades internas. Esto puede implicar un paso de autenticación adicional, similar al indicador UAC de Windows o sudo en la línea de comandos. No sé exactamente cómo se coordina la autenticación adicional.

Las solicitudes a través de D-Bus se realizan actualmente mediante sockets Unix mediante SCM_CREDENTIALS, que identifica el proceso que realiza la solicitud.

Uno de los factores utilizados en las decisiones es si el usuario inició sesión localmente o a través de la red (por ejemplo, ssh ). Creo que esta información la proporciona systemd-logind (en conspiración con pam-systemd ).


Linux
  1. ¿Cómo puedo iniciar un programa como root usando el administrador de ventanas?

  2. ¿Cómo puedo instalar un RPM sin ser root?

  3. ¿Cómo escribo archivos en un USB sin ser root?

  4. ¿Cómo puedo cambiar un archivo a un subuid sin sudo?

  5. ¿Cómo puedo permitir que un usuario sujete a otro sin permitir el acceso de root?

¿Cómo monta el Administrador de archivos una unidad externa sin Sudo?

Cómo montar Google Drive localmente como sistema de archivos virtual en Linux

Cómo abrir el administrador de archivos de Ubuntu como usuario root

¿Cómo puede el usuario montar un contenedor de archivos cifrados en Veracrypt?

Cómo limitar el usuario root en CentOS

Cómo montar y ver un archivo ISO como raíz y usuario normal en Linux