La respuesta más fácil y segura a esta pregunta es usar udisks2
en lugar de mount
directamente. Es utilizado por administradores de archivos como Thunar y no requiere privilegios de root. La herramienta monta los accionamientos en /run/media/<username>/
.
Para montar una unidad, use udisksctl
conmount
:
udisksctl mount -b /dev/sdbX
Use unmount
para desmontar.
Puede editar el archivo de permisos de usuario y otorgarle a ese usuario el uso de mount.
Use visudo y agregue una línea como esta (cambiando ese nombre de usuario _por su propio usuario)
user_name ALL=NOPASSWD: /bin/mount
Necesita alguna forma de restringir los posibles parámetros al comando de montaje que los usuarios pueden usar, o de lo contrario, un usuario malintencionado podría controlar fácilmente el sistema montando algo sobre /etc
para que el sistema use la versión del atacante de /etc/shadow
] en lugar del real. El efecto sería como si el atacante tuviera que reemplazar temporalmente las contraseñas de todos y cada uno de los usuarios con contraseñas (s )conocidas por el atacante.
Si los usuarios solo necesitan montar/desmontar un conjunto fijo de sistemas de archivos en un conjunto fijo de puntos de montaje, simplemente agregarlos a /etc/fstab
usando la opción de montaje user
o users
podría ser una solución válida.
Si no puede predecir el nombre del dispositivo que el usuario necesita montar, o si el usuario necesita poder montarlo en una ubicación arbitraria a la que pueda acceder, su problema es más difícil. ¿Quizás permitir que el usuario monte el sistema de archivos solo en una ubicación fija y luego enseñarle a usar ln -s /actual/mount/point /desired/location
para crear enlaces simbólicos para que los archivos aparezcan donde se necesitan?