Как добавить скрипт в nautilus для запуска выбранного файла от имени администратора?

Как добавить в nautilus скрипт для запуска выбранного файла с правами администратора (не с правами администратора)? И если это возможно, я хочу запустить этот файл как администратор, не вводя мой пароль.

3 ответа

Решение

Информация об использовании sudo или gksudo в скриптах без пароля

Вам нужно сделать следующее, на тип терминала sudo visudo и добавьте такую ​​строку в конец файла, указав команды, которые вы хотите запускать без ввода пароля sudo:

<yourusername> hostname=NOPASSWD: <command1>, <command2>

Теперь вы можете запускать указанные команды без пароля, если вы набираете эту команду с помощью sudo,

т.е.: позволяет вам запустить shutdown -r now без необходимости каждый раз вводить пароль sudo и ваше имя пользователя 'joedoe'

  1. тип sudo visudo на терминале

  2. добавлять joedoe hostname=NOPASSWD: shutdown -r now как новая строка в конце файла

  3. по вашему сценарию вы можете использовать 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 будет обрабатывать тип файла настолько хорошо, насколько это возможно.

нажмите на свой скрипт openasadmin

сделанный

Вы можете использовать это расширение 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,

Другие вопросы по тегам