Daten
- Ich möchte, dass Operator-Benutzer auf diesem Computer ihre eigenen CIF-Freigaben bereitstellen
- Die
sudoers
Datei enthält bereits den/bin/mount -t cifs //*/* /media/* -o username=*
Befehl für alle Operatoren - Ich möchte, dass die Benutzer eine
cifs
Freigabe über ein Skript bereitstellen, das das Kennwort nur einmal und nicht zweimal eingibt. - Das sudo-Passwort und das cifs-Passwort sind identisch.
Was ich schon habe
Dieses Skript funktioniert:
#!/bin/bash
sudo 'mount -t cifs //192.168.1.1/home /media/$USER/home -o username=$USER'
... aber die Benutzer müssen dasselbe Passwort zweimal eingeben!
- Einmal für
sudo
- Einmal für die Montierung selbst
Das würde auch funktionieren:
#!/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'
... aber dafür müsste ich allen Betreibern die Möglichkeit gebensudo sh
(schwerwiegendes Sicherheitsproblem)
Frage
Wie mounte ich eine CIF-Freigabe in bash¹, ohne sh
die sudoers
Datei einzufügen oder eine permanente / temporäre Datei zu erstellen?
Anmerkung 1: Kein Python, Perl, C, Go, ... bitte?
Hinweis 2: Ich weiß, dass ich das Passwort einfach durch die sudoers
Datei entfernen kann , aber ich versuche, die Sicherheit zu erhöhen, nicht zu lockern, ohne auf Bequemlichkeit zu verzichten ...
printf "%s\n" "$szPassword" "$szPassword" | sudo -S mount -t cifs / ...
?