Как добавить скрипт в nautilus для запуска выбранного файла от имени администратора?
Как добавить в nautilus скрипт для запуска выбранного файла с правами администратора (не с правами администратора)? И если это возможно, я хочу запустить этот файл как администратор, не вводя мой пароль.
3 ответа
Информация об использовании sudo или gksudo в скриптах без пароля
Вам нужно сделать следующее, на тип терминала sudo visudo
и добавьте такую строку в конец файла, указав команды, которые вы хотите запускать без ввода пароля sudo:
<yourusername> hostname=NOPASSWD: <command1>, <command2>
Теперь вы можете запускать указанные команды без пароля, если вы набираете эту команду с помощью sudo
,
т.е.: позволяет вам запустить shutdown -r now
без необходимости каждый раз вводить пароль sudo и ваше имя пользователя 'joedoe'
тип
sudo visudo
на терминаледобавлять
joedoe hostname=NOPASSWD: shutdown -r now
как новая строка в конце файлапо вашему сценарию вы можете использовать
sudo shutdown -r now
без необходимости вводить пароль sudo.
Чтобы создать сценарий, используйте ваш любимый редактор, чтобы создать <nameofyourscript>.sh
с содержанием:
#! /bin/bash
sudo <commandsyouwanttorun1>
<commandsyouwanttorun2>
sudo<commandsyouwanttorun3>
Используйте sudo для вызова команд, которые нуждаются в этом, он не будет запрашивать пароль, если вы добавили его на NOPASSWD: <commmand1>, <command2>, etc
линия в visudo
,
После этого вам нужно сделать его исполняемым с помощью: sudo chmod 755 <nameofyourscript>.sh
,
Теперь вы можете запустить свой скрипт, используя sh <nameofyourscript>.sh
на терминале, дважды щелкнув по нему и выбрав run
в диалоговом окне или поместите их в свой ~/.gnome2/nautilus-scripts/
который затем будет доступен на вашем scripts
меню при щелчке правой кнопкой мыши на nautilus:
Создать правой кнопкой мыши "Открыть как администратор" без пароля
Чтобы создать сценарий, который открывает файлы с правами администратора, щелкните их правой кнопкой мыши и сделайте так, чтобы пароли не запрашивались, создайте сценарий со следующим:
#! /bin/bash
for file in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
gksudo "gnome-open $file" &
done
Сохраните это на своем ~/.gnome2/nautilus-scripts/
, сделайте его исполняемым с sudo chmod 755 ~/.gnome2/nautilus-scripts/<nameofyourscript>.sh
, с помощью sudo visudo
добавить строку <yourusername> ALL=NOPASSWD: /usr/bin/gnome-open
и сохраните файл.
Вы должны иметь возможность щелкнуть правой кнопкой мыши по файлу, перейти в папку сценариев и выбрать только что созданный сценарий, чтобы открыть этот файл с правами суперпользователя. gnome-open
будет обрабатывать тип файла настолько хорошо, насколько это возможно.
Вы можете использовать это расширение Nautilus. Nautilus-gksu ,
sudo apt-get install nautilus-gksu
При его установке добавляется запись "Открыть от имени администратора" в контекстном меню nautilus.
Когда вам нужно открыть какие-либо файлы с правами суперпользователя, вам просто нужно щелкнуть файл правой кнопкой мыши и выбрать "Открыть как администратор", так же просто.
Для более интересных расширений посетите: http://www.techdrivein.com/2010/09/6-useful-nautilus-extensions-and.html
Наутилус сценарии обычно должны быть размещены в $HOME/.gnome2/nautilus-scripts/
и должен быть исполняемым. При этом следующий скрипт должен делать то, что вы хотите:
#!/bin/bash
IFS='
'
for file in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
gksudo -k "sh -c 'chmod +x $file; $file'"
done
Вы можете получить доступ к этому сценарию из nautilus, щелкнув правой кнопкой мыши по файлу, наведя курсор мыши на меню сценария и затем щелкнув имя файла сценария в $HOME/.gonme2/nautilus-scritps/
, Вы все еще должны ввести свой пароль, хотя.
Не существует безопасного способа, которым вы можете сделать это с произвольными файлами без ввода пароля. Для специальных команд процесс описан в посте brunopereira81 здесь и использует sudo, но в зависимости от команд приведет к уязвимости системы. Если вам все равно (и я настоятельно советую против этого), вы можете установить ALL
команды для использования NOPASSWD
и заменить gksudo
просто sudo
,