Datos
- Quiero que los usuarios operadores en esta máquina monten sus propios recursos compartidos cifs
- El
sudoers
archivo ya contiene el/bin/mount -t cifs //*/* /media/* -o username=*
comando para todos los operadores. - Quiero que los usuarios monten un recurso
cifs
compartido a través de un script que escriba la contraseña solo una vez, no dos veces. - La contraseña de sudo y la contraseña cifs son idénticas.
Lo que ya tengo
Este script funciona:
#!/bin/bash
sudo 'mount -t cifs //192.168.1.1/home /media/$USER/home -o username=$USER'
... ¡ pero requiere que los usuarios escriban la misma contraseña dos veces!
- Una vez para
sudo
- Una vez para el monte mismo
Esto también funcionaría:
#!/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'
... pero esto requeriría que permita que todos los usuarios del operador puedansudo sh
(problema de seguridad importante)
Pregunta
¿Cómo montar un recurso compartido cifs en bash ¹ sin poner sh
el sudoers
archivo ni crear un archivo permanente / temporal?
Nota 1: sin python, perl, C, Go, ... por favor?
Nota 2: Sé que puedo eliminar la contraseña a través del sudoers
archivo, pero estoy tratando de reforzar la seguridad, no aflojarla, sin renunciar a la comodidad ...
printf "%s\n" "$szPassword" "$szPassword" | sudo -S mount -t cifs / ...
?