Дані
- Я хочу, щоб користувачі операторів на цій машині змогли влаштувати власні акції cifs
- У
sudoersфайлі вже є/bin/mount -t cifs //*/* /media/* -o username=*команда для всіх операторів - Я хочу, щоб користувачі змогли зібрати
cifsсценарій лише один раз, а не двічі. - Пароль sudo та пароль cifs однакові.
Що я вже маю
Цей сценарій працює:
#!/bin/bash
sudo 'mount -t cifs //192.168.1.1/home /media/$USER/home -o username=$USER'
... але він вимагає від користувачів вводити один і той же пароль двічі!
- Раз для
sudo - Раз для самого кріплення
Це також працює:
#!/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'
... але для цього потрібно, щоб дозволити всім користувачам оператора можливістьsudo sh (основна проблема безпеки)
Питання
Як встановити частку cifs у bash ¹, не ставлячи shу sudoersфайл і не створюючи постійний / тимчасовий файл ???
Примітка 1: немає пітона, perl, C, Go, ... будь ласка?
Примітка 2: Я знаю, що я можу просто видалити пароль через sudoersфайл, але я намагаюся посилити безпеку, а не послаблювати її, не відмовляючись від зручності ...
printf "%s\n" "$szPassword" "$szPassword" | sudo -S mount -t cifs / ...?