Pagina 1 di 2
Come generare password per /etc/passwd ?
Inviato: dom 15 mar 2009, 14:29
da DanBadJar
Ciao!
che voi sappiate c'è modo di generare una password con algoritmo NBS/DES , quindi compatibile col file /etc/passwd ?
Mi servirebbe un comando che, banalmente, presa la stringa in input, la codifichi.
Sapete se c'è niente del genere?
Re: Come generare password per /etc/passwd ?
Inviato: dom 15 mar 2009, 18:28
da anycolouryoulike
Ma in /etc/passwd ci sono password?
Re: Come generare password per /etc/passwd ?
Inviato: dom 15 mar 2009, 18:36
da DanBadJar
Se il secondo campo è x allora utilizza il file shadow per memorizzare le password. Altrimenti puoi memorizzarle direttamente li dentro.
L'algoritmo è sempre quello, ma non conosco tool che possano generare una password del genere!

Re: Come generare password per /etc/passwd ?
Inviato: dom 15 mar 2009, 18:38
da anycolouryoulike
Non lo sapevo.
Re: Come generare password per /etc/passwd ?
Inviato: dom 15 mar 2009, 19:25
da sixjan
Re: Come generare password per /etc/passwd ?
Inviato: dom 15 mar 2009, 19:53
da sixjan
Oppure c'è un'altro esempio qui:
http://www.gnu.org/software/libtool/man ... crypt.html
Codice: Seleziona tutto
#include <stdio.h>
#include <time.h>
#include <unistd.h>
#include <crypt.h>
int
main(void)
{
unsigned long seed[2];
char salt[] = "$1$........";
const char *const seedchars =
"./0123456789ABCDEFGHIJKLMNOPQRST"
"UVWXYZabcdefghijklmnopqrstuvwxyz";
char *password;
int i;
/* Generate a (not very) random seed.
You should do it better than this... */
seed[0] = time(NULL);
seed[1] = getpid() ^ (seed[0] >> 14 & 0x30000);
/* Turn it into printable characters from `seedchars'. */
for (i = 0; i < 8; i++)
salt[3+i] = seedchars[(seed[i/5] >> (i%5)*6) & 0x3f];
/* Read in the user's password and encrypt it. */
password = crypt(getpass("Password:"), salt);
/* Print the results. */
puts(password);
return 0;
}
Gli esempi si compilano con:
gcc -lcrypt esempio.c -o eseguibile
Ciao.
Re: Come generare password per /etc/passwd ?
Inviato: dom 15 mar 2009, 20:16
da DanBadJar
Grazie! Era proprio quello che cercavo!
Re: Come generare password per /etc/passwd ?
Inviato: dom 15 mar 2009, 23:21
da zoros
Se può essere utile questo comando genera password compatibili /etc/passwd:
Codice: Seleziona tutto
echo la_mia_pass | /usr/sbin/ftpasswd --hash --md5 --stdin | cut -d":" -f2 | cut -d" " -f2
per cui messo in uno script può generare utenti in automatico:
Codice: Seleziona tutto
PASSWORD_=`echo $pass_ | /usr/sbin/ftpasswd --hash --md5 --stdin | cut -d":" -f2 | cut -d" " -f2`
useradd -g $group_ -c "$desc_" -m -k /etc/skel -s /bin/bash -d "/home/$user_" -f -1 -p `echo "$PASSWORD_"` $user_
Re: Come generare password per /etc/passwd ?
Inviato: lun 16 mar 2009, 15:56
da Ansa89
Domanda un po' OT: ma in "/etc/passwd" (o "/etc/shadow") non ci sono gli hash della password criptate con md5?
Re: Come generare password per /etc/passwd ?
Inviato: lun 16 mar 2009, 20:27
da zoros
Ansa89 ha scritto:Domanda un po' OT: ma in "/etc/passwd" (o "/etc/shadow") non ci sono gli hash della password criptate con md5?
Non ho capito se la domanda è generale o si riferisce al precedente post ... puoi esplicitarla meglio ?
Re: Come generare password per /etc/passwd ?
Inviato: lun 16 mar 2009, 22:13
da urka58
Perchè creare una password e trasformarla in un hash, visto che la stessa criptata, è un hash?
Se serve una password con un buon grado di casualità in modo da evitare ( o almeno renedere un po' più difficili) attacchi di tipo dizionario, basta generarla da random,es
Codice: Seleziona tutto
cat /dev/urandom | tr -dc _A-Z-a-z-0-9 | head -c 8 | less
A meno che lo scopo non sia tutt'altro, e allora se mi spiegate...? giusto per curiosità.
Ciao
Re: Come generare password per /etc/passwd ?
Inviato: lun 16 mar 2009, 22:51
da Ansa89
La mia voleva essere una domanda generale, non per forza legata ai precedenti post.
@urka58: non ho capito se il tuo post è una risposta alla mia domanda.
Re: Come generare password per /etc/passwd ?
Inviato: lun 16 mar 2009, 22:57
da urka58
Ansa89 ha scritto:La mia voleva essere una domanda generale, non per forza legata ai precedenti post.
@urka58: non ho capito se il tuo post è una risposta alla mia domanda.
No, non capisco a cosa serva criptare una password che il sistema cripta da solo, siccome sono curioso, chiedo...la domanda è rivolta a chi ha iniziato il thread, DanBadJar credo, visto che tra tutti stiamo facendo un po' di casino.
Ciao
Re: Come generare password per /etc/passwd ?
Inviato: lun 16 mar 2009, 23:00
da DanBadJar
Non si tratta di generare una password casuale o complessa.
Stavo chiedendo come fare a generare una password per un utente di sistema, tramite un banale comando (ho compilato il sorgente che mi è stato consigliato), dato che sto scrivendo un'applicazione che crea utenti unix senza usare il classico useradd e lavora direttamente sul file /etc/passwd.
Re: Come generare password per /etc/passwd ?
Inviato: lun 16 mar 2009, 23:03
da Ansa89
Da quanto ho capito DanBadJar vuole editare a mano il file "/etc/passwd" e quindi deve scrivere dentro al file l'hash della password, perché quando il sistema va a leggere il file si aspetta un hash.
Questo è quello che ho capito io, spero di essere stato chiaro nell'esposizione.