Autore Topic: inserire password in terminale  (Letto 1472 volte)

Offline luca1202

  • Gambero
  • **
  • Post: 95
    • Mostra profilo
    • http://luca1202.wordpress.com
inserire password in terminale
« il: 26 Dicembre 2011, 12:25:12 »
salve a tutti e auguri di buon natale!! :2birre:

ho un problema a cui non riesco a trovare soluzione (probabilmente per mia ignoranza); praticamente all'interno di un programma ho un piccolo form con un pulsante e alla pressione di questo pulsante dovrebbe partire l'installazione dei pacchetti relativi a mysql.

il codice che ho usato è il seguente
Codice: [Seleziona]
PUBLIC SUB Button2_Click()

  DIM out AS String
 
  SHELL "gksu apt-get install mysql-server mysql-client" WAIT TO out
  PRINT out

END

se avete mai installato mysql, sapete sicuramente che ad un certo punto dell'installazione vi chiede di impostare la password di amministratore per il server mysql e qui sorge il problema.
A me piacerebbe fare in modo che arrivato a questo punto si aprisse un popup all'interno del quale inserire la password e alla pressione del tasto ok fosse passata al terminale.

Guardandomi la documentazione del comando shell ho visto l'opzione WRITE da aggiungere, ma non ho capito come usarla per il mio scopo.
E' possibile? O chiedo troppo?
il mio progetto -> SITO

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: inserire password in terminale
« Risposta #1 il: 26 Dicembre 2011, 14:11:27 »
 
  SHELL "gksu apt-get install mysql-server mysql-client" WAIT TO out


...scusami, ma il primo comando non dovrebbe essere " gksudo "  (e non gksu) ?
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: inserire password in terminale
« Risposta #2 il: 27 Dicembre 2011, 10:26:45 »
 
  SHELL "gksu apt-get install mysql-server mysql-client" WAIT TO out


...scusami, ma il primo comando non dovrebbe essere " gksudo "  (e non gksu) ?

Dipende dalla distro su cui si sta operando. Sudo è figlia di Ubuntu e ciò ha provocato una confusione non indifferente. Le altre distro utilizzano su.

Offline alcresio

  • Grande Gambero
  • ***
  • Post: 100
    • Mostra profilo
Re: inserire password in terminale
« Risposta #3 il: 05 Febbraio 2012, 02:03:40 »
se il tuo programma prevede una pagina di opzioni, ti consiglio di memorizzare li la password, e poi usare uno script expect da creare via codice e da lanciare con shell...
 qui un esempio per creare uno script, renderlo eseguibile ed eseguirlo....

PUBLIC SUB Button1_Click()
  DIM hFile AS File
DIM sLine AS String

 hFile = OPEN Application.Path &/ "pippo" FOR OUTPUT CREATE
   PRINT #hFile, "#!/usr/bin/expect"
   PRINT #hFile, "set Sorg " & Quote("path1/path2/pippo.test")
   PRINT #hFile, "set Dest " & Quote(Application.Path &/ "pippo.test")
   PRINT #hFile, "set Pass " & Quote("password")
   PRINT #hFile, "spawn /usr/bin/scp -P 64333 utente@x.x.x.x:/$Sorg $Dest"
   PRINT #hFile, "expect {"
   PRINT #hFile, "password: {send  " & Quote("$" & "Pass\r") & "; exp_continue}"
   PRINT #hFile, "}"
hFile.Close

SHELL "chmod +x " & Application.Path &/ "pippo" WAIT
SHELL Application.Path &/ "pippo" WAIT

END

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: inserire password in terminale
« Risposta #4 il: 05 Febbraio 2012, 10:10:51 »
non è molto simpatico ne etico avere un programma che memorizza la password di root!

Offline alcresio

  • Grande Gambero
  • ***
  • Post: 100
    • Mostra profilo
Re: inserire password in terminale
« Risposta #5 il: 05 Febbraio 2012, 17:53:01 »
non è molto simpatico ne etico avere un programma che memorizza la password di root!

puoi sempre criptarla...  ;D

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: inserire password in terminale
« Risposta #6 il: 06 Febbraio 2012, 18:35:33 »
già ma se la cripti devi usare una chiave , la chiave la devi salvare da qualche parte, avendo un sw open è molto semplice risalire alla posizione della chiave, della password criptata e quindi alla pass decriptata.

se usi un alogoritmo tipo md5 invece non la puoi più usare

Offline alcresio

  • Grande Gambero
  • ***
  • Post: 100
    • Mostra profilo
Re: inserire password in terminale
« Risposta #7 il: 06 Febbraio 2012, 19:47:47 »
Una domanda sciocca... Ma la password di root della tua macchina è registrata in un file oppure hai un angelo mnemonico che fa il login per te? :rotfl:
Intendo dire che la password di ogni sistema linux è registrata in un file, linux è opensource: stai dicendo che non siamo al sicuro!  :hatecomputer: ahahahah!

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: inserire password in terminale
« Risposta #8 il: 06 Febbraio 2012, 20:05:08 »
sono due cose ben distinte il funzionamento della pass di root e quello che vuoi fare tu

in linux la pass viene salvata criptata , quando si ha bisogno di un operazione utente il sistema si occuopa di confrontare la passwor criptata con la criptatura della pass che inserisci, il tipo di criptatura permette di non risalire alla password.

quello che vuoi fare tu è nettamente diverso!

tu vuoi salvare la password per poterla utilizzare in uno script , quindi al tuo script passi una password in chiaro che devi salvare tramite il tuo programma.
se non riesci a capire la differenza tra i due sistemi hai poco da ridere! ... io mi metteri a piangere se fossi in te


Offline alcresio

  • Grande Gambero
  • ***
  • Post: 100
    • Mostra profilo
Re: inserire password in terminale
« Risposta #9 il: 07 Febbraio 2012, 01:03:58 »
 Vedo che non hai capito cosa intendevo... 
Ovviamente tutto dipende dal livello di sicurezza su cui si opera: uno potrebbe solo voler fare una cosina per il serverino casalingo...
Ma se vuoi fare le cose più sicure sappi che si può... Forse non sai come criptare le password in uno script o come usare la crittografia  :-\ questo però non ti da il diritto di "attaccarmi"...
Però ti da il diritto di chiedere come...  Magari, tempo permettendo,  farò un articolo da pubblicare proprio su questo forum...


Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: inserire password in terminale
« Risposta #10 il: 07 Febbraio 2012, 09:48:58 »
Vedo che non hai capito cosa intendevo... 
Ovviamente tutto dipende dal livello di sicurezza su cui si opera: uno potrebbe solo voler fare una cosina per il serverino casalingo...
Ma se vuoi fare le cose più sicure sappi che si può... Forse non sai come criptare le password in uno script o come usare la crittografia  :-\ questo però non ti da il diritto di "attaccarmi"...
Però ti da il diritto di chiedere come...  Magari, tempo permettendo,  farò un articolo da pubblicare proprio su questo forum...



Se una crittografia è reversibile allora non è sicura. Questo concetto è la base della crittografia.