Les données
- Je souhaite que les utilisateurs opérateurs sur cette machine montent leurs propres partages cifs
- Le
sudoersfichier contient déjà la/bin/mount -t cifs //*/* /media/* -o username=*commande pour tous les opérateurs - Je veux que les utilisateurs montent un
cifspartage 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 shle sudoersfichier 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 sudoersfichier, 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 / ...?