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 DEBIAN
passwd
PASSWD(5) File Formats and Conversions PASSWD(5)
NAME
passwd - the password file
DESCRIPTION
/etc/passwd contains one line for each user account, with seven fields delimited by colons (":"). These fields are:
o login name
o optional encrypted password
o numerical user ID
o numerical group ID
o user name or comment field
o user home directory
o optional user command interpreter
The encrypted password field may be blank, in which case no password is required to authenticate as the specified login name. However, some
applications which read the /etc/passwd file may decide not to permit any access at all if the password field is blank. If the password
field is a lower-case "x", then the encrypted password is actually stored in the shadow(5) file instead; there must be a corresponding line
in the /etc/shadow file, or else the user account is invalid. If the password field is any other string, then it will be treated as an
encrypted password, as specified by crypt(3).
The comment field is used by various system utilities, such as finger(1).
The home directory field provides the name of the initial working directory. The login program uses this information to set the value of
the $HOME environmental variable.
The command interpreter field provides the name of the user's command language interpreter, or the name of the initial program to execute.
The login program uses this information to set the value of the $SHELL environmental variable. If this field is empty, it defaults to the
value /bin/sh.
FILES
/etc/passwd
User account information.
/etc/shadow
optional encrypted password file
/etc/passwd-
Backup file for /etc/passwd.
Note that this file is used by the tools of the shadow toolsuite, but not by all user and password management tools.
SEE ALSO
crypt(3), getent(1), getpwnam(3), login(1), passwd(1), pwck(8), pwconv(8), pwunconv(8), shadow(5), su(1), sulogin(8).
shadow-utils 4.1.5.1 05/25/2012 PASSWD(5)