09-05-2008
Write or study a small program that mimics the most common login procedures in UNIX.
You have two options here. Either, you write it yourself according to the specification
below, or you copy the file
/cab/cestud/work/edu/course/EDA263_Computer_Security/
lib/login_linux/login_linux.c into your home directory. If you choose to write
it yourself the following should be implemented.
- The program begins with displaying ”login:” and takes the username as input.
7
- Then the program writes ”Password:” and waits for the password to be entered,
which should not be visible on the terminal (use the function getpass(3) that
among other things will see to that the text is not ”echoed” on the terminal).
- The program queries the system’s user database to see if the username exists. If
this is the case it encrypts the entered password (with a known algorithm) and
ensures it corresponds to the stored encrypted password belonging to the actual
user. Suitable library routines are getpwnam(3), crypt(3) and strncmp(3).
- If the username does not exist, or if the password is wrong, the program displays
”Login incorrect” and restarts from the beginning, otherwise it writes something
like ”Welcome to this System!” and terminates.
Test that your program works by compiling and running it.
This User Gave Thanks to ovais245 For This Post:
6 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I see you guys encouraged people studied and used C while they were working on UNIX. Does C++ or JAVA matter? And in the past threads, Neo, PxT, and other members recommanded lots good books. I think those people who asked for the references, such as Dominic, had experiences on sys admin or... (8 Replies)
Discussion started by: HOUSCOUS
8 Replies
2. Programming
Can someone enligten me on what below program does?
I understand getchar and putchar.. but what is this program suppose to do?
I try to put printf on it, but it shows nothing..
can someone explain to me what this program is suppose to do?
It is reading something and assigning to c?
so, if... (8 Replies)
Discussion started by: convenientstore
8 Replies
3. UNIX for Dummies Questions & Answers
I need a small and simple clarification...
Can someone tell me whether PERL is a programming language or not.
Also, can shell scripts also considered as programming language or not.
Also, please tell me the exact difference between programming language and scripting.
Please help.... (3 Replies)
Discussion started by: Anjan1
3 Replies
4. Programming
I want to create a computer program that will translate from English to Spanish and vice versa. So someone could type in a word, phrase, or paragraph and translate from one language to another. What programming language would I use to write up the code and then implement this program?
I want to... (8 Replies)
Discussion started by: Anna Hussie
8 Replies
5. UNIX for Dummies Questions & Answers
How does unix system administration, unix programming, unix network programming differ?
Please help. (0 Replies)
Discussion started by: thulasidharan2k
0 Replies
6. Programming
I am interested in learning Programming Language to complement my UNIX. What language should I concentrate on to enhance my UNIX. What companies are seeking with UNIX. What languages are used with UNIX as for as there application. Are there any one here from DC (6 Replies)
Discussion started by: zbest1966
6 Replies
LEARN ABOUT OPENSOLARIS
yppasswd
yppasswd(1) User Commands yppasswd(1)
NAME
yppasswd - change your network password in the NIS database
SYNOPSIS
yppasswd [username]
DESCRIPTION
The yppasswd utility changes the network password associated with the user username in the Network Information Service (NIS) database. If
the user has done a keylogin(1), and a publickey/secretkey pair exists for the user in the NIS publickey.byname map, yppasswd also re-
encrypts the secretkey with the new password. The NIS password may be different from the local one on your own machine.
yppasswd prompts for the old NIS password, and then for the new one. You must type in the old password correctly for the change to take
effect. The new password must be typed twice, to forestall mistakes.
New passwords must be at least four characters long, if they use a sufficiently rich alphabet, and at least six characters long if mono-
case. These rules are relaxed if you are insistent enough. Only the owner of the name or the super-user may change a password; superuser on
the root master will not be prompted for the old password, and does not need to follow password construction requirements.
The NIS password daemon, rpc.yppasswdd must be running on your NIS server in order for the new password to take effect.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWnisu |
+-----------------------------+-----------------------------+
SEE ALSO
keylogin(1), login(1), NIS+(1), nispasswd(1), passwd(1), getpwnam(3C), getspnam(3C), secure_rpc(3NSL), nsswitch.conf(4), attributes(5)
WARNINGS
Even after the user has successfully changed his or her password using this command, the subsequent login(1) using the new password will be
successful only if the user's password and shadow information is obtained from NIS. See getpwnam(3C), getspnam(3C), and nsswitch.conf(4).
NOTES
The use of yppasswd is discouraged, as it is now only a wrapper around the passwd(1) command, which should be used instead. Using passwd(1)
with the -r nis option (see NIS+(1)) will achieve the same results, and will be consistent across all the different name services avail-
able.
BUGS
The update protocol passes all the information to the server in one RPC call, without ever looking at it. Thus, if you type your old pass-
word incorrectly, you will not be notified until after you have entered your new password.
SunOS 5.11 28 Nov 2001 yppasswd(1)