Come si chiama una finestra di dialogo per l'autenticazione?

13

Sto scrivendo un programma gui usando il modulo wx in python. In programma ogni volta che accedo a una cartella che richiede il privilegio di root allora chiede la password al terminale ma voglio mostrare la finestra di dialogo all'utente per inserire la password e autenticarlo. Come chiamare quella finestra di dialogo e autenticare l'utente in ubuntu?

    
posta rupali 26.04.2012 - 12:40

3 risposte

8

Ci sono due diversi Q & amp; Come a StackOverflow che risponde alla tua domanda: qui e qui .

Entrambe le risposte usano il comando gksudo (già citato da @khamer). Se esegui gksudo command (anche senza python) farà fondamentalmente ciò che sudo fa, ma con un'interfaccia grafica, cioè chiedi all'utente una password e poi esegui il comando come root se l'utente si trova nel file sudoers.

Per implementare la soluzione suggerita dalle risposte collegate in python, puoi usare qualcosa come mostrato dal seguente esempio:

Crea un file run.py :

#!/usr/bin/python

import subprocess
subprocess.call(['gksudo','python create.py'])

E un file create.py :

#!/usr/bin/python

# Create test file..
f = file("mytestfile", "w")

Quindi esegui python run.py e dopo aver inserito la password verrà creato un file di proprietà di root. Se esegui python create.py sarà di tua proprietà (il file non dovrebbe esistere prima di eseguire lo script).

    
risposta data lumbric 29.05.2012 - 18:07
3

Mentre sono sicuro che ci sia una soluzione python più elaborata, la versione down e dirty è usare gksudo. gksudo fa la stessa cosa sudo, eccetto che crea quella finestra di dialogo per l'autenticazione che hai menzionato invece di chiedere sulla riga di comando.

Vedi link

    
risposta data khamer 24.05.2012 - 13:52
0

Inserisci questo script nel tuo codice:

import os

Password = raw_input('Please enter your root password!')

sudo_command = '<your command>'

execute = os.system('echo %s|sudo -S %s' % (Password, sudo_command))
    
risposta data upapilot 22.06.2012 - 12:32

Leggi altre domande sui tag