Unix Script to search user id in /etc/passwd


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Unix Script to search user id in /etc/passwd
# 1  
Old 12-07-2008
Unix Script to search user id in /etc/passwd

Hey all,
i have to write a script in Unix that would help me in my department to search certain user ids valid in /etc/passwd file.. here goes the exact question & data to help analyze:
Amend a script to tell the user to enter a user id to be searched for in the /etc/passwd file. If there are no matches a message is given to
the user. If there is a single match echo the user name, user ID and group ID.
cat /etc/passwd
nhamilto:*:3356:102:Nichole Hamilton:/home/student/nhamilto:/bin/csh
khenders:*:3357:102:Kelsey Henderson:/home/student/khenders:/bin/csh
rruby:*:3358:102:Reidgem Ruby:/home/student/rruby:/bin/csh

I recommend using $? And if-then-else but cant come up with something solid to built my script on... i'll be very thankful if u could help me out someway..
thanks
# 2  
Old 12-07-2008
can you use the finger command?

Code:
$ whatis finger
finger               (1)  - user information lookup program

# 3  
Old 12-08-2008
echo "Please input the user name"
read name
cat /etc/passwd | nawk -F":" -v name="$name" '{
if ($1==name)
{
print $1," ",$3," ",$4
flag=1
}
}
END{
if (flag==0)
print "not a valid account"
}'
# 4  
Old 12-08-2008
ypcat passwd | grep <userid>

or

getent passwd <userid>
# 5  
Old 12-08-2008
Quote:
Originally Posted by frank_rizzo
can you use the finger command?

Code:
$ whatis finger
finger               (1)  - user information lookup program

Thanks Frank for the reply..Im afraid i cant use finger command yet...Im even not aware of its use...but in future i think it would ease my solutions..
Quote:
Originally Posted by ThobiasVakayil
ypcat passwd | grep <userid>

or

getent passwd <userid>
Ya Thobias this would work if it is given in one line command at $ prompt but then i must write a script...so there are whole lot of more steps that i have to incorporate.. but this is easy when i need instant answer..thanks a lot for help...much appreciated
# 6  
Old 12-08-2008
Quote:
Originally Posted by summer_cherry
echo "Please input the user name"
read name
cat /etc/passwd | nawk -F":" -v name="$name" '{
if ($1==name)
{
print $1," ",$3," ",$4
flag=1
}
}
END{
if (flag==0)
print "not a valid account"
}'
U r genius!! thanks a lot summer_cherry... my job was on line for this..almost atleast... this works perfectly fine.. i have 4 more of this type..
namely one how do i amend the same script to reply with the number of matches if there are multiple results from the search using "case" option
# 7  
Old 12-08-2008
Quote:
Originally Posted by ally_d
U r genius!! thanks a lot summer_cherry... my job was on line for this..almost atleast... this works perfectly fine.. i have 4 more of this type..
namely one how do i amend the same script to reply with the number of matches if there are multiple results from the search using "case" option
What you meant to say is: "My grade was on the line for this. I have 4 more homework problems of this type....."
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Dont want to mention user id passwd in shell script

Hi, i have one shell script which transfers files from one server to other server through FTP, but i can see login id and password is not mentioned. kindly help to understand the script.then how below script is working if login and password is not mentioned in script #!/bin/sh... (1 Reply)
Discussion started by: ni3b007
1 Replies

2. UNIX for Dummies Questions & Answers

User info not present in passwd file

I have logged into a box with some userid,but in this box der is no entry for this userid in /etc/passwd file.this box is used by multiple users but none of them have their enteries in passwd file but for each user there is a directory in /home like for user1 /home/user1 for user2... (5 Replies)
Discussion started by: Jcpratap
5 Replies

3. Shell Programming and Scripting

Matching user alias's to their ID's in the passwd file

Hi, I've a user alias file in the below format.. I need to change all the ID's that come after the = sign (with some multiple ID's which are separated by comma's) to their respective users that are contained in the passwords file.. Whats the best way to go about this.. Some sort of sed command in... (2 Replies)
Discussion started by: Jazmania
2 Replies

4. Programming

C++ - Problem in asking and checking user's passwd

This is the source code: #include <pwd.h> #include <iostream> #include <string.h> using namespace std; int main() { struct passwd *user; char login="alex", password="qwertyuiop"; if ((user= getpwnam(login)) == NULL) cout << "No such user\n"; else if... (24 Replies)
Discussion started by: hakermania
24 Replies

5. UNIX for Advanced & Expert Users

Determining if user is local-user in /etc/passwd or LDAP user

Besides doing some shell-script which loops through /etc/passwd, I was wondering if there was some command that would tell me, like an enhanced version of getent. The Operating system is Solaris 10 (recent-ish revision) using Sun DS for LDAP. (5 Replies)
Discussion started by: ckmehta
5 Replies

6. Solaris

Force user to change passwd on first login

Hello All, How to force user to change his login passwd on his first login in solaris 10 ? while adding user do we need to set the password in theis case?? (7 Replies)
Discussion started by: saurabh84g
7 Replies

7. UNIX for Dummies Questions & Answers

How the /etc/passwd file is written when user does not have permission

Hi, /etc/passwd file has write permission only for the root user. Now when a normal user changes the its own password using passwd command, how this information has been written to the /etc/passwd file when the user is not having write permission to this file. ~santosh (2 Replies)
Discussion started by: santosh149
2 Replies

8. Shell Programming and Scripting

Looking for specific user ID's from the passwd file

Hello, My issue is that I want to look for specific users that have their first and last initial followed by four numbers. For example: ab1234 I've already got the user ID's out of the passwd file more passwd | awk -F ":" '{print $1}' > userids I just need to know how to just pick... (8 Replies)
Discussion started by: LinuxRacr
8 Replies

9. Solaris

passwd command search

Hi. When i execute which passwdit is showing /usr/bin/passwd, eventhough i set my path as PATH=/etc:$PATH i just checked the permission for the passwd under /usr/bin -r-sr-sr-x what exactly happening? and what is that s signifies Thanks. (5 Replies)
Discussion started by: shahnazurs
5 Replies

10. UNIX for Dummies Questions & Answers

User should not be allowed to change passwd

Hi Group, Can anyone assist me with this? I am on AIX 5.2 ML06. I create the user and assign a passwd. But I do not want the user to change the passwd at all. I like him/her to use the passwd that I have set for him/her. Any ideas would be highly appreciated!!! Thanks. (3 Replies)
Discussion started by: brookingsd
3 Replies
Login or Register to Ask a Question