Jak mogę dodać skrypt do nautilus do uruchamiania wybranego pliku jako administrator?

8

Jak mogę dodać skrypt do nautilus, aby uruchomić wybrany plik jako administrator (nie otwierać jako administrator)? A jeśli to możliwe, chcę uruchomić ten plik jako administrator bez podawania hasła.

Olcay Ertaş
źródło

Odpowiedzi:

7

Informacje o używaniu sudo lub gksudo w skryptach bez hasła

Musisz wykonać następujące czynności na typie terminala sudo visudoi dodać taką linię na końcu pliku, określając polecenia, które chcesz uruchomić bez wpisywania hasła sudo:

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

Teraz możesz uruchamiać określone polecenia bez hasła, o ile wpisujesz je za pomocą sudo.

tzn .: pozwala na uruchomienie shutdown -r nowbez konieczności wpisywania hasła sudo za każdym razem, a twoja nazwa użytkownika to „joedoe”

  1. wpisz sudo visudona terminalu

  2. Dodaj joedoe hostname=NOPASSWD: shutdown -r nowjako nowy wiersz na końcu pliku

  3. na skrypcie możesz użyć sudo shutdown -r nowbez konieczności wpisywania hasła sudo.

Aby utworzyć skrypt, użyj ulubionego edytora do utworzenia <nameofyourscript>.shz zawartością:

#! /bin/bash

sudo <commandsyouwanttorun1>
<commandsyouwanttorun2>
sudo<commandsyouwanttorun3>

Użyj sudo, aby wywoływać polecenia, które go potrzebują, nie poprosi o hasło, dopóki dodałeś je w NOPASSWD: <commmand1>, <command2>, etclinii visudo.

Potem trzeba uczynić go wykonywalnym z: sudo chmod 755 <nameofyourscript>.sh.

Teraz możesz uruchomić skrypt za sh <nameofyourscript>.shpomocą terminala, klikając go dwukrotnie i wybierając runw oknie dialogowym lub wstaw je do swojego, ~/.gnome2/nautilus-scripts/który będzie dostępny w scriptsmenu po kliknięciu prawym przyciskiem myszy nautilus:

wprowadź opis zdjęcia tutaj

Utwórz prawym przyciskiem myszy „Otwórz jako administrator” bez hasła

Aby utworzyć skrypt otwierający pliki przy użyciu uprawnień administratora, klikając je prawym przyciskiem myszy i czyniąc go tak, aby żadne hasło nie było wyświetlane, utwórz skrypt z następującymi elementami:

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

Zapisz go na swoim ~/.gnome2/nautilus-scripts/, zrób to za sudo chmod 755 ~/.gnome2/nautilus-scripts/<nameofyourscript>.shpomocą, sudo visudododaj linię <yourusername> ALL=NOPASSWD: /usr/bin/gnome-openi zapisz plik.

Powinieneś być w stanie kliknąć plik prawym przyciskiem myszy, przejść do folderu skryptów i wybrać skrypt, który właśnie utworzyłeś, aby otworzyć ten plik przy użyciu uprawnień użytkownika root. gnome-openobsłuży typ pliku tak dobrze, jak to możliwe.

kliknij swój skrypt openasadmin

gotowy!

Bruno Pereira
źródło
Dziękuję za odpowiedź! Ale było małe nieporozumienie: potrzebowałem „uruchomić jako administrator”, a nie „otworzyć jako administrator”, więc zmieniłem linię "gksudo "gnome-open $file" &"na"gksudo "gnome-terminal -x $file" &"
Olcay Ertaş,
Jasne, „pierwszy rozdział” dostarczyłby ci wystarczających informacji, abyś mógł zrobić wszystko, co chcesz;) Cieszę się, że pomógł!
Bruno Pereira
1

Skrypty Nautilus zwykle należy umieszczać $HOME/.gnome2/nautilus-scripts/i wykonywać w trybie wykonywalnym. Biorąc to pod uwagę, poniższy skrypt powinien zrobić, co chcesz:

#!/bin/bash

IFS='
'

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

Możesz uzyskać dostęp do tego skryptu z programu nautilus, klikając prawym przyciskiem myszy plik, najeżdżając myszą na menu skryptu, a następnie klikając nazwę pliku skryptu w $HOME/.gonme2/nautilus-scritps/. Nadal musisz jednak podać hasło.

Nie ma bezpiecznego sposobu na wykonanie tego z dowolnymi plikami bez podawania hasła. W przypadku specjalnych poleceń proces jest opisany w poście brunopereira81 tutaj i używa sudo, ale w zależności od poleceń doprowadzi do podatnego systemu. Jeśli cię to nie obchodzi (a ja stanowczo odradzam to), możesz ustawić ALLpolecenia, które będą używane NOPASSWDi zastąpione gksudoprzez just sudo.

dezorientować
źródło
Dlaczego trwale chmod plik?
Michał Šrajer,
ponieważ była to szybka droga: D
con-f-use
1

Możesz użyć tego rozszerzenia Nautilus. Nautilus-gksu Zainstaluj nautilus-gksu .

sudo apt-get install nautilus-gksu

Zainstalowanie go dodaje pozycję „Otwórz jako administrator” w menu prawym przyciskiem myszy nautilus.

wprowadź opis zdjęcia tutaj

Aby otworzyć dowolne pliki z uprawnieniami administratora, wystarczy kliknąć plik prawym przyciskiem myszy i wybrać „Otwórz jako administrator”, tak proste.

Więcej fajnych rozszerzeń można znaleźć na stronie: http://www.techdrivein.com/2010/09/6-useful-nautilus-extensions-and.html

b-ak
źródło
„Otwórz jako administrator” nadal prosi o hasło.
con-f-use
1
Tak, to .. :)
b-ak