Как добавить скрипт в 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
.
Вам нужно сделать следующее, для терминала типа 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/
, который затем будет доступен на вашем [ 1116] меню при щелчке правой кнопкой мыши на nautilus:
Чтобы создать скрипт он открывает файлы с правами администратора, щелкая правой кнопкой мыши по ним и делая так, чтобы пароли не запрашивались. Создайте скрипт со следующим:
#! /bin/bash
for file in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
gksudo "gnome-open $file" &
done
Сохраните его на своем ~/.gnome2/nautilus-scripts/
, сделайте его исполняемым с помощью [ 1118], используя sudo visudo
добавьте строку <yourusername> ALL=NOPASSWD: /usr/bin/gnome-open
и сохраните файл.
Вы должны иметь возможность щелкнуть правой кнопкой мыши по файлу, перейти в свою папку сценариев и выбрать только что созданный сценарий, чтобы открыть этот файл с правами суперпользователя. gnome-open
будет обрабатывать тип файла настолько хорошо, насколько это возможно.
Вы можете использовать это расширение Nautilus. Наутилус-гксу .
sudo apt-get install nautilus-gksu
При его установке добавляется запись «Открыть как администратор» в меню щелчка правой кнопкой мыши nautilus.
Когда вам нужно открыть какие-либо файлы с правами root, вам просто нужно щелкнуть правой кнопкой мыши файл, выбрать «Открыть как администратор», так же просто. [ 119]
Для более интересных расширений посетите: http://www.techdrivein.com/2010/09/6-useful-nautilus-extensions-and.html