Montaje de un sistema de archivos ext3 con privilegios de usuario

12

Estoy tratando de montar un sistema de archivos ext3 desde otra instalación de Linux para que el usuario, no el root, tenga acceso completo a todos los archivos. (Realmente necesito que el usuario tenga acceso a esos archivos, porque me gustaría usarlos desde otra computadora a través de sshfs, y sshfs solo le dará los derechos de acceso del usuario a los archivos).

Si ejecuto mount /dev/sda1 /mnt/whatevertodos los archivos solo son accesibles por root.

También lo intenté mount -o nosuid,uid=1000,gid=1000 /dev/sda1 /mnt/whateversegún las instrucciones de una pregunta de SuperUser sobre ext4, pero eso falla con un error e dmesginforma:

EXT3-fs: Unrecognized mount option "uid=1000" or missing value

¿Cómo puedo montar el sistema de archivos?

Ilari Kajaste
fuente
1
Diría que la respuesta de Gilles en la pregunta de Superusuario que mencionaste es la correcta. De hecho, entonces man page mount (8) no enumera uid=...ni las gid=...opciones para ninguno de los sistemas de archivos ext2 / 3/4.
Riccardo Murri
@ Riccardo ¡Gracias, esa fue la solución correcta! Primero monte la extensión en algún directorio regularmente, luego monte ese directorio bindfs -u $(id -u) -g $(id -g)en el destino final. ¿Escribirlo como respuesta, tal vez?
Ilari Kajaste
1
Como la respuesta es de Gilles y también es muy activo en este foro, dejaré que él vuelva a publicarlo aquí y obtenga el crédito merecido.
Riccardo Murri

Respuestas:

19

En un sistema de archivos ext4 (como ext2, ext3 y la mayoría de los otros sistemas de archivos que se originan en Unix), los permisos de archivo efectivos no dependen de quién montó el sistema de archivos o de las opciones de montaje, solo de los metadatos almacenados dentro del sistema de archivos.

Si tiene un sistema de archivos extraíble que usa diferentes ID de usuario de su sistema, puede usarlo bindfspara proporcionar una vista de cualquier sistema de archivos con diferentes permisos o propiedad. El sistema de archivos extraíble ya debe estar montado, por ejemplo, encendido /mnt/sda1; luego, si desea que un usuario en particular aparezca como el propietario de todos los archivos, puede ejecutar algo como

mkdir /home/$user/sda1
bindfs -u $user -g $group /mnt/sda1 /home/$user/sda1
Gilles 'SO- deja de ser malvado'
fuente
1
Gracias de mi parte también! Con un pequeño ajuste, esto también funciona para dispositivos como, por ejemplo, DVD-ROM SATA de conexión en caliente (que era el dispositivo con el que tuve problemas). SIN EMBARGO, el dispositivo siempre se montará 000por alguna razón (d ---------), por lo que debe especificar -p 700la bindfslínea para acceder a los archivos en el DVD a través de dolphin/ nautilusetc., por ejemplo.
syntaxerror
Sería bueno si bindfspudiera aceptar diccionarios para traducir cualquier conjunto de UID y GID ...
Alexey