Dados
- Quero que os usuários do operador nesta máquina montem seus próprios compartilhamentos cifs
- O
sudoersarquivo já contém o/bin/mount -t cifs //*/* /media/* -o username=*comando para todos os operadores - Quero que os usuários montem um
cifscompartilhamento por meio de um script digitando a senha apenas uma vez, não duas. - A senha do sudo e a senha do cifs são idênticas.
O que eu já tenho
Este script funciona:
#!/bin/bash
sudo 'mount -t cifs //192.168.1.1/home /media/$USER/home -o username=$USER'
... mas exige que os usuários digitem a mesma senha duas vezes!
- Uma vez para
sudo - Uma vez para a própria montagem
Isso também funcionaria:
#!/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'
... mas isso exigiria que eu permitisse a todos os usuários da operadorasudo sh (grande problema de segurança)
Questão
Como montar um compartilhamento cifs no bash ¹ sem colocar shno sudoersarquivo nem criar um arquivo permanente / temporário ???
Nota 1: sem python, perl, C, Go, ... por favor?
Nota 2: Eu sei que posso remover a senha através do sudoersarquivo, mas estou tentando aumentar a segurança, não afrouxá-la, sem abrir mão da conveniência ...
printf "%s\n" "$szPassword" "$szPassword" | sudo -S mount -t cifs / ...?