ok,
I finaly got it figured out just one last problem. I used
the useradd -p and it doesn't insert the passwd like it should
I should see something like $1$blahhblahhblahh but it doesn't
do this, if I manualy insert it it works fine but it looks like
print `/usr/sbin/useradd "$username" -p "$pwd"`;
screws it up, any sugestions?
On Sun, 08 Dec 2002 13:12:11 +0100
"Mystik Gotan" <[EMAIL PROTECTED]> wrote:
> Hiya.
>
> Salt is just a thing which helps you encoding the stuff.
>
> From a book:
>
>
> The crypt Function
> The crypt function encrypts a string using the NBS Data Encryption Standard
> (DES) algorithm.
>
> The syntax for the crypt function is
>
>
> result = crypt (original, salt);
>
>
> original is the string to be encrypted, and salt is a character string of
> two characters that defines how to change the DES algorithm (to make it more
> difficult to decode). These two characters can be any letter or digit, or
> one of the . and / characters. After the algorithm is changed, the string is
> encrypted using the resulting key.
>
> result is the encrypted string. The first two characters of result are the
> two characters specified in salt.
>
> You can use crypt to set up a password checker similar to those used by the
> UNIX login. Listing 14.2 is an example of a program that prompts the user
> for a password and compares it with a password stored in a special file.
>
>
>
>
>
> --------------------------------------------------------------------------------
>
> Listing 14.2. A program that asks for and compares a password.
>
>
> 1: #!/usr/local/bin/perl
>
> 2:
>
> 3: open (PASSWD, "/u/jqpublic/passwd") ||
>
> 4: die ("Can't open password file");
>
> 5: $passwd = <PASSWD>;
>
> 6: chop ($passwd);
>
> 7: close (PASSWD);
>
> 8: print ("Enter the password for this program:\n");
>
> 9: system ("stty -echo");
>
> 10: $mypasswd = <STDIN>;
>
> 11: system ("stty echo");
>
> 12: chop ($mypasswd);
>
> 13: if (crypt ($mypasswd, substr($passwd, 0, 2)) eq $passwd) {
>
> 14: print ("Correct! Carry on!\n");
>
> 15: } else {
>
> 16: die ("Incorrect password: goodbye!\n");
>
> 17: }
>
>
>
> --------------------------------------------------------------------------------
>
>
>
>
> $ program14_2
>
> Enter the password for this program:
>
> bluejays
>
> Correct! Carry on!
>
> $
>
>
>
>
> Note that the password you type is not displayed on the screen.
>
> Lines 3-7 retrieve the correct password from the file /u/jqpublic/passwd.
> This password can be created by another call to crypt. For example, if the
> correct password is sludge, the call that creates the string now stored in
> $passwd could be the following, where $salt contains some two-character
> string:
>
>
> $retval = crypt ("sludge", $salt);
>
>
> After the correct password has been retrieved, the next step is line 8,
> which asks the user to type a password. By default, anything typed in at the
> keyboard is immediately displayed on the screen; this behavior is called
> input echoing. Input echoing is not desirable if a password is being typed
> in, because someone looking over the user's shoulder can read the password
> and break into the program.
>
> To make the password-checking process more secure, line 9 calls the UNIX
> command stty -echo, which turns off input echoing; now the password is not
> displayed on the screen when the user types it. After the password has been
> entered, line 11 calls the UNIX command stty echo, which turns input echoing
> back on.
>
> Line 13 calls crypt to check the password the user has entered. Because the
> first two characters of the actual encrypted password contain the
> two-character salt used in encryption, substr is used to retrieve these two
> characters and use them as the salt when encrypting the user's password. If
> the value returned by crypt is identical to the encrypted password, the
> user's password is correct; otherwise, the user has gotten it wrong, and die
> terminates the program. (A gentler password-checking program usually gives
> the user two or three chances to type a password before terminating the
> program.)
>
> This password checker is secure because the actual password does not appear
> in the program in unencrypted form. (In fact, because the password is in a
> separate file, it does not appear in the program at all.) This makes it
> impossible to obtain the password by simply examining the text file.
>
>
>
> NOTE
> The behavior of crypt is identical to that of the UNIX library function
> crypt. See the crypt(3) manual page for more information on DES encryption
>
>
>
>
> --------------
> Bob Erinkveld (Webmaster Insane Hosts)
> www.insane-hosts.net
> MSN: [EMAIL PROTECTED]
>
>
>
>
>
> >From: Jerry M. Howell II <[EMAIL PROTECTED]>
> >To: [EMAIL PROTECTED]
> >Subject: crypt()
> >Date: Sun, 8 Dec 2002 05:33:09 -0500
> >
> >hello there,
> >
> > Got another question. as far as I know I need the following to encrypt
> >a passwd in perl. I plan to use it to add a users to my /etc/passwd
> >/etc/shadow
> >and /etc/group now I got a question cuz most newbees do :) what am I
> >missing
> >in this script I've narowed it down to the crypt command and found out in
> >the
> >cammel book it should be crypt(plaintext,salt) if I understood it corectly.
> >what do I need for the salt????
> >my script is the following (don't laugh to hard :))
> >
> >#!/usr/bin/perl
> >print "Enter your preferd username.\n";
> >$username = <STDIN>;
> >chomp($username);
> >print "enter your prefered password\n";
> >$passwd = <STDIN>;
> >$passwd=crypt($passwd);
> >chomp($passwd);
> >print `/usr/sbin/useradd "$username" -p "$passwd"`;
> >
> >--
> >Jerry M. Howell II
> >
> >--
> >To unsubscribe, e-mail: [EMAIL PROTECTED]
> >For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> _________________________________________________________________
> MSN Zoeken, voor duidelijke zoekresultaten!
> http://search.msn.nl/worldwide.asp
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
--
Jerry M. Howell II
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]