Come posso aggiungere uno script a nautilus per eseguire il file selezionato come amministratore?


8

Come posso aggiungere uno script a nautilus per eseguire il file selezionato come amministratore (non aprire come amministratore)? E se è possibile, voglio eseguire questo file come amministratore senza inserire la mia password.

Risposte:


7

Informazioni sull'uso di sudo o gksudo su script senza password

È necessario eseguire le seguenti operazioni, sul tipo di terminale sudo visudoe aggiungere una riga come questa alla fine del file specificando i comandi che si desidera eseguire senza digitare la password sudo:

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

Ora è possibile eseguire i comandi specificati senza password purché si digiti quel comando sudo.

vale a dire: ti consente di eseguire shutdown -r nowsenza dover digitare sudo password ogni volta e il tuo nome utente è 'joedoe'

  1. digitare sudo visudosu un terminale

  2. Aggiungi joedoe hostname=NOPASSWD: shutdown -r nowcome nuova riga alla fine del file

  3. sul tuo script puoi quindi usare sudo shutdown -r nowsenza dover digitare la password sudo.

Per creare uno script usa il tuo editor preferito per creare un <nameofyourscript>.shcon il contenuto:

#! /bin/bash

sudo <commandsyouwanttorun1>
<commandsyouwanttorun2>
sudo<commandsyouwanttorun3>

Usa sudo per chiamare i comandi che ne hanno bisogno, non ti chiederà la password fintanto che l'hai aggiunta sulla NOPASSWD: <commmand1>, <command2>, etclinea visudo.

Dopo di che è necessario renderlo eseguibile con: sudo chmod 755 <nameofyourscript>.sh.

Ora puoi eseguire il tuo script usando sh <nameofyourscript>.shsu un terminale, facendo doppio clic su di esso e selezionando runnella finestra di dialogo o inserendoli nel tuo ~/.gnome2/nautilus-scripts/che sarà quindi disponibile nel tuo scriptsmenu quando fai clic con il tasto destro su nautilus:

inserisci qui la descrizione dell'immagine

Crea un clic destro "Apri come amministratore" senza password

Per creare uno script che apre i file utilizzando le autorizzazioni di amministratore facendo clic con il pulsante destro del mouse su di essi e facendo in modo che non venga richiesta alcuna password, creare uno script con il seguente:

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

Salvalo sul tuo ~/.gnome2/nautilus-scripts/, rendilo eseguibile con sudo chmod 755 ~/.gnome2/nautilus-scripts/<nameofyourscript>.sh, usando sudo visudoaggiungi la linea <yourusername> ALL=NOPASSWD: /usr/bin/gnome-opene salva il file.

Dovresti essere in grado di fare clic con il pulsante destro del mouse su un file, passare alla cartella degli script e selezionare lo script appena creato per aprire quel file utilizzando le autorizzazioni di root. gnome-opengestirà il tipo di file nel miglior modo possibile.

fai clic sul tuo script openasadmin

fatto!


Grazie per la risposta! Ma c'era un piccolo fraintendimento: quello di cui avevo bisogno era "corri come admin" non "apri come admin", quindi ho cambiato la linea "gksudo "gnome-open $file" &"a"gksudo "gnome-terminal -x $file" &"
Olcay Ertaş,

Certo, il "primo capitolo" ti darebbe abbastanza informazioni per fare quello che vuoi;) felice che ti sia stato d'aiuto!
Bruno Pereira,

1

Gli script Nautilus di solito devono essere inseriti $HOME/.gnome2/nautilus-scripts/e devono essere eseguibili. Detto questo, il seguente script dovrebbe fare quello che vuoi:

#!/bin/bash

IFS='
'

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

Puoi accedere a quello script da nautilus facendo clic con il pulsante destro del mouse sul file, passando con il mouse sul menu dello script e facendo clic sul nome file dello script in $HOME/.gonme2/nautilus-scritps/. Devi comunque inserire la tua password.

Non esiste un modo sicuro per farlo con file arbitrari senza inserire la password. Per comandi speciali il processo è descritto nel post di brunopereira81 qui e usa sudo ma a seconda dei comandi porterà a un sistema vulnerabile. Se non ti interessa (e ti consiglio vivamente di non farlo) puoi impostare i ALLcomandi da usare NOPASSWDe sostituire gksudosemplicemente sudo.


Perché chmod permanentemente il file?
Michał Šrajer,

perché era il modo rapido: D
con-f-use

1

È possibile utilizzare questa estensione Nautilus. Nautilus-gksu Installa nautilus-gksu .

sudo apt-get install nautilus-gksu

Installandolo si aggiunge una voce "Apri come amministratore" nel menu di scelta rapida di nautilus.

inserisci qui la descrizione dell'immagine

Quando è necessario aprire qualsiasi file con il permesso di root, è sufficiente fare clic con il tasto destro del mouse sul file, selezionare "Apri come amministratore", così semplice.

Per estensioni più interessanti visitare: http://www.techdrivein.com/2010/09/6-useful-nautilus-extensions-and.html


"Apri come amministratore" chiede ancora una password.
con-f-use

1
Ya it does .. :)
b-ak
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.