Les données
- Je souhaite que les utilisateurs opérateurs sur cette machine montent leurs propres partages cifs
- Le
sudoers
fichier contient déjà la/bin/mount -t cifs //*/* /media/* -o username=*
commande pour tous les opérateurs - Je veux que les utilisateurs montent un
cifs
partage via un script en tapant le mot de passe une seule fois, pas deux. - Le mot de passe sudo et le mot de passe cifs sont identiques.
Ce que j'ai déjà
Ce script fonctionne:
#!/bin/bash
sudo 'mount -t cifs //192.168.1.1/home /media/$USER/home -o username=$USER'
... mais cela oblige les utilisateurs à taper deux fois le même mot de passe!
- Une fois pour
sudo
- Une fois pour la monture elle-même
Cela fonctionnerait également:
#!/bin/bash
echo -n Password:
read -s szPassword
echo $szPassword | sudo -S sh -c 'echo $szPassword | mount -t cifs //192.168.1.1/home /media/$USER/home -o username=$USER'
... mais cela m'obligerait à permettre à tous les utilisateurs opérateurs de pouvoirsudo sh
(problème de sécurité majeur)
Question
Comment monter un partage cifs dans bash ¹ sans mettre sh
le sudoers
fichier ni créer un fichier permanent / temporaire ???
Note 1: pas de python, perl, C, Go, ... s'il vous plait?
Remarque 2: je sais que je peux simplement supprimer le mot de passe dans le sudoers
fichier, mais j'essaie de renforcer la sécurité, pas de la desserrer, sans renoncer à la commodité ...
printf "%s\n" "$szPassword" "$szPassword" | sudo -S mount -t cifs / ...
?