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

8

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

Олкай Эрташ
источник

Ответы:

7

Информация об использовании 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

сделанный!

Bruno Pereira
источник
Спасибо за ответ! Но было маленькое недоразумение: То , что я должен был «работать как администратор» не «открыт как администратор», так что я chanched линию "gksudo "gnome-open $file" &"к"gksudo "gnome-terminal -x $file" &"
Olcay Ертас
Конечно, «первая глава» даст вам достаточно информации, чтобы делать все, что вы хотите;) рад, что это помогло!
Бруно Перейра
1

Скрипты 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.

кон-е использование
источник
Почему вы постоянно chmod файл?
Михал Шрайер
потому что это был быстрый путь: D
con-f-use
1

Вы можете использовать это расширение Nautilus. Наутилус-гксу Установить наутилус-гксу .

sudo apt-get install nautilus-gksu

При его установке добавляется запись «Открыть от имени администратора» в контекстном меню nautilus.

введите описание изображения здесь

Когда вам нужно открыть какие-либо файлы с правами суперпользователя, вам просто нужно щелкнуть файл правой кнопкой мыши и выбрать «Открыть как администратор», так же просто.

Для более интересных расширений посетите: http://www.techdrivein.com/2010/09/6-useful-nautilus-extensions-and.html

б-ак
источник
«Открыть как администратор» все еще запрашивает пароль.
con-f-use
1
Я это делаю .. :)
б-ак