J’ai créé un alias pour monter une partoche sur mon dossier /mnt/autre
alias hda8='mount -t ext3 /dev/hda8 /mnt/autre’
avec
su -
pass root
hda8
pas de problème, ça fonctionne et ma partoche est monté au bon endroit.
Avec ‘sudo’, il ne veut rien savoir.
Possible ou pas possible ?
bonjour ricardo, POSSIBLE biensur …
hé bien qu’as tu mis dans ton /etc/sudoers ?
Monter un disk vfat via sudo en utilisant un alias. 2 alias même, un pour mount, un pour umount :
[quote]alias mdisk='sudo mount -t vfat /dev/hdb1 /mnt/disk1’
alias udisk=‘sudo umount /mnt/disk1’[/quote]
Vérifier la présence d’un repertoire /mnt/disk1 (par exemple).
Vérifier la présence de ces blocs :
[quote=“nano /root/.bashrc”]# Demande à consulter le fichier bash_aliases
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
[/quote]
[quote=“nano //.bashrc”]# Demande à consulter le fichier bash_aliases
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
[/quote]
Modifier/editer les fichiers bash_aliases en ajoutant les deux lignes d’alias , ce qui nous donnera : debian:/home/jcode# cat /root/.bash_aliases | grep "disk"
alias mdisk='mount -t vfat /dev/hdb1 /mnt/disk1'
alias udisk='umount /mnt/disk1'
debian:/home/jcode# cat /home/jcode/.bash_aliases | grep "disk"
alias mdisk='sudo mount -t vfat /dev/hdb1 /mnt/disk1'
alias udisk='sudo umount /mnt/disk1'
Modifier/editer /etc/sudoers en rajoutant ces lignes :
debian:/home/jcode# cat /etc/sudoers | grep -i disk
Cmnd_Alias UDISK=/bin/umount /mnt/disk1
Cmnd_Alias MDISK=/bin/mount -t vfat /dev/hdb1 /mnt/disk1
ADMIN LOCALNET=NOPASSWD:UDISK,NOPASSWD:MDISK, [ ... etc ... ]
Oui, ça dépend comment est défini l’user, chez moi j’ai fait :
[quote]# Host alias specification
Host_Alias LOCALNET=localhost.localdomain
…
User alias specification
User_Alias ADMIN=jcode
…
[/quote]
(Relancer sudo par un sudo -v je crois, et bash par un /bin/bash)
Testons :
[code]jcode@debian:~$ mount /mnt/disk1
mount: can’t find /mnt/disk1 in /etc/fstab or /etc/mtab
jcode@debian:~$ cat /etc/fstab |grep disk1
#/dev/hdb1 /mnt/disk1 vfat defaults 0 0
jcode@debian:~$ mount -t vfat /dev/hdb1 /mnt/disk1
mount: only root can do that
jcode@debian:~$ sudo mount -t vfat /dev/hdb1 /mnt/disk1
jcode@debian:~$ ls /mnt/disk1 | wc
24 25 248
[/code]
Ben je vérifie quand même que toute la commande définie dans /etc/sudoers est bien prise en compte, histoire que l’user ne puisse pas monter tout n’importe où :
jcode@debian:~$ sudo umount /mnt/disk1
jcode@debian:~$ sudo mount -t vfat /dev/hdb1 /mnt/disk2
Password:
jcode@debian:~$ mkdir /mnt/disk2
mkdir: ne peut créer le répertoire `/mnt/disk2': Permission non accordée
jcode@debian:~$ su
Password:
debian:/home/jcode# mkdir /mnt/disk2
debian:/home/jcode# su jcode
jcode@debian:~$ sudo mount -t vfat /dev/hdb1 /mnt/disk2
Password:
C’est ok, sudo ne reconnait pas la commande (il demande un passwd qui n’existe pas).
Utilisation des alias maintenant :
jcode@debian:~$ mdisk
jcode@debian:~$ ls /mnt/disk1 | wc
24 25 248
jcode@debian:~$ udisk
jcode@debian:~$ ls /mnt/disk1 | wc
0 0 0
pour vous servir, sir ricardo
C’est simple, quoi
Je réponds en partie pour comprendre.
Où il faut écrire ce qui suit , ds
root/.bashrc
et ds
/home/user/.bashrc
ou ds
sudoers
Citation:
alias mdisk='sudo mount -t vfat /dev/hdb1 /mnt/disk1'
alias udisk='sudo umount /mnt/disk1'
C’est ce que j’avais fait mais ds sudoers, je ne savais pas quoi écrire.
Suite du msg précédent (à lire avant)
alias hda8='mount -t ext3 /dev/hda8 /mnt/autre'
alias hda1='mount -t ext3 /dev/hda1 /mnt/autre'
alias hdc3='mount -t ext3 /dev/hdc3 /mnt/autre'
alias hdc7='mount -t ext3 /dev/hdc7 /mnt/autre'
alias hdc6='mount -t ext3 /dev/hdc6 /mnt/autre'
alias demonte='umount /mnt/autre'
Voilà ce que j’ai placé ds
/root/.bashrc
et ds
/home/ricardo3/.bashrc
en tant que root, pas de problème, je tape
hda1
et il est monté ds /mnt/autre
ce que je veux, c’est taper
$ sudo hda1
pass user
et avoir le m^ rslt.
PS :
J’ai essayé en ajoutant sudo au début
alias hda1=’ sudo mount -t ext3 /dev/hda1 /mnt/autre’
ou à la fin :
alias hda1='mount -t ext3 /dev/hda1 /mnt/autre ; sudo’
Mais sans succès
Résolu
en fait c’était simple mais c’est à la commande que je me plantais.
j’ai seulement placé ‘sudo’ en tête de l’alias qui est ds /home/ricardo/.bashrc
alias hda8='sudo mount -t ext3 /dev/hda8 /mnt/autre’
Ça ne fonctionnait pas car à la commande, je rajoutais ‘sudo’ :
$ sudo hda8
et bien sûr, il ne faut taper que
$ hda8
Voilà, tt simple et mes partoches sont quand m^ montées en tant que ‘root’, ce que je voulais garder.
[quote]alias mdisk='sudo mount -t vfat /dev/hdb1 /mnt/disk1’
alias udisk=‘sudo umount /mnt/disk1’[/quote]
J’ai placé les alias dans .bash_aliases, pour les distinguer des alias de bases de .bashrc … le bloc if que je citais montre que si un fichier .bash_aliases existe, bash va chercher aussi dedans pour reconnaitre une commande … up to you.