Задача: написать скрипт, который будет монтировать папку с удаленного win-сервера, и, после копирования файлов на локальную машину, отмонтировать её.
Казалось бы, ничего сложного, mount решает:
sudo apt-get install cifs-utils
sudo mount -t cifs //192.168.0.1/Folder /home/kawaikunee/Folder -o username=User,password=Pass,rw,file_mode=0777,dir_mode=0777
cp -a -n /home/kawaikunee/Folder/*.pdf /home/kawaikunee/Doc/PDFs/
sudo umount /home/kawaikunee/Folder
Да вот только одна проблема: скрипт должен работать автономно. И пароль sudo ему знать совсем не обязательно.
Решение: добавить пользователю, от чьего имени запускается скрипт, права на беспарольное использование sudo mount и sudo umount. Для этого внесём изменения в файл /etc/sudoers
sudo gedit /etc/sudoers
Добавим в него строчку:
kawaikunee linux = NOPASSWD: /bin/mount,/bin/umount
где первые два слова - имя пользователя и имя компьютера (они обычно представлены в приглашении терминала по умолчанию).
Задача решена. Скрипт использует sudo, но пароль у него не спрашивают.
P.S. Что-то мне подсказывает, что так можно и другие подобные задачи решить :)