Comment monter manuellement un système de fichiers Linux en lecture / écriture en tant qu'utilisateur normal?

19

Cela peut sembler une question stupide, mais avec la plupart des trucs Linux, il me semble que beaucoup de choses triviales ne sont pas documentées.

Quoi qu'il en soit, je veux simplement monter un système de fichiers ext4 sur un point de montage normal dans Ubuntu (/ media / whereever), en lecture-écriture pour l'utilisateur actuellement connecté, c'est-à-dire moi.

Je ne veux rien ajouter dans / etc / fstab, je veux juste le faire maintenant, manuellement. J'ai besoin de privilèges de super-utilisateur pour monter un périphérique, mais seul root peut lire-écrire ce montage. J'ai essayé diverses options de montage, je les ai ajoutées dans fstab, mais sans succès.

nicodemus13
la source
Y a-t-il une raison pour laquelle vous ne voulez pas le monter quelque part dans votre répertoire personnel?
Robert S Ciaccio

Réponses:

13

Sur un système de fichiers ext4 (comme ext2, ext3 et la plupart des autres systèmes de fichiers d'origine Unix), les autorisations de fichier effectives ne dépendent pas de qui a monté le système de fichiers ou des options de montage, uniquement sur les métadonnées stockées dans le système de fichiers.

Avec Ubuntu, le montage devrait se produire automatiquement lorsque vous insérez le disque, ou vous devriez pouvoir cliquer sur une icône à monter. Vous pouvez également installer pmountpour monter des systèmes de fichiers en tant qu'utilisateur ordinaire à partir de la ligne de commande.

Si vous avez un système de fichiers amovible qui utilise différents ID utilisateur de votre système, vous pouvez utiliser bindfs(dans le package Ubuntu du même nom) pour fournir une vue de tout système de fichiers avec une propriété ou des autorisations différentes. Le système de fichiers amovible doit déjà être monté, par exemple sur /media/disk9; puis, si vous souhaitez apparaître comme le propriétaire de tous les fichiers, vous pouvez exécuter

mkdir ~/disk9
sudo bindfs -u $(id -u) -g $(id -g) /media/disk9 ~/disk9
Gilles 'SO- arrête d'être méchant'
la source
Merci! Cela a fonctionné pour moi avec ext3. Notez que je devais d' abord monter le système de fichiers ext3 dans un répertoire de montage, puis monter ce répertoire avec bindfs dans le répertoire final.
Ilari Kajaste
8

Lorsque vous montez le système de fichiers ext4, il utilise les autorisations incorporées dans ce système de fichiers. Si vous souhaitez les remplacer, utilisez les éléments suivants:
1. Recherchez l'UID de l'utilisateur que vous souhaitez monter en tant que: id <username>et recherchez UID = <userid> (<username>) GID = <groupid> (<groupname>) 2 .sudo mount -o nosuid,uid=<userid>,gid=<groupid> /dev/whatever /media/wherever

Cela montera le système de fichiers et marquera l'utilisateur spécifié comme propriétaire de tous les fichiers, et le groupe spécifié comme groupe pour tous les fichiers. nosuidest une mesure de sécurité qui empêche l'utilisateur d'apporter des programmes suid et de les utiliser pour obtenir un accès root au système (c'est-à-dire une version suid de bash sur le système de fichiers). L'ajout de l' noexecoption fournira une sécurité supplémentaire, mais empêchera l'utilisateur d'exécuter des fichiers sur le système de fichiers.

Remarque: Si vous essayez simplement d'interagir avec le système de fichiers vous-même, vous devez soit corriger les autorisations sur l'appareil, soit interagir avec lui en tant que root si c'est juste une chose temporaire (c'est-à-dire récupérer une installation cassée).

S'il s'agit de monter une clé USB ou un autre lecteur externe amovible, vous devriez vérifier le pmountsystème qui peut automatiser le processus pour vous, ou au moins le rendre beaucoup plus facile (c'est-à-dire, pmount <device>devrait créer les dossiers pour vous, le monter en tant qu'utilisateur, et vous permet de le démonter en tant qu'utilisateur)

Dark Android
la source
1
Une idée si cela devrait également fonctionner avec EXT3? Je reçois EXT3-fs: Unrecognized mount option "uid=1000" or missing valueen dmesg quand je l'essaye avec ext3.
Ilari Kajaste
@Ilari: Cela ne fonctionnera pas avec ext3, ni avec ext4 d'ailleurs. La plupart des pilotes Linux pour les systèmes de fichiers Unix n'ont pas d'options de mappage UID et GID.
Gilles 'SO- arrête d'être méchant'
-1 Ne fonctionne pas.
Ilari Kajaste
2

Vous pouvez utiliser:

mount -o user /dev/devicenameet useroption dans votre fstab.

Andrey Regentov
la source
1

Si vous n'êtes pas d'humeur à modifier manuellement votre fichier / etc / fstab, je vous suggère d'essayer PySDM pour définir régulièrement les règles de montage de votre système de fichiers ext4. Il peut être installé en installant le paquet "pysdm" dans Synaptic, ou en recherchant "pysdm" dans le centre logiciel Ubuntu. Une fois installé, il est disponible sous Système -> Administration -> Gestionnaire de périphériques de stockage.

PySDM en action

Zoot
la source
1

Je viens de réaliser après avoir lu le dernier commentaire sur http://ubuntuforums.org/showthread.php?t=2142284 que tout ce que l'on a à faire est unsudo chown -Rvf <user>:<group> <mountpoint>

C'est tout ce qu'il faut ...

SACHIN GARG
la source
2
Il s'agit d'une opération destructrice. Si vous le faites avant le montage, cela ne fera aucune différence pour la propriété des fichiers sur le lecteur monté; si vous le faites après le montage, il écrasera toutes les autorisations. Si le lecteur contient une installation Linux, la modification des autorisations comme celle-ci le rendra non amorçable après l'avoir démonté.
Warbo