[php] useradd crypt

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Laatst online: 08:46
ik probeer een user aan te maken door middel van een php shell script.
nu werkt alles behalven me crypt password niet.

ik denk dat dit komt omdat me salt verkeerd is maar weet iemand wat die salt is van useradd.

ik heb gelezen en gezocht en toe zeiden ze dat de salt de eerste 2 chars is van het pass.

maar het pass is
$1$55777370$eM.wrnADMD9vUOlYj.ohM.
en als ik als salt $1 gebruik krijg ik een heel ander pass terug.
ik heb al vanalles geprobeerd voor salt $1, $1$, 1$, $1$5, enz.

maar niks hielpt er kan iemand me helpen?

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

  • muis
  • Registratie: Oktober 2001
  • Laatst online: 18-11-2022
de salt is toch gewoon 2 willekeurige letters / cijfers?
voor perl is het iig zo:

$username = 'rbowen';
$password = 'mypassword';
@chars=(0..9,'a'..'z');
$salt = $chars[int rand @chars] . $chars[int rand @chars];

$crypt = crypt($password, $salt);

(van de apache site http://httpd.apache.org/docs/howto/auth.html)

Een vergissing is menselijk maar om er een puinhoop van te maken heb je een computer nodig (met mij erachter)


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Laatst online: 08:46
ja, maar dat geldt alleen voor de .htaccess
maar de shadow file is in een md5 soort ofzo.
en die heeft een aparte, hij begint ook altijd met $1$.
normaal is dat dan ook de salt maar in dit geval niet.

daarom mijn vraag?

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

  • muis
  • Registratie: Oktober 2001
  • Laatst online: 18-11-2022
nee dat geld niet alleen voor de HTaccess. ik gebruik het zelf ook om op deze manier m'n shadow file te updaten

en dat werkt perfect

Een vergissing is menselijk maar om er een puinhoop van te maken heb je een computer nodig (met mij erachter)


Acties:
  • 0 Henk 'm!

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Uit man 3 crypt:
quote: man 3 crypt
GNU EXTENSION
The glibc2 version of this function has the following additional fea-
tures. If salt is a character string starting with the three charac-
ters "$1$" followed by at most eight characters, and optionally termi-
nated by "$", then instead of using the DES machine, the glibc crypt
function uses an MD5-based algorithm, and outputs up to 34 bytes,
namely "$1$$", where "" stands for the up to 8 charac-
ters following "$1$" in the salt, followed by 22 bytes chosen from the
set [a-zA-Z0-9./]. The entire key is significant here (instead of only
the first 8 bytes).

Programs using this function must be linked with -lcrypt.

God, root, what is difference? | Talga Vassternich | IBM zuigt


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Laatst online: 08:46
Dit heb ik ook gezien maar ik moet eerlijk zeggen dat ik dit nou niet echt snap, misschien dat iemand het me kan uitleggen.

ik wil crypt gewoon gebruiken samen met useradd -p maar dat lukt me dus niet.

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Laatst online: 08:46
oke, heb het nu voor elkaar om net een soort pass te krijgen al passwd zelf doet.
alleen kan ik niet inloggen met het password.

iemand een idee wat hier fout aan is?
PHP:
1
2
3
4
5
6
#!/usr/local/bin/php -q
<?
$Password = "testje";
$hash = crypt($Password, "\$1\$ie94jvns\$");
echo shell_exec("useradd -m -s /bin/false -p '".$hash."' test");
?>

[ Voor 11% gewijzigd door mrfatmen op 30-06-2003 20:37 ]

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Mr-FaTMeN schreef op 30 juni 2003 @ 20:34:
iemand een idee wat hier fout aan is?
* moto-moi knikt :P

PHP:
1
2
3
4
5
6
#!/usr/local/bin/php -q
<?
$Password = "testje";
$hash = crypt($Password, "\$1\$ie94jvns\$");
echo shell_exec("useradd -m -s /bin/false -p '".$hash."' test");
?>
het \$1\$ gedeelte wat je in het password hebt gezet staat in /etc/shadow om aan te geven dat het een MD5 password is, dat hoort dus [/i]niet[/] bij het password!

Je zult dus i.i.g.
PHP:
1
$hash = crypt($Password, "ie94jvns\$");

moeten gebruiken.
Verder moet je voor useradd een md5 password gebruiken, dus moet je dat wel gebruiken, soms gebruikt php standaard een DES routine die jij dus niet wilt hebben ;)

Maar dat staat allemaal vrij duidelijk hier uitlegd.

God, root, what is difference? | Talga Vassternich | IBM zuigt


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Laatst online: 08:46
ik heb even dat stukje voor de tigste keer na gelezen.
echt grondig.
en ik ben van mening dat de salt wel met $1$ moet beginnen
CRYPT_MD5 - MD5 encryption with a twelve character salt starting with $1$
desalniet te min heb ik het toch even getest zonder \$1\$, maar dan krijg je een totaal, ander soort password.

het zou wel kunnen dat hij de verkkerde pakt.
CRYPT_STD_DES staat aan
en
CRYPT_MD5 staat ook aan.

maar denk eerlijk gezegt niet dat dat het probleem is.
als ik het met \$1\$ doe krijg ik het volgende terug

$1$55538239$zupeRD/g.hV3VL6yPFSn21
en als we die vergelijken met 1 uit het shadow bestand.
$1$53916485$YHXPH7CJrKnedvOo04C.Q1
lijken ze toch wel heel erg het zelfde.

Misschien iemand eerder een script gemaakt, om een user aan te maken met php.
die heeft misschien een oplossing.

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

Verwijderd

Huh, encrypt useradd dan niet zelf het password???

Sorry :+

[ Voor 16% gewijzigd door Verwijderd op 01-07-2003 00:30 ]


Acties:
  • 0 Henk 'm!

Verwijderd

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    $crypt_ww   = crypt($wachtwoord);
    $hd_limiet  = $res_user[hd]*1024;
    $hd_hard_limiet = $hd_limiet + 512;
    
        // **************************************************************
        // Het daadwerkelijk uitvoeren van het toevoegen van de nieuwe 
        // gebruiker.
        // **************************************************************
        
        // **************************************************************
        // Als eerste wordt er een group aangemaakt met dezelfde naam als
        // de usernaam.
        // **************************************************************
        shell_exec("/usr/sbin/pw groupadd -q -n $res_user[gebruikersnaam]");
        
        // **************************************************************
        // De user zelf toevoegen aan de server
        // **************************************************************
        shell_exec("/usr/sbin/pw useradd $user -g $user -s $shell -b $doc_root -k /usr/share/skel -m");
        shell_exec("/usr/bin/chpass -p '$crypt_ww' $user");


Is welliswaar voor FreeBSD maar als je het hier en daar wat ombouwd werkt het vast met elke *nix

[ Voor 9% gewijzigd door Verwijderd op 01-07-2003 02:03 ]


Acties:
  • 0 Henk 'm!

  • Morrar
  • Registratie: Juni 2002
  • Laatst online: 14:45
Weet je zeker dat je useradd met -p mag gebruiken en dat die dan ook netjes gehashed in de shadow file komt? Gaat het daarop niet mis?

Probeer anders eens:

code:
1
pw useradd -n test -c "Test User" -d /home2/test -s /bin/sh; chpass -p <md5encpassword> test


//edit:
te laat :)

[ Voor 9% gewijzigd door Morrar op 01-07-2003 02:06 ]


Acties:
  • 0 Henk 'm!

  • mrfatmen
  • Registratie: Februari 2001
  • Laatst online: 08:46
reeds werkt het met het volgende script
PHP:
1
2
3
4
5
6
#!/usr/local/bin/php -q
<?
$Password = "testje";
$hash = crypt($Password, "\$1\$ie94jvns\$");
echo shell_exec("useradd -m -s /sbin/nologin -p '".$hash."' test");
?>


Probleem zat dit keer in de /bin/false wat redhat niet aan kan het moet /sbin/nologin zijn.
useradd -p werkt btw alleen maar op redhat.

iedereen bedankt voor hun hulp en inzet

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


Acties:
  • 0 Henk 'm!

Verwijderd

/bin/false kan je ook gebruiken. Alleen moet je dan die shell toevoegen aan: /etc/shells
Pagina: 1