Я везде искал решение, которое позволяет мне работать, CIFS автомонтируют сценарий после входа в систему приблизительно с 20-секундной задержкой. Что я попробовал. Добавленный сценарий к visudo:
rait ALL=(ALL) NOPASSWD: /home/rait/Downloads/Testing/mount.sh, /bin/mount
После этого добавленный сценарий для Запущения приложений но это не работает. Также я пытался добавить его к .bash_profile и rc.d. В rc.d это работает, но это не выполняет его после входа в систему. Мне нужен он после входа в систему, потому что это попросит у людей их AD пользователя и пароля через GUI. Сам сценарий похож на это:
#!/bin/bash
MOUNTDIR=Public
DIRNAME=Avalik
DOMAIN=Domain
SERVER=server_adr
SHARE=shares
if [ ! -d ${HOME}/Documents/${DIRNAME} ]; then
mkdir ${HOME}/Documents/${DIRNAME}
fi
# get the windows username
wUsername=`zenity --entry --width=300 --title="Mount $MOUNTDIR" --text="Kasutaja
nimi:"`
if [ $? -ne 0 ]; then
exit 1
fi
# get the windows password
wPassword=`zenity --entry --width=300 --title="Mount $MOUNTDIR" --text="Parool:"
--hide-text`
if [ $? -ne 0 ]; then
exit 1
fi
mount -t cifs //$SERVER/$SHARE ${HOME}/Documents/${DIRNAME} -o username=${wUsern
ame},password=${wPassword},domain=${DOMAIN}
if [ $? -eq 0 ]; then
zenity --info --title="Mount OK!" --text="Mount OK!"
else
zenity --error --title="Mount Failed!" --text="Mount Failed!"
fi
Я надеюсь, что кто-то знает, как сделать это.
PS: После того, как я отредактировал visudo теперь, он просит пароль root после того, как я открываю терминал. Таким образом терминал просит у меня sudo пароль, когда когда-либо я открываю его после входа в систему. После того как я удаляю строку, которая должна запустить скрипт в visudo, это больше не просит пароль.
Помогите :)
Зафиксированный это путем добавления этого к sudoers:
%sudo ALL=(ALL) NOPASSWD: /bin/mount, /bin/umount
И Приложения Запуска команда была отредактирована так, это был/home/user/script/path/script.sh, и это начало работать. Также добавленные sudo infront монтирования управляют в сценарии также.
спасибо за Вас помогают парням:)
Я не знаю, является ли это решением для Вашей проблемы, но Вы могли бы попытаться использовать флаг setuid. Для этого сделайте свой сценарий принадлежавшим корню (chown root:root <filename>
) и затем chmod +s <filename>
это.
, Конечно, необходимо быть осторожными, какие программы Вы делаете корнем setuid, с тех пор если программа имеет дефект безопасности, таким образом, его пользователи могут заставить его выполнить произвольный код, это могло бы неправильно использоваться для получения полного корневого доступа.
Относительно автоматического запуска после входа в систему, я думаю, что действительно "Приложения Запуска" место для помещения его.