¿Cómo puedo agregar un script a nautilus para ejecutar el archivo seleccionado como administrador?

8

¿Cómo puedo agregar un script a nautilus para ejecutar el archivo seleccionado como administrador (no abierto como administrador)? Y si es posible, quiero ejecutar este archivo como administrador sin ingresar mi contraseña.

Olcay Ertaş
fuente

Respuestas:

7

Información sobre el uso de sudo o gksudo en scripts sin contraseña

Debe hacer lo siguiente, en el tipo de terminal sudo visudoy agregar una línea como esta al final del archivo que especifique los comandos que desea ejecutar sin escribir la contraseña de sudo:

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

Ahora puede ejecutar los comandos especificados sin contraseña siempre que escriba ese comando con sudo.

es decir: le permite ejecutar shutdown -r nowsin tener que escribir sudo contraseña cada vez y su nombre de usuario es 'joedoe'

  1. escribir sudo visudoen una terminal

  2. Agregar joedoe hostname=NOPASSWD: shutdown -r nowcomo una nueva línea al final del archivo

  3. en su secuencia de comandos que puede usar sudo shutdown -r nowsin tener que escribir la contraseña de sudo.

Para crear una secuencia de comandos, use su editor favorito para crear una <nameofyourscript>.shcon el contenido:

#! /bin/bash

sudo <commandsyouwanttorun1>
<commandsyouwanttorun2>
sudo<commandsyouwanttorun3>

Use sudo para llamar a los comandos que lo necesitan, no solicitará una contraseña siempre que la haya agregado en la NOPASSWD: <commmand1>, <command2>, etclínea visudo.

Después de que usted necesita para que sea ejecutable con: sudo chmod 755 <nameofyourscript>.sh.

Ahora puede ejecutar su script usando sh <nameofyourscript>.shun terminal, haciendo doble clic en él y seleccionando runen el cuadro de diálogo o colocándolo en el ~/.gnome2/nautilus-scripts/que luego estará disponible en su scriptsmenú cuando haga clic derecho en nautilus:

ingrese la descripción de la imagen aquí

Crea un clic derecho en "Abrir como administrador" sin contraseña

Para crear un script que abra archivos usando permisos de administrador haciendo clic derecho sobre ellos y haciendo que no se solicite ninguna contraseña, cree un script con lo siguiente:

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

Guárdelo en su ~/.gnome2/nautilus-scripts/, hágalo ejecutable con sudo chmod 755 ~/.gnome2/nautilus-scripts/<nameofyourscript>.sh, sudo visudoagregue la línea <yourusername> ALL=NOPASSWD: /usr/bin/gnome-openy guarde el archivo.

Debería poder hacer clic con el botón derecho en un archivo, moverse a la carpeta de secuencias de comandos y seleccionar la secuencia de comandos que acaba de crear para abrir ese archivo utilizando permisos de root. gnome-openmanejará el tipo de archivo lo mejor posible.

haga clic en su script openasadmin

¡hecho!

Bruno Pereira
fuente
¡Gracias por responder! Pero hubo un pequeño malentendido: lo que necesitaba era "ejecutar como administrador", no "abrir como administrador", así que cambié la línea "gksudo "gnome-open $file" &"a"gksudo "gnome-terminal -x $file" &"
Olcay Ertaş el
Claro, el "primer capítulo" le daría suficiente información para hacer lo que quiera;) ¡me alegra que haya ayudado!
Bruno Pereira
1

Los scripts de Nautilus generalmente se deben colocar $HOME/.gnome2/nautilus-scripts/y deben ser ejecutables. Dicho esto, el siguiente script debe hacer lo que quieras:

#!/bin/bash

IFS='
'

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

Puede acceder a ese script desde nautilus haciendo clic derecho en el archivo, pasando el mouse sobre el menú del script y luego haciendo clic en el nombre del archivo del script $HOME/.gonme2/nautilus-scritps/. Sin embargo, aún debe ingresar su contraseña.

No hay una forma segura de hacerlo con archivos arbitrarios sin ingresar su contraseña. Para comandos especiales, el proceso se describe en la publicación de brunopereira81 aquí y usa sudo, pero dependiendo de los comandos conducirá a un sistema vulnerable. Si no le importa (y le aconsejo encarecidamente que no lo haga), puede configurar ALLcomandos para usar NOPASSWDy reemplazar gksudosolo sudo.

confundir
fuente
¿Por qué cambias permanentemente el archivo?
Michał Šrajer
porque era la forma rápida: D
con-f-use
1

Puede usar esta extensión Nautilus. Nautilus-gksu Instalar nautilus-gksu .

sudo apt-get install nautilus-gksu

Instalarlo agrega una entrada 'Abrir como administrador' en el menú de clic derecho de nautilus.

ingrese la descripción de la imagen aquí

Cuando necesite abrir cualquier archivo con permiso de root, solo tiene que hacer clic derecho en el archivo, seleccionar 'Abrir como administrador', así de simple.

Para obtener más extensiones interesantes, visite: http://www.techdrivein.com/2010/09/6-useful-nautilus-extensions-and.html

b-ak
fuente
"Abrir como administrador" aún solicita una contraseña.
con-f-use
1
Ya lo hace .. :)
b-ak