Wie kann ich nautilus ein Skript hinzufügen, um ausgewählte Dateien als Administrator auszuführen?

8

Wie kann ich nautilus ein Skript hinzufügen, um eine ausgewählte Datei als Administrator auszuführen (nicht als Administrator geöffnet)? Und wenn es möglich ist, möchte ich diese Datei als Administrator ausführen, ohne mein Passwort einzugeben.

Olcay Ertaş
quelle

Antworten:

7

Informationen zur Verwendung von sudo oder gksudo in Skripten ohne Passwort

Sie müssen für den Terminaltyp Folgendes tun sudo visudound am Ende der Datei eine Zeile wie diese hinzufügen, in der die Befehle angegeben sind, die Sie ausführen möchten, ohne das sudo-Kennwort einzugeben:

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

Jetzt können Sie die angegebenen Befehle ohne Kennwort ausführen, solange Sie diesen Befehl mit eingeben sudo.

dh: Sie können ausführen, shutdown -r nowohne jedes Mal das sudo-Passwort eingeben zu müssen, und Ihr Benutzername lautet "joedoe".

  1. Geben Sie sudo visudoauf einem Terminal ein

  2. Fügen Sie joedoe hostname=NOPASSWD: shutdown -r nowam Ende der Datei eine neue Zeile hinzu

  3. In Ihrem Skript können Sie es dann verwenden, sudo shutdown -r nowohne das sudo-Passwort eingeben zu müssen.

Um einen Scrip zu erstellen, verwenden Sie Ihren bevorzugten Editor, um einen <nameofyourscript>.shmit dem Inhalt zu erstellen :

#! /bin/bash

sudo <commandsyouwanttorun1>
<commandsyouwanttorun2>
sudo<commandsyouwanttorun3>

Verwenden Sie sudo, um Befehle aufzurufen, die es benötigen. Solange Sie dies in der NOPASSWD: <commmand1>, <command2>, etcZeile hinzugefügt haben, werden Sie nicht nach dem Kennwort gefragt visudo.

Danach müssen Sie es ausführbar machen mit : sudo chmod 755 <nameofyourscript>.sh.

Jetzt können Sie Ihr Skript sh <nameofyourscript>.shauf einem Terminal ausführen , indem Sie darauf doppelklicken und runim Dialogfeld auswählen oder in Ihr Dialogfeld einfügen, ~/.gnome2/nautilus-scripts/das dann in Ihrem scriptsMenü angezeigt wird, wenn Sie mit der rechten Maustaste auf nautilus klicken:

Geben Sie hier die Bildbeschreibung ein

Erstellen Sie einen Rechtsklick "Als Administrator öffnen" ohne Passwort

Um ein Skript zu erstellen, das Dateien mit Administratorrechten öffnet, indem Sie mit der rechten Maustaste darauf klicken und es so gestalten, dass keine Kennwörter abgefragt werden, erstellen Sie ein Skript mit den folgenden Eigenschaften:

#! /bin/bash
for file in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
gksudo "gnome-open $file" &
done

Speichern Sie es auf Ihrem ~/.gnome2/nautilus-scripts/, machen Sie es ausführbar mit sudo chmod 755 ~/.gnome2/nautilus-scripts/<nameofyourscript>.sh, indem sudo visudoSie die Zeile hinzufügen <yourusername> ALL=NOPASSWD: /usr/bin/gnome-openund die Datei speichern.

Sie sollten in der Lage sein, mit der rechten Maustaste auf eine Datei zu klicken, in Ihren Skriptordner zu wechseln und das gerade erstellte Skript auszuwählen, um diese Datei mit Root-Berechtigungen zu öffnen. gnome-openwird den Dateityp so gut wie möglich behandeln.

Klicken Sie auf Ihr openasadmin-Skript

erledigt!

Bruno Pereira
quelle
Danke für die Antwort! Aber es gab ein kleines Missverständnis: Was ich brauchte, war "als Administrator ausführen", nicht "als Administrator öffnen", also habe ich die Leitung "gksudo "gnome-open $file" &"auf"gksudo "gnome-terminal -x $file" &"
Olcay Ertaş
Klar, das "erste Kapitel" würde dir genug Informationen geben, um zu tun, was immer du willst;) froh, dass es geholfen hat!
Bruno Pereira
1

Nautilus-Skripte müssen normalerweise abgelegt werden $HOME/.gnome2/nautilus-scripts/und müssen ausführbar sein. Davon abgesehen sollte das folgende Skript tun, was Sie wollen:

#!/bin/bash

IFS='
'

for file in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
    gksudo -k "sh -c 'chmod +x $file; $file'"
done

Sie können von nautilus aus auf dieses Skript zugreifen, indem Sie mit der rechten Maustaste auf die Datei klicken, den Mauszeiger über das Skriptmenü bewegen und dann auf den Dateinamen des Skripts in klicken $HOME/.gonme2/nautilus-scritps/. Sie müssen jedoch noch Ihr Passwort eingeben.

Es gibt keine sichere Möglichkeit, dies mit beliebigen Dateien zu tun, ohne Ihr Passwort einzugeben. Für spezielle Befehle wird der Prozess im Beitrag von brunopereira81 hier beschrieben und verwendet sudo. Abhängig von den Befehlen führt dies jedoch zu einem anfälligen System. Wenn Sie sich nicht darum kümmern (und ich rate dringend davon ab), können Sie ALLBefehle festlegen , die nur verwendet NOPASSWDund ersetzt gksudowerden sollen sudo.

verwechseln
quelle
Warum ändern Sie die Datei permanent?
Michał Šrajer
weil es der schnelle Weg war: D
con-f-use
1

Sie können diese Nautilus-Erweiterung verwenden. Nautilus-gksu Installieren Sie nautilus-gksu .

sudo apt-get install nautilus-gksu

Durch die Installation wird ein Eintrag "Als Administrator öffnen" in Ihrem Nautilus-Kontextmenü hinzugefügt.

Geben Sie hier die Bildbeschreibung ein

Wenn Sie Dateien mit Root-Berechtigung öffnen müssen, müssen Sie nur mit der rechten Maustaste auf die Datei klicken und "Als Administrator öffnen" auswählen.

Weitere coole Erweiterungen finden Sie unter: http://www.techdrivein.com/2010/09/6-useful-nautilus-extensions-and.html

b-ak
quelle
"Als Administrator öffnen" fragt weiterhin nach einem Passwort.
con-f-use
1
Ya es tut .. :)
b-ak