Как добавить в nautilus скрипт для запуска выбранного файла с правами администратора (не с правами администратора)? И если это возможно, я хочу запустить этот файл как администратор, не вводя мой пароль.
Как добавить в nautilus скрипт для запуска выбранного файла с правами администратора (не с правами администратора)? И если это возможно, я хочу запустить этот файл как администратор, не вводя мой пароль.
Ответы:
Вам нужно сделать следующее в терминале 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 обычно должны быть размещены $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
.
Вы можете использовать это расширение Nautilus. Наутилус-гксу .
sudo apt-get install nautilus-gksu
При его установке добавляется запись «Открыть от имени администратора» в контекстном меню nautilus.
Когда вам нужно открыть какие-либо файлы с правами суперпользователя, вам просто нужно щелкнуть файл правой кнопкой мыши и выбрать «Открыть как администратор», так же просто.
Для более интересных расширений посетите: http://www.techdrivein.com/2010/09/6-useful-nautilus-extensions-and.html
"gksudo "gnome-open $file" &"
к"gksudo "gnome-terminal -x $file" &"