Como posso adicionar um script ao nautilus para executar o arquivo selecionado como administrador?

8

Como posso adicionar um script ao nautilus para executar o arquivo selecionado como administrador (não abrir como administrador)? E, se possível, desejo executar este arquivo como administrador sem inserir minha senha.

Olcay Ertaş
fonte

Respostas:

7

Informações sobre o uso de sudo ou gksudo em scripts sem senha

Você precisa fazer o seguinte, no tipo de terminal sudo visudoe adicionar uma linha como esta no final do arquivo, especificando os comandos que deseja executar sem digitar a senha do sudo:

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

Agora você pode executar os comandos especificados sem senha, desde que você digite esse comando sudo.

ou seja: permite que você queira executar shutdown -r nowsem precisar digitar a senha sudo toda vez e seu nome de usuário é 'joedoe'

  1. digite sudo visudoem um terminal

  2. Adicione joedoe hostname=NOPASSWD: shutdown -r nowcomo uma nova linha no final do arquivo

  3. no seu script, você pode usá-lo sudo shutdown -r nowsem precisar digitar a senha do sudo.

Para criar um script, use seu editor favorito para criar um <nameofyourscript>.shcom o conteúdo:

#! /bin/bash

sudo <commandsyouwanttorun1>
<commandsyouwanttorun2>
sudo<commandsyouwanttorun3>

Use o sudo para chamar comandos que precisam, pois ele não pedirá senha desde que você a tenha adicionado na NOPASSWD: <commmand1>, <command2>, etclinha visudo.

Depois que você precisa para torná-lo executável com: sudo chmod 755 <nameofyourscript>.sh.

Agora você pode executar seu script usando sh <nameofyourscript>.shum terminal, clicando duas vezes nele e selecionando runna caixa de diálogo ou colocando-o no seu, ~/.gnome2/nautilus-scripts/que estará disponível no seu scriptsmenu quando você clicar com o botão direito do mouse no nautilus:

insira a descrição da imagem aqui

Crie um clique com o botão direito do mouse em "Abrir como administrador" sem senha

Para criar um script que abra arquivos usando permissões de administrador, clique com o botão direito do mouse neles e faça com que nenhuma senha seja solicitada para criar um script com o seguinte:

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

Salve no seu ~/.gnome2/nautilus-scripts/, torne-o executável com sudo chmod 755 ~/.gnome2/nautilus-scripts/<nameofyourscript>.sh, sudo visudoadicione a linha <yourusername> ALL=NOPASSWD: /usr/bin/gnome-opene salve o arquivo.

Você deve poder clicar com o botão direito do mouse em um arquivo, ir para sua pasta de scripts e selecionar o script que você acabou de criar para abrir esse arquivo usando permissões de raiz. gnome-openmanipulará o tipo de arquivo da melhor maneira possível.

clique no seu script openasadmin

feito!

Bruno Pereira
fonte
Obrigado pela resposta! Mas houve um pequeno mal-entendido: o que eu preciso foi "executar como administrador" não "aberto como admin", então eu chanched a linha "gksudo "gnome-open $file" &"para"gksudo "gnome-terminal -x $file" &"
Olcay ERTAS
Claro, o "primeiro capítulo" forneceria informações suficientes para você fazer o que quisesse;) feliz por ter ajudado!
Bruno Pereira
1

Os scripts do Nautilus geralmente devem ser colocados $HOME/.gnome2/nautilus-scripts/e precisam ser executáveis. Dito isto, o script a seguir deve fazer o que você deseja:

#!/bin/bash

IFS='
'

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

Você pode acessar esse script do nautilus clicando com o botão direito do mouse no arquivo, passando o mouse sobre o menu de script e, em seguida, clicando no nome do arquivo do script em $HOME/.gonme2/nautilus-scritps/. Você ainda precisa digitar sua senha.

Não existe uma maneira segura de fazer isso com arquivos arbitrários sem inserir sua senha. Para comandos especiais, o processo é descrito no post de brunopereira81 aqui e usa o sudo, mas dependendo dos comandos levará a um sistema vulnerável. Se você não se importa (e eu aconselho fortemente isso), você pode definir ALLcomandos para usar NOPASSWDe substituir gksudoapenas sudo.

confundir
fonte
Por que você chmod permanentemente o arquivo?
Michał Šrajer
porque era a maneira mais rápida: D
con-f-use
1

Você pode usar esta extensão do Nautilus. Nautilus-gksu Instale o nautilus-gksu .

sudo apt-get install nautilus-gksu

A instalação adiciona uma entrada 'Abrir como administrador' no menu de atalho do nautilus.

insira a descrição da imagem aqui

Quando você precisar abrir qualquer arquivo com permissão root, basta clicar com o botão direito do mouse no arquivo, selecionar 'Abrir como administrador', simples assim.

Para extensões mais interessantes, visite: http://www.techdrivein.com/2010/09/6-useful-nautilus-extensions-and.html

b-ak
fonte
"Abrir como administrador" ainda pede uma senha.
con-f-use
11
Ya ele faz .. :)
b-ak