Create new user account - system administrator, Computer Engineering

Assignment Help:

A common task for a system administrator is to create new user accounts. In this lab you will be creating output that looks like an /etc/passwd file.

The Problem

You are to write a Perl script that will read in values from an INPUT file to be passed as an argument to the script.  The file contains the following information:

  • The user's full name (e.g.,  Mike H Smith)
    • A period after Middle name is optional
    • Full Middle name is also optional
    • Assume there is always one space between First, Middle, and Last name
    • You do NOT have to perform error checking on this field
  • The user's ID number (ssno)
    • Should be of the form: 3 digits, dash, 2 digits, dash, 4 digits

Ex: "111-22-3333"

  •  
    • You DO have to perform error check on this field using string functions mentioned in class. If the full social security number (the part between "/") is not of the right format you MUST print out the following message to STDERR: The String "Bad Soc" followed by a colon, then a space and the offending invalid Soc number. For Example:

Bad Soc: 123-456-7888

  •  
    • Your error message must look EXACTLY like this, do not vary even slightly!
    • You ONLY have to make sure that the dashes are in the correct places and the number of characters is correct NOT that the other characters are actually digits
    • (DO NOT USE split() and REGULAR EXPRESSIONS for this)
  • The user's group (will be "student", "staff" ONLY)
    • You do NOT need to perform error checking on this field

Based on this information, you will print to STDOUT a user line analogous to the one that would appear in /etc/passwd.

The INPUT file will be formatted as follows:

First Middle Last/SSN/Group

With the "/" character being used as the delimiter.

For example:

John X. Doe/555-12-1234/staff

Mike Xavier Smith/123-45-1111/student

Susan Q Jones/109-54-8832/student

Emily Sophie Zielewsky/987-65-4322/staff

Once you have the necessary input from the file, you need to create the following fields to display to STDOUT:

username:passwd:uid:gid:full name:home dir path:shell

username:

o   Create a old DCE style username for students: first initial, middle initial, last initial followed by last 4 of SSN (abc1234).

o   Use just the 3 initials of the name for the username for staff (yxn)

o   Note that there are NO uppercase letters in usernames

passwd:

In the modern age of password shadowing you would never really do this, but for the purpose of this lab you should allow the user to enter input for this value.


Related Discussions:- Create new user account - system administrator

Explain vector processing with pipelining, Vector Processing with Pipelinin...

Vector Processing with Pipelining Because in vector processing vector instructions execute the similar computation on various data operands repeatedly, vector processing is the

Instruction set design considerations, Some of the fundamental consideratio...

Some of the fundamental considerations for instruction set design includes selection of:  A set of data-types (For example: integers, long integers, doubles, character strin

Explain semaphore, What is a semaphore? Semaphore: It is a synchroniz...

What is a semaphore? Semaphore: It is a synchronization tool which gives a general-purpose solution to controlling access to critical sections.

What is input - output interface, The I/O interface provides a technique fo...

The I/O interface provides a technique for transferring information between external I/O devices and internal storage. Peripherals linked to a computer require special communicatio

Make a generalize program to performs r-ary subtraction, Q. Make a genera...

Q. Make a generalize program that performs r-ary subtraction on two numbers using (r-1)'s and r's complement? Use input and output files.

What is a message in mqseries, A message is a string of bytes that has mean...

A message is a string of bytes that has meaning to the applications that use it Message = Header(s) + Application Data A message having of a header and the attached applicat

Vugen recording and scripting, LoadRunner script code acquired from recordi...

LoadRunner script code acquired from recording in the ANSI C language syntax, shown by icons in icon view until you click Script View.

How do you populate data into a multiple line field, How do you populate da...

How do you populate data into a multiple line field? To populate data into a multiple line field, an index is added to the field name to show which line is to be populated by t

What is the dissimilarity between a lens and a mirror, Q. What is the dissi...

Q. What is the dissimilarity between a lens and a mirror? Answer:- A mirror is a reflective surface that light passes through the glass and hits the silver backing reflect

What is the difference among a canvas and a scroll panel, Canvas is a compo...

Canvas is a component. ScrollPanel is a container. Canvas is a rectangular area where the application can draw or trap input events. ScrollPane executes horizontal and vertical scr

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd