Comment puis-je ajouter un script à nautilus pour exécuter le fichier sélectionné en tant qu'administrateur?

8

Comment puis-je ajouter un script à nautilus pour exécuter le fichier sélectionné en tant qu'administrateur (pas ouvrir en tant qu'administrateur)? Et si c'est possible, je veux exécuter ce fichier en tant qu'administrateur sans entrer mon mot de passe.

Olcay Ertaş
la source

Réponses:

7

Informations sur l'utilisation de sudo ou gksudo sur des scripts sans mot de passe

Vous devez faire ce qui suit, sur le type de terminal sudo visudoet ajouter une ligne comme celle-ci à la fin du fichier spécifiant les commandes que vous souhaitez exécuter sans taper le mot de passe sudo:

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

Vous pouvez maintenant exécuter les commandes spécifiées sans mot de passe tant que vous tapez cette commande avec sudo.

ie: vous permet de courir shutdown -r nowsans avoir à taper le mot de passe sudo à chaque fois et votre nom d'utilisateur est 'joedoe'

  1. taper sudo visudosur un terminal

  2. Ajouter en joedoe hostname=NOPASSWD: shutdown -r nowtant que nouvelle ligne à la fin du fichier

  3. sur votre script, vous pouvez ensuite utiliser sudo shutdown -r nowsans avoir à taper le mot de passe sudo.

Pour créer un script, utilisez votre éditeur préféré pour créer un <nameofyourscript>.shavec le contenu:

#! /bin/bash

sudo <commandsyouwanttorun1>
<commandsyouwanttorun2>
sudo<commandsyouwanttorun3>

Utilisez sudo pour appeler les commandes qui en ont besoin, il ne demandera pas de mot de passe tant que vous l'ajoutez sur la NOPASSWD: <commmand1>, <command2>, etcligne visudo.

Après cela , vous devez le rendre exécutable avec: sudo chmod 755 <nameofyourscript>.sh.

Vous pouvez maintenant exécuter votre script en utilisant sh <nameofyourscript>.shsur un terminal, en double-cliquant dessus et en runle sélectionnant dans la boîte de dialogue ou en les mettant dans votre ~/.gnome2/nautilus-scripts/qui sera alors disponible dans votre scriptsmenu lorsque vous cliquerez avec le bouton droit sur nautilus:

entrez la description de l'image ici

Créez un clic droit "Ouvrir en tant qu'administrateur" sans mot de passe

Pour créer un script qui ouvre des fichiers en utilisant les autorisations d'administrateur en cliquant dessus avec le bouton droit et en les faisant en sorte qu'aucun mot de passe ne soit demandé, créez un script avec les éléments suivants:

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

Enregistrez-le sur votre ~/.gnome2/nautilus-scripts/, rendez-le exécutable avec sudo chmod 755 ~/.gnome2/nautilus-scripts/<nameofyourscript>.sh, en utilisant sudo visudoajouter la ligne <yourusername> ALL=NOPASSWD: /usr/bin/gnome-openet enregistrez le fichier.

Vous devriez pouvoir cliquer avec le bouton droit sur un fichier, accéder à votre dossier de scripts et sélectionner le script que vous venez de créer pour ouvrir ce fichier à l'aide des autorisations root. gnome-opengérera le type de fichier aussi bien que possible.

cliquez sur votre script openasadmin

terminé!

Bruno Pereira
la source
Merci de répondre! Mais il y avait un petit malentendu: ce dont j'avais besoin était "exécuter en tant qu'administrateur" et non "ouvrir en tant qu'administrateur", alors j'ai changé la ligne "gksudo "gnome-open $file" &"pour"gksudo "gnome-terminal -x $file" &"
Olcay Ertaş
Bien sûr, le "premier chapitre" vous donnerait suffisamment d'informations pour faire tout ce que vous voulez;) heureux que cela ait aidé!
Bruno Pereira
1

Les scripts Nautilus doivent généralement être placés $HOME/.gnome2/nautilus-scripts/et doivent être exécutables. Cela étant dit, le script suivant devrait faire ce que vous voulez:

#!/bin/bash

IFS='
'

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

Vous pouvez accéder à ce script à partir de nautilus en cliquant avec le bouton droit sur le fichier, en survolant le menu de script, puis en cliquant sur le nom de fichier du script dans $HOME/.gonme2/nautilus-scritps/. Vous devez cependant saisir votre mot de passe.

Il n'y a aucun moyen sécurisé de le faire avec des fichiers arbitraires sans entrer votre mot de passe. Pour les commandes spéciales, le processus est décrit dans le post de brunopereira81 ici et utilise sudo mais en fonction des commandes, le système sera vulnérable. Si vous ne vous en souciez pas (et je le déconseille fortement), vous pouvez définir des ALLcommandes à utiliser NOPASSWDet à remplacer gksudopar juste sudo.

embrouiller
la source
Pourquoi modifiez-vous le fichier en permanence?
Michał Šrajer
parce que c'était le moyen le plus rapide: D
con-f-use
1

Vous pouvez utiliser cette extension Nautilus. Nautilus-gksu Installer nautilus-gksu .

sudo apt-get install nautilus-gksu

L'installation ajoute une entrée «Ouvrir en tant qu'administrateur» dans le menu contextuel de Nautilus.

entrez la description de l'image ici

Lorsque vous devez ouvrir des fichiers avec l'autorisation root, il vous suffit de cliquer avec le bouton droit sur le fichier, de sélectionner «Ouvrir en tant qu'administrateur», aussi simple que cela.

Pour des extensions plus cool, visitez: http://www.techdrivein.com/2010/09/6-useful-nautilus-extensions-and.html

b-ak
la source
"Ouvrir en tant qu'administrateur" demande toujours un mot de passe.
con-f-use
1
Ya it does .. :)
b-ak