Sponsored Content
Full Discussion: password changing
Top Forums Shell Programming and Scripting password changing Post 302641545 by somersetdan on Wednesday 16th of May 2012 09:21:11 AM
Old 05-16-2012
password changing

Hi all
Im trying to learn the basics of bash and am struggling with some file manipulation. I am trying to run a script that once you have logged in allows you to change your password which is held (along with the corresponding username) in a different file called usernames. When i try to run my code the logon part runs fine, but the change of password is not storedSmilie. Any advice would be greatly appreciated.

Thanks

Code:
#!/bin/bash

# script to change a password
username ()

{
while :
do
echo "please enter a username"
read user
grep -iq "$user" usernames
a=$?
echo "please enter pin"
read pin
grep -i "^$user" usernames | grep -q "$pin$"
b=$?

if [ $a -eq 0 -a $b -eq 0 ]
then
echo "Welcome"
change1
break
else
echo "Please try again"
fi
done
}


change1 ()
{
echo "please enter a new password"
read npass

sed 's/$pin/$npass/' usernames
echo "here are your logon details"
sed -n '/^$user/p' usernames
return
}

username

The file I am using looks like this:

Code:
#!/bin/bash

Username        Password

John    123
Dan     345
Matt    678

---------- Post updated at 02:21 PM ---------- Previous update was at 01:29 PM ----------

Ok, is there anyway of using a sed command to change the contents of a file, as I have found that whilst my sed command changes the value on the command screen but not in the file. Is it possible to alter the value in the file?
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Password Changing With NIS

SCO OpenServer 5.05 Has anyone ever received this error when attempting to change/assign a user password? #ypasswd ======================================= yppasswd: (host name) is not running yppasswd daemon Password request denied. Reason: Remote password change request denied.... (2 Replies)
Discussion started by: gseyforth
2 Replies

2. Solaris

changing password

Hi Someone logged on the system with a Normal user and changed the password , for this user , how can i know ? who changed the password from which terminal ? regards Georges (5 Replies)
Discussion started by: itsgeorge
5 Replies

3. UNIX for Dummies Questions & Answers

Changing password is to short ?

Hello im trying to change the user password with passwd but when I enter the password it gives me this msg: passwd: Password too short - must be at least 6 characters. BUT the thing is that the initial password was 4 letters why now it asking for 6 ? tnx (2 Replies)
Discussion started by: umen
2 Replies

4. AIX

changing user password

I have 02 servers: - Linux RHEL AS 3 (server1) - AIX 5.2 (server2) Running the command rsh server2 passwd derje from the server1 to change derje user password on server2, give me this error: 3004-709 Error while changing the password for "derje" Can somebody help me ? (0 Replies)
Discussion started by: mayge
0 Replies

5. HP-UX

Changing root password

I have two unix system A and B with same configuration. I can use remsh from A system login to B system as root, but when I want to change the root password of B system, it ask me the old password, but i forgot it. However, is it possible to change the B system root password? :( Thanks a lot (3 Replies)
Discussion started by: zetadhell
3 Replies

6. Solaris

Changing Password in NIS

Friends I want to know whether i can change the password of a user logged in thru NIS from a client machine after stopping the YP services in NIS server. Note - The Slave server is up and running. I tried doing this. But i got the reply "Permission Denied". I stopped the YP services in... (7 Replies)
Discussion started by: efunds
7 Replies

7. Linux

Problem changing user password

Hi all, I'm having an issue resetting an Linux user password. As root, I type 'passwd <username>, enter the new password, but the user is still Access Denied. Can someone assist me in figuring this one out? The box is running "Linux trm62 2.4.21-15.ELsmp #1 SMP Thu Apr 22 00:18:24 EDT 2004... (6 Replies)
Discussion started by: bbbngowc
6 Replies

8. Solaris

Solaris user changing password

i created 1 user . Now its passwd time period get expired. Now how can I set password for that user. Also how can I set a condition such a way that after every 3 months user must change his passwd. (5 Replies)
Discussion started by: ajitkraj
5 Replies

9. UNIX for Advanced & Expert Users

Changing the password prompt

Is there any way I can change the prompt which asks for the password on a UNIX system? e.g. When I login using Telnet instead of "Password" I should get "Correct Password". Thanks, Vineet (3 Replies)
Discussion started by: vineetd
3 Replies

10. AIX

Changing root password

I want to change the root password on an AIX box. What is the best method to do this so i do not get myself locked out. When I do i search the results come up for resetting the password if you are locked out. Thanks (5 Replies)
Discussion started by: fierfek
5 Replies
printpw(8)						      System Manager's Manual							printpw(8)

NAME
printpw - Outputs the contents of the password database SYNOPSIS
printpw [-acdgsu] FLAGS
Outputs all information. Use of this flag is the same as specifying all flags with -cdgsu. Outputs username and the comment string. Out- put username and the login directory. Outputs username and the group ID numerical value. Output username and the login shell. Output username and the UID numerical value. DESCRIPTION
The printpw command outputs the contents of the /etc/passwd database file in ASCII format to the standard output. When printpw is called with no option, all usernames in the database are output. The /etc/passwd database file is accessed through the standard library function getpwent. On secure systems that have changed this library function or on systems with Network Information Service (NIS) service installed, printpw produces the same information. When printpw is called in combination with any flag, one or more additional columns separated with : (colon) is output. EXAMPLES
To output the username, UID, and login directory of all users in the password database file, enter: /usr/sbin/acct/printpw -ud FILES
Specifies the command path The password database file. RELATED INFORMATION
Commands: acct(8) delim off printpw(8)
All times are GMT -4. The time now is 06:30 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy