Dati
- Voglio che gli utenti dell'operatore su questa macchina montino le proprie condivisioni cifs
- Il
sudoers
file contiene già il/bin/mount -t cifs //*/* /media/* -o username=*
comando per tutti gli operatori - Voglio che gli utenti montino una
cifs
condivisione tramite uno script digitando la password una sola volta, non due volte. - La password sudo e la password cifs sono identiche.
Quello che ho già
Questo script funziona:
#!/bin/bash
sudo 'mount -t cifs //192.168.1.1/home /media/$USER/home -o username=$USER'
... ma richiede agli utenti di digitare due volte la stessa password!
- Una volta per
sudo
- Una volta per il monte stesso
Questo funzionerebbe anche:
#!/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'
... ma questo mi richiederebbe di consentire a tutti gli utenti dell'operatore di essere in gradosudo sh
(grave problema di sicurezza)
Domanda
Come montare una condivisione cifs in bash ¹ senza inserire sh
il sudoers
file né creare un file permanente / temporaneo ???
Nota 1: no python, perl, C, Go, ... per favore?
Nota 2: So che posso semplicemente rimuovere la password attraverso il sudoers
file, ma sto cercando di rafforzare la sicurezza, non di allentarla, senza rinunciare alla comodità ...
printf "%s\n" "$szPassword" "$szPassword" | sudo -S mount -t cifs / ...
?