Encrypting password


 
Thread Tools Search this Thread
Operating Systems AIX Encrypting password
# 1  
Old 11-22-2004
Question Encrypting password

I have a strange question for someone regarding the AIX 5.2 environment.

Here is the scenerio:
I have a script that is running a menu full of options.

1. I like food
2. I don't like food

Enter Option:_
Enter userID:_
Enter Password:_

(The menu is conversational only so go with me on this)

The user already has an ID on the system and is able to authenticate but I want to track the user and ensure that it is indeed that user that answered.

I need to pass the userid and passwd to the /etc/security/passwd file to ensure that it is this user.

The problem is that the passwd is encrypted. Since I can not decrypt it can I encrypt it using the DES that AIX is using and then search for the match?

Any other ideas?Smilie
# 2  
Old 11-22-2004
Be running not as root or the user in question. Do not prompt for the password. Instead create a test filename that does not exist.
testfilename=/tmp/testfood$$

Now invoke su to create that file:

su $user -c "touch /tmp/testfood$$"

Now test to see if the file exists and is owned by $user.
# 3  
Old 11-22-2004
By doing what you mentioned then it still defeats the purpose of ensuring that the user is authentic.? I can put any ID and test if that ID created the file.

typically, only the user should know their own password which would allow me to verify authenticity.
# 4  
Old 11-22-2004
If you build a web-based script you can use htpasswd to help authenticate the user.

Just a thought.....

[quote]

NAME
htpasswd - Create and update user authentication files

SYNOPSIS
htpasswd [ -c ] [ -m | -d | -s | -p ] passwdfile username
htpasswd -b [ -c ] [ -m | -d | -s | -p ] passwdfile username password
htpasswd -n [ -m | -d | -s | -p ] username
htpasswd -nb [ -m | -d | -s | -p ] username password

DESCRIPTION
htpasswd is used to create and update the flat-files used to store user-
names and password for basic authentication of HTTP users. If htpasswd
cannot access a file, such as not being able to write to the output file
or not being able to read the file in order to update it, it returns an
error status and makes no changes.

Resources available from the httpd Apache web server can be restricted to
just the users listed in the files created by htpasswd. This program can
only manage usernames and passwords stored in a flat-file. It can encrypt
and display password information for use in other types of data stores,
though. To use a DBM database see dbmmanage.

htpasswd encrypts passwords using either a version of MD5 modified for
Apache, or the system's crypt() routine. Files managed by htpasswd may
contain both types of passwords; some user records may have MD5-encrypted
passwords while others in the same file may have passwords encrypted with
crypt().

....

[/quote}
# 5  
Old 11-22-2004
Quote:
Originally posted by Justman
By doing what you mentioned then it still defeats the purpose of ensuring that the user is authentic.? I can put any ID and test if that ID created the file.

typically, only the user should know their own password which would allow me to verify authenticity.
Huh?? If a non-root user attempts to invoke su to change to another user, su will demand a password and verify it.
# 6  
Old 11-23-2004
Perderabo:

I got you now, I totally over looked the su switch.

Neo, Web based is not an option for me at this time.

Thanks both of you for your time! It is greatly appreciated!Smilie
# 7  
Old 12-16-2004
Hi Justman,

I only just joined this forum, but have recently completed a similar exercise.

I have a script and a "c" program that was used to migrate users with the encrypted passwords to a P690 running AIX 5.2. With some slight modification the following should work.

Here is the code for pass.c

===============snip================
#include <stdio.h>
#include <pwd.h>
struct passwd *getpwnam();
main(int argc, char **argv)
{
char salt[3], pass[20], cpass[20];
strcpy(salt,"yM");
strcpy(pass,argv[1]);
strcpy(cpass,crypt(pass,salt));
puts(cpass);
}
================snip===============

Here is one way of using the password stuff.

================snip===============
#!/usr/bin/ksh
#############################################################################
#
# adduser.ksh #
# Description: Adds new users to the system group and sets up initial
# password.
#
# Usage: adduser.ksh < input_file
# where input_file has the format:-
# username userid groupid firstname lastname
#
# Co-Reqs: pass (generate encrypted password)
# gettime (returns seconds since epoch)
#
#############################################################################

#############################################################################
#
# must have root access to run this
#
#############################################################################

if [[ ${LOGNAME} != 'root' ]]
then
print "You must be root to run this"
exit 1;
fi

#############################################################################
#
# define location of binaries
#
#############################################################################

BINDIR=/home/davem/bin

#############################################################################
#
# Make a copy of the user security files to regress the changes made by
# this script all that is required is to copy the files back from the .orig
# versions.
#
#############################################################################

cp /etc/passwd /etc/passwd.orig
cp /etc/security/passwd /etc/security/passwd.orig
cp /etc/group /etc/group.orig


#############################################################################
#
# Start processing the users to be created, echo each to the screen.
#
#############################################################################

read user id group fullname
while [ "$user" != "" ];do
print "User: $user\t\tid: $id\t\tGroup: $group\t\tName: $fullname"
mkuser id=$id pgrp=$group groups=$group,staff,system gecos="$fullname" $user
cat /etc/passwd | sed "/^$user:/s/:\*:/:\!:/" > /etc/passwd.new
mv /etc/passwd.new /etc/passwd
if [ `cat /etc/security/passwd | grep -c "^$user:"` != "1" ];then
print "\n$user:" >> /etc/security/passwd
print "\tpassword = "`$BINDIR/pass CH4ng3me` >> /etc/security/passwd
print "\tlastupdate = "`$BINDIR/gettime` >> /etc/security/passwd
print "\tflags = ADMCHG" >> /etc/security/passwd
fi
read user id group fullname
done


chown root /etc/passwd
chgrp security /etc/passwd
chmod 664 /etc/passwd

exit 0;

==================snip====================

With a little modification it should be possible to do what you require with the pass program.

Rgds

Dave
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. High Performance Computing

Encrypting interconnect

Hi, i've got a qusetion regarding interconnect of compute nodes. In our company we are running a Simulation Cluster which is administrated by the Simulation department. Now our central IT requires to encrypt the interconnect of the compute nodes. Does anybody in that business encrypt... (3 Replies)
Discussion started by: fiberkill
3 Replies

2. Solaris

Encrypting or maksing password in cron

Hello experts, I am an PLM application admin, use AIX/SOlaris servers where application is installed to schedule a cron in my system this what i do Login to AIX/Unix system using an OS account, Schedule a service to execute the required script - The script will have a PLM utility and... (4 Replies)
Discussion started by: kraghum
4 Replies

3. Programming

Encrypting/Decrypting passwords

I know that simply encrypting and decrypting passwords in a script is as bad as storing them in plain text, but I've been searching for an answer to this for a few days now, and haven't found an answer that fits the problem I'm having. Here's the scenario. I'll give more details than I think may... (3 Replies)
Discussion started by: mdrisser
3 Replies

4. Shell Programming and Scripting

Encrypting password

Hello All, I need to accept a password from the user and validate it, without having to hard-code it anywhere. Any ideas? (3 Replies)
Discussion started by: optimus_1
3 Replies

5. Shell Programming and Scripting

Encrypting the password

Iam using the teradata... and running the scripts in unix, I wan to encrypt the teradata password in Unix... my hostname is : bprod usename: KRN777 passwrd: passwrd can ant one tell me the exact command to encrypth the passwrd.... thanks, (5 Replies)
Discussion started by: nani1984
5 Replies

6. Shell Programming and Scripting

Encrypting the login password on Solaris 10

Hi, Could you pls. help me in encryting a database password on Solaris 10 Box. eg : username : test password : t est123 The request is to encrypt the test123 so that no one can understand the what the password is ? thanks (7 Replies)
Discussion started by: krackjack
7 Replies

7. Solaris

Encrypting a script......

Hiiiiii..... every one..... I have written a script, and i want to make that script confidential.So that, only i can see that script. I am using " crypt " command in solaris 9, to encrypt that script.But when i am executing this... (6 Replies)
Discussion started by: prashantshukla
6 Replies

8. UNIX for Advanced & Expert Users

encrypting files in ksh

I have an ascii file that I want to encrypt and save. I have seen this done before, but cannot remember how, nor can I find anything in any of my manuals or online help. Any ideas how to do this? Thanks, Henry (6 Replies)
Discussion started by: hwollman53
6 Replies

9. Shell Programming and Scripting

Encrypting a password for shell script

All, I want to encrypt a database system administration password into a file or environment variable. Then, I want to decrypt the password from the file or environment variable so nobody sees the clear text password. For example, I have the database password of developement. I need to... (1 Reply)
Discussion started by: bubba112557
1 Replies

10. UNIX for Dummies Questions & Answers

encrypting Unix flatfile

Hi, I am new to unix. I have a flat file that needs to be pgp encyrpted in ASCII format and ftped in Ascii format to remote location. Can any one tell me the steps involved in the pgp encryption of the unix file. I will really appreciate if any one can help me with the pgp encryption shell... (1 Reply)
Discussion started by: rkumar28
1 Replies
Login or Register to Ask a Question