Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Monter une image iso par un utilisateur normal

4 réponses
Avatar
Rémi Moyen
Salut,

J'ai régulièrement des images de CD sur mon disque, que je monte en loop
pour les vérifier avant de les graver, voire les utiliser tel quel :

# mount -o loop /path/to/image.iso /tmp/isodir

C'est parfait, sauf que (hé, je posterais pas si y'avait pas un "sauf
que"... ;-) ) seul root peut faire ce montage.

Disons-le franchement, ça ne me gène pas trop : je suis le seul
utilisateur de cette machine, j'ai un sudo qui traine, donc ça ne me
coûte pas vraiment grand chose. Mais bon, c'est quand même un peu agaçant.

Donc, je cherche un moyen de faire monter n'importe quelle image iso par
un utilisateur normal.

Si je modifie mon fstab en ajoutant :
/path/to/image.iso /tmp/isodir auto loop,user 0 0
ça marche bien, je peux monter mon image en tant qu'utilisateur normal
avec un mount /tmp/isodir. Mais bon, évidemment, ça ne marche que si le
fichier s'appelle /path/to/image.iso. D'après quelques messages vus sur
internet, j'ai essayé quelques bidouilles du genre :
/dev/loop1 /tmp/isodir auto loop,user 0 0
mais ça ne marche pas (d'autant plus que je ne sais pas trop comment
appeler mount après : mount /path/to/image.iso ? mount -o loop
/path/to/image.iso ? ...). Les /dev/loop* sont bien lisibles/ecrivables
par l'utilisateur normal.

Je suppose que c'est pas la bonne syntaxe, mais je ne trouve pas comment
faire. Est-ce que quelqu'un a une idée ? En fait, est-ce que c'est
faisable, déjà ?

Merci !

PS : je ne me préoccuppe pas ici (ou pour l'instant, au moins) de
questions de sécurité genre noexec ou autres -- j'ai pas besoin d'images
iso pour casser ma machine ;-)
--
Rémi Moyen

4 réponses

Avatar
lhabert
Rémi Moyen :

Si je modifie mon fstab en ajoutant :
/path/to/image.iso /tmp/isodir auto loop,user 0 0
ça marche bien, je peux monter mon image en tant qu'utilisateur normal
avec un mount /tmp/isodir. Mais bon, évidemment, ça ne marche que si le
fichier s'appelle /path/to/image.iso.


Il suffit que tu aies le droit d'écriture sur le répertoire /path/to, et
alors tu y mets un symlink avec le bon nom vers ton image iso située
ailleurs. Cela dit, je ne comprends pas trop pourquoi tu ne veux pas
utiliser sudo.

Avatar
Sébastien Monbrun aka TiChou
Dans le message <news:43ea66a8$0$292$,
*Rémi Moyen* tapota sur f.c.o.l.configuration :

Bonsoir,

J'ai régulièrement des images de CD sur mon disque, que je monte en loop
[...]

Donc, je cherche un moyen de faire monter n'importe quelle image iso par
un utilisateur normal.


~ $ grep image.iso /etc/fstab
image.iso iso iso9660 noauto,loop,users

N'importe quel utilisateur peut monter le fichier 'image.iso' (se trouvant
dans le répertoire courant) sur le point de montage 'iso' (se trouvant aussi
dans le répertoire courant). On pourrait spécifier un point de montage avec
un chemin absolu, mais le risque est de voir un utilisateur monter une image
sur ce point de montage alors qu'il est déjà monté par un autre utilisateur.
Bien sûr, si le fichier image ne se nomme pas 'image.iso' mais autrement, il
suffit soit de le renommer soit tout simplement de créer un lien symbolique
'image.iso'.

--
Sébastien Monbrun aka TiChou

Avatar
Rémi Moyen

Si je modifie mon fstab en ajoutant :
/path/to/image.iso /tmp/isodir auto loop,user 0 0
ça marche bien, je peux monter mon image en tant qu'utilisateur normal
avec un mount /tmp/isodir. Mais bon, évidemment, ça ne marche que si le
fichier s'appelle /path/to/image.iso.



Il suffit que tu aies le droit d'écriture sur le répertoire /path/to, et
alors tu y mets un symlink avec le bon nom vers ton image iso située
ailleurs.


Mouais, sauf qu'il faut que je fasse un symlink à la main avant de
monter l'image. À ce compte, c'est plus rapide de faire un coup de sudo.

Cela dit, je ne comprends pas trop pourquoi tu ne veux pas
utiliser sudo.


Pas que je ne veuille pas l'utiliser, plutôt que je vois pas trop
pourquoi faudrait obligatoirement que je passe root pour faire ça (je
veux dire, pour moi, c'est une opération utilisateur au même titre que
monter un CD). Et puis surtout qu'en général, je tape une fois la
commande sans sudo, je me fais jeter, donc faut que je la corrige. Et
ensuite même topo 1h après quand je fais l'umount... C'est agaçant, sans
plus. Mais comme je suis curieux, je cherche ce qui est faisable pour y
remedier.

En fait, en cherchant vaguement une piste, j'étais tombé sur cette
discussion :
http://lists.debian.org/debian-devel/2001/01/msg02150.html
qui évoque un problème un peu similaire et qui m'a mis en tête l'idée de
regarder vers un truc général avec /dev/loop.
--
Rémi Moyen


Avatar
Eric Razny
Le Thu, 09 Feb 2006 21:18:01 +0100, Rémi Moyen a écrit :

Cela dit, je ne comprends pas trop pourquoi tu ne veux pas utiliser
sudo.


Pas que je ne veuille pas l'utiliser, plutôt que je vois pas trop
pourquoi faudrait obligatoirement que je passe root pour faire ça (je
veux dire, pour moi, c'est une opération utilisateur au même titre que
monter un CD). Et puis surtout qu'en général, je tape une fois la
commande sans sudo, je me fais jeter, donc faut que je la corrige. Et
ensuite même topo 1h après quand je fais l'umount... C'est agaçant,
sans plus. Mais comme je suis curieux, je cherche ce qui est faisable pour
y remedier.


Pourquoi pas un sudo sans le savoir alors? :)

Deux possibilités aussi simples l'une que l'autre (bien que pour des
raisons de sécu je préfère la deuxième) :

A - mettre un alias sur mount :
alias mount='sudo mount' dans ton profile shell (ou le rc)

B - te créer un répertoire ~/bin, mettre ce qu'il faut dans le
bash_profile ou équivalent pour avoir $HOME/bin dans le path et te créer
un script mountiso dans ~/bin de la forme :

#!/bin/sh
[... test des paramètres ]
sudo mount -o loop -t iso9660 $1 $2
[... traitement des erreurs ]


hth
Eric