Top Banner
REDHAT SERVER AUTOMATION A Summer Training Report Submitted In partial fulfillment For the award of the Degree of Bachelor of Technology In Department of Computer Engineering and Information Technology Submitted To: Submitted By: Mr. Sunil Kr. Khinchi Khushhal Mahur (11EEAIT022) (Assistant Professor) Department of CSE/IT
54

Redhat Training

Nov 18, 2015

Download

Documents

Faku_

on redhat6
#setup n congifure
#about servers
#a little project ontool
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

REDHAT SERVER AUTOMATIONASummer Training ReportSubmittedIn partial fulfillmentFor the award of the Degree ofBachelor of TechnologyIn Department of Computer Engineering and Information Technology

Submitted To: Submitted By:Mr. Sunil Kr. KhinchiKhushhal Mahur (11EEAIT022)(Assistant Professor) Department of CSE/IT

Department of Computer Engineering and Information TechnologyGovernment Engineering College, AjmerRajasthan Technical UniversityACKNOWLEDGEMENT It is with profound gratitude that I express my deep indebtedness to head of Linux world Informatics (P) Ltd., Jaipur without whose support and guidance it would not have been possible for this training to have taken a concrete shape. In spite of my best effort to the contrary there may be some error in my report. I shall very much appreciate knowing about them. I am heartily thankful and highly pay my regards to Mr. Vimal Daga, who has developed an educational rapport with me. My training has been completed with the co-operation of many of the personalities. I am also thankful to my college, Government Engineering College, Ajmer and concerned teachers for providing me opportunity to develop skill under summer training program. I would like to express sincere thanks to Mr. Rakesh Rathi (Head, CS and IT) and Mr. Sunil Kr. Khinchi (P.T. Co-coordinator) to give support to join this organization. Last but not the least I would like to express my sincere thanks to my parents for their moral and financial support without which I could not have seen the light of the day.

(Khushhal Mahur) (11EEAIT022)

INDEXS. No.Chapter No.Chapter NamePage No.

1COVER PAGE1

2ACKNOLEDGEMENT2

3TABLE OF CONTENTS3

4LIST OF FIGURES4

5ABSTRACT5

6Chapter 1ABOUT THE COMPANY6 7

71.1Introduction to Linux World6

81.2Our Vision Statement6

91.3Services7

10Chapter 2LINUX8 13

112.1Introduction8

122.2What is Open Source?8

132.3Why it is better than windows?9

142.4Properties10

152.5Architecture12

162.6Flavors of Linux13

17Chapter 3REDHAT14 15

183.1About Redhat corporation14

193.2About Redhat Services14

203.3Introduction of RHEL15

213.4Hardware Requirements (RHEL 6)15

22Chapter 4SHELL SCRIPT16 22

234.1Shell16

244.2Shell Script18

254.3Dialog Box Script21

26Chapter 5Server23 25

275.1Telnet 23

285.2OpenSSH 23

295.3FTP 24

305.4NFS and NIS24

315.5Apache and Samba Server24

325.6SMTP 25

33Chapter 6PROJECT OVERVIEW26 27

346.1Scope26

356.2Introduction26

366.3Design Principle and Explanation26

376.4Technology Used27

38Chapter 7PROJECT SNAPSHOTS28 36

39Chapter 8TESTING37 38

408.1Software Implementation37

418.2Methodology Used for Testing 37

42CONCLUSION AND FUTURE SCOPE39

43BIBLIOGRAPHY AND REFRENCES40

LIST OF FIGURES

Figure No.DescriptionPage No.

1Components of Linux System12

2System Architecture13

3Original Look up28

4Login and Sign up29

5Main Menu30

6Basic Commands31

7User Management32-33

8Disk Management34

9Server Menu35

10Apache Web Server36

ABSTRACT

Linux-based operating system designed primarily for companys purpose. Linux is mainly built for networking and server management. It must be said that Linux, at least the core system, is less user-friendly than MS Windows and certainly more difficult than Mac OS, but... In light of its popularity, considerable effort has been made to make Linux even easier to use, especially for new users. Because working on TUI mode is more typical then GUI mode, for a new user working on Linux is not easy than other OS, so i made this tool which is easy to use and provide better user interface for the beginners as well as expert.Automation can be defined as system where information's are transmitted and used for performing some function without direct participation of man.Red hat Server Automation Tool is using for automate the servers according to the requirements. This tool also provides user account management and disk management services to user without using any commands. So it is easy to use and understand to end user without any prior knowledge of Command line OS.

Chapter - 1 ABOUT THE COMPANY1.1 Introduction to Linux WorldLinux World ('LW') Informatics Private Limited - RedHat Awarded Partner, Cisco Learning Partner and An ISO 9001:2008 Certified Company is dedicated to offering a comprehensive set of most useful Open Source and Commercial training programs todays industry demands. Its dedicated to Open Source technologies and Linux promotion.Since its inception in the year 2005, LW have achieved the status of centre of excellence wherein there is latest technology, innovative developing methodology, state of the art infrastructure and individual needs of employees are identified and executed professionally, efficiently & ethically.We are the Red Hat Partner; Today Red Hat is the world's most trusted provider of Linux and open source technology. The most recognized Linux brand in the world. Red Hat serves global enterprises through technology and services made possible by the open source model, include Red Hat Enterprise Linux operating platforms and features RHCE, the global standard Linux certification.Red Hat rewarded LinuxWorld as"The Most Promising Partner"In the field of Security, We are EC-Council Accredited Partner for Training & we also serve as Examination Centre. LW is committed to nation building through extending its high end technical support services to MNC's and organizations. Academic institutions are the natural channel to introduce Linux knowledge and skills to a diverse student population. As the Linux distributor and service provider, LW continues its long-standing partnership with the education market by providing the world's only 100% hands-on Linux curriculum designed on a competency based framework that includes live- system testing measurements. Add further quality & diversity to your IT program and/or teach the most thorough, relevant and up-to- date Linux skills & certification.

1.2 Our Vision Statement

"To come out with the best operating system i.e. a globally acceptable product this would be different, new and useful to the entire world."

1.3 ServicesHigh end Business & Training Services (i.e. Training & Development Centre): LW provides training by in-house experts or certified trainers or corporate developers in areas related to System & Network Administration, Programming Languages, Applications/ Software Packages, and Server Administration etc. depending on the skills required by the customer. LW is structured around its Customers, in which customers are the focus of the Organisation. Customers lie at the heart of our strategy. We encourage our customers to self-manage, identifying for themselves where their needs lie. Following are the few courses available in various areas like security, certificate courses, development, database management, etc. Ethical Hacking (Basic & Advance Module) Web Application Development with PHP RHCE, RHCSS, RHCA CCENT, CCNA, CCNP, CCIE etc. Technical Support Services: With a passionate technical team, fully committed to the development and progress of Open Source, LW offers its clients high end support solutions every time. LINUXWORLD provides support for all major Open Source applications "Our philosophy be a part of the solution, not part of the problem"Research & Development Centre:The main objective of LW R&D's team is to work dedicate on the loopholes present in the existing Linux Operating System, to ensure that the same are removed and plug-in the new development which does not exist in Linux OS at present. In other words, it follows Push-Pull Strategy i.e. Pull out the loopholes and Push in the new developments. Many companies' combines various software available in the communities/platforms and edits the existing ones to some extent, to give a new look to the same. As it is rightly said "Old wine in the New bottle" whereas LW's R&D Centre develops its own networking tools, system monitoring tools and many other software's and LINUX related tools with their own and new ideas and not with the help of the existing ones. LinuxWorld R&D centre is developing, maintaining & promoting its own special tools based on open source technology & softwares. According to survey conducted:-"LW is the only Organisation in India having a wholly and solely dedicated R&D Centre for Linux OS"Chapter - 2 LINUX2.1 IntroductionLinux was implemented by Linux Torvalds on August 25, 1991 under the licensed version of UNIX. Linux is distributed under the GNU General Public License which makes it mandatory for developers and sellers to make the source code public. Linux is particularly strong in networking and Internet features, and is an extremely cost-effective solution in setting up an Internet server or a local internet. Today, development on Linux is carried out at several locations across the globe at the behest of the Free Foundations.In simple terms Linux is an operating system. It is the software on a computer that applications and the computer operator access the devices on the computer to perform desired functions. The operating system relays instructions from an application to, for instance, the computer processor. The processor performs the instructed task, then send result back to application via the operating system. As an operating system, Linux is developed collaboratively meaning no one company is solely responsible for its developing or ongoing support. Companies participating in the Linux economy share research and development costs with their partners and competitors. This spreading of development burden amongst individuals and companies has resulted in a large and efficient ecosystem and unheralded software innovation.2.2 What is open source??The idea behind Open Source software is rather simple: when programmers can read, distribute and change code, the code will mature. People can adapt it, fix it, debug it, and they can do it at a speed that dwarfs the performance of software developers at conventional companies. This software will be more flexible and of a better quality than software that has been developed using the conventional channels, because more people have tested it in more different conditions than the closed software developer ever can.The Open Source initiative started to make this clear to the commercial world, and very slowly, commercial vendors are starting to see the point. While lots of academics and technical people have already been convinced for 20 years now that this is the way to go, commercial vendors needed applications like the Internet to make them realize they can profit from Open Source. Now Linux has grown past the stage where it was almost exclusively an academic system, useful only to a handful of people with a technical background. Now Linux provides more than the operating system: there is an entire infrastructure supporting the chain of effort of creating an operating system, of making and testing programs for it, of bringing everything to the users, of supplying maintenance, updates and support and customizations, etcetera. Today, Linux is ready to accept the challenge of a fast-changing world.The Open Source community, consisting largely of people who have been contributing for over half a decade, assures Linux' position as an important player on the desktop market as well as in General IT application. Paid employees and volunteers alike are working diligently so that Linux can maintain a position in the market.The more users, the more questions. The Open Source community makes sure answers keep coming, and watches the quality of the answers with a suspicious eye, resulting in ever more stability and accessibility.2.3 Why it is differ than Windows??Difference between Linux and Windows is as follows:1: Full access vs. no access: Having access to the source code is probably the single most significant difference between Linux and Windows. The fact that Linux belongs to the GNU Public License ensures that users can access the code to the very kernel that serves as the foundation of the Linux operating system. In Windows unless you are a member of a very select group, you will never lay eyes on code making up the Windows operating system. 2: Licensing freedom vs. licensing restrictions: With a Linux GPL-licensed operating system, you are free to modify that software and use and even republish or sell it. Also, with the GPL, you can download a single copy of a Linux distribution and install it on as many machines as you like. With the Microsoft license, you can do none of the above. You are bound to the number of licenses you purchase, so if you purchase 10 licenses, you can legally install that operating system on only 10 machines.3: Online peer support vs. paid help-desk support: This is one issue where most companies turn their backs on Linux. With Linux, you have the support of a huge community via forums, online search, and plenty of dedicated Web sites. And of course, if you feel the need, you can purchase support contracts from some of the bigger Linux companies. However, when you use the peer support inherent in Linux, you do fall prey to time. You could have an issue with something, send out e-mail to a mailing list or post on a forum, and within 10 minutes be flooded with suggestions. Or these suggestions could take hours of days to come in. It seems all up to chance sometimes. Still, generally speaking, most problems with Linux have been encountered and documented. So chances are good you'll find your solution fairly quickly. On the other side of the coin is support for Windows. Yes, you can go the same route with Microsoft and depend upon your peers for solutions. There are just as many help sites/lists/forums for Windows as there are for Linux. And you can purchase support from Microsoft itself. Most corporate higher-ups easily fall victim to the safety net that having a support contract brings. But most higher-ups haven't had to depend up on said support contract. 4: Command line vs. no command line: No matter how far the Linux operating system has come and how amazing the desktop environment becomes, the command line will always be an invaluable tool for administration purposes. You can still use the command line with Windows, but not nearly to the extent as with Linux. And Microsoft tends to obfuscate the command prompt from users. 5: Centralized vs. noncentralized application installation: With Linux you have a centralized location where you can search for, add, or remove software. With Synaptic, you can open up one tool, search for an application, and install that application without having to do any Web searching. Windows has nothing like this. With Windows, you must know where to find the software you want to install, download the software, and run setup.exe or install.exe with a simple double-clicks. For many years, it was thought that installing applications on Windows was far easier than on Linux. Not so much now. Installation under Linux is simple, painless, and centralized.6: Flexibility vs. rigidity: Unless you are willing to pay for and install a third-party application that can alter the desktop appearance, with Windows you are stuck with what Microsoft has declared is the ideal desktop for you. With Linux, you can pretty much make your desktop look and feel exactly how you want/need. 7: Multilayered run levels vs. a single-layered run level: With this, you can work from either the command line (run level 3) or the GUI (run level 5). This can really save your socks when X Windows is fubared and you need to figure out the problem. You can do this by booting into run level 3, logging in as root, and finding/fixing the problem. With Windows, you're lucky to get to a command line via safe mode - and then you may or may not have the tools you need to fix the problem. In Linux, even in run level 3, you can still get and install a tool to help you out. 2.4 PropertiesA lot of the advantages of Linux are a consequence of Linux' origins, deeply rooted in UNIX, except for the first advantage, of course: Linux is free:As in free beer, they say. If you want to spend absolutely nothing, you don't even have to pay the price of a CD. Linux can be downloaded in its entirety from the Internet completely for free. No registration fees, no costs per user, free updates, and freely available source code in case you want to change the behavior of your system.Most of all, Linux is free as in free speech:The license commonly used is the GNU Public License (GPL). The license says that anybody who may want to do so has the right to change Linux and eventually to redistribute a changed version, on the one condition that the code is still available after redistribution. In practice, you are free to grab a kernel image, for instance to add support for teletransportation machines or time travel and sell your new code, as long as your customers can still have a copy of that code.

Linux is portable to any hardware platform:A vendor who wants to sell a new type of computer and who doesn't know what kind of OS his new machine will run (say the CPU in your car or washing machine), can take a Linux kernel and make it work on his hardware, because documentation related to this activity is freely available. Linux was made to keep on running:As with UNIX, a Linux system expects to run without rebooting all the time. That is why a lot of tasks are being executed at night or scheduled automatically for other calm moments, resulting in higher availability during busier periods and a more balanced use of the hardware. This property allows for Linux to be applicable also in environments where people don't have the time or the possibility to control their systems night and day. Linux is secure and versatile:The security model used in Linux is based on the UNIX idea of security, which is known to be robust and of proven quality. But Linux is not only fit for use as a fort against enemy attacks from the Internet: it will adapt equally to other situations, utilizing the same high standards for security. Your development machine or control station will be as secure as your firewall. Linux is scalable:From a Palmtop with 2 MB of memory to a petabyte storage cluster with hundreds of nodes: add or remove the appropriate packages and Linux fits all. You don't need a supercomputer anymore, because you can use Linux to do big things using the building blocks provided with the system. If you want to do little things, such as making an operating system for an embedded processor or just recycling your old 486, Linux will do that as well. The Linux OS and quite some Linux applications have very short debugtimes:Because Linux has been developed and tested by thousands of people, both errors and people to fix them are usually found rather quickly. It sometimes happens that there are only a couple of hours between discovery and fixing of a bug. Linux is not very user friendly and confusing for beginners:It must be said that Linux, at least the core system, is less user-friendly to use than MS Windows and certainly more difficult than Mac OS, but... In light of its popularity, considerable effort has been made to make Linux even easier to use, especially for new users. More information is being released daily, such as this guide, to help fill the gap for documentation available to users at all levels. Linux is an Open Source Technology. Linux is built for Networking. It has Multi-User, Multiprogramming OS. It has Hierarchical File System.

2.5 Architecture2.5.1 Principles: Linux was built upon a small set of core principles. That includes: Small single purpose commands. Strictly simple output form said commands. Loosely accepted varied input for said commands. EVERYTHING is a File. All configuration stored in ASCII.

2.5.2 Components of Linux System:

I. Kernel:The kernel is the core part of the operating system a collection of routines mostly written in C. It is located into memory when the system is booted and communicates directly with the Hardware. It is responsible for all major activities of the operating system. Kernel provides the required abstraction to hide low level hardware details to system or application programs.It manage the system`s memory, schedules processes, decide their properties, and perform other task. II. System Library:System Libraries are special functions or programs using which application programs or system utilities access Kernel`s features. These Libraries implements most of the functionalities of the operating system and do not requires Kernel module`s code access rights.III. System Utility:System utility programs are responsible to do specialized, individual level tasks.2.5.3 System Architecture The Linux System Architecture is consists of following layers:

a) Hardwar Layer: Hardware devices of all peripheral devices (RAM/HDDD/CPU etc).b) Kernel: Core component of Operating System, interacts directly with hardware provide low level services to upper layer components.c) Shell: An interface to Kernel, hiding complexity of kernel`s functions from users. Takes commands from user and executes kernel`s functions.d) Utilities: Utility programs giving user most of the functionalities of an operating system.2.6 Flavors of LinuxThere are many OS flavors based on Linux available in market. Some flavors as follows: Red Hat: Red Hat (Enterprise) Linux is probably the largest commercial Linux vendor. Focus on stability and long term support. Red Hat sponsors a community version (Fedora) which undergoes a more rapid development cycle. KNOPPIX: The first Live CD version. The OS can be booted from, and run completely off the CD. KNOPPIX is based on Debian Linux. Many vendors now offer live versions. No installation necessary. Ubuntu: Ubuntu based on Debian Linux. Ubuntu claims to be most popular desktop version. Many applications and excellent update mechanism contribute to its success. Revenue is created by selling technical support. Puppy: This distribution is small enough to be loaded entirely in RAM. This frees up the CD/DVD drive for other uses. Configuration can be saved to a file between reboots. SuSE Linux: primarily available for pay because it contains many commercial programs, although there's a stripped-down free version that you can download. Mandrake Linux: Mandrake is perhaps strongest on the desktop. Gentoo Linux: Gentoo is a specialty distribution meant for programmers.Chapter - 3 REDHAT ENTERPRISE LINUX (RHEL)3.1 About Red Hat CorporationRed Hat, Inc. is an American multinational software company providing open-source software products to the enterprise community. It was founded in1993, by Bob Young and Marc Ewing. Red Hat has its corporate headquarters in Raleigh, North Carolina, with satellite offices worldwide. It has approx. 6500 employers in 2014. Official website of redhat is www.redhat.com. Red Hat has become associated to a large extent with its enterprise operating system Red Hat Enterprise Linux and with the acquisition of open-source enterprise middleware vendor JBoss. Red Hat provides operating system platforms, middleware, applications, management products, and support, training, and consulting services. Red Hat creates, maintains, and contributes too many free software projects and has also acquired several proprietary software packages and released their source code mostly under the GNU GPL while holding copyright under a single commercial entity and selling user subscriptions. As of June2013, Red Hat is the largest corporate contributor to Linux.REDHAT INDIA:Red Hat, Inc. created its subsidiary Red Hat India to deliver Red Hat software, support, and services to customers in India. Colin Tenwick, vice president and general manager of Red Hat EMEA said that "the opening of [Red Hat India] is in response to the rapid adoption of Red Hat Linux in the subcontinent. Demand for open source solutions from the Indian markets is rising and Red Hat wants to play a major role in this region".Red Hat India has worked with local companies to enable adoption of open source technology in both government and education. In2006Red Hat India had a distribution network of more than 70 channel partners spanning 27 cities across India. Red Hat India's channel partners included Ashtech InfoTech Pvt Ltd, Efensys Technologies, Embee Software, Allied Digital Services, and Softcell Technologies. Distributors included Integra Microsystems and Ingram Micro.3.2 About Red Hat ServicesRed Hat provides installation and configuration support to certification programs, Red Hat services set a new standard for enterprise-level support for Linux based operating system. Red Hat continues to grow its support offerings, including the international expansion of its popular Red Hat Certified Engineer training and certification courses for RedHat Linux. It also offers developer training courses. Some Training and Certification Courses as follows: RHCT REDHAT Certified Technician RHCE REDHAT Certified Engineer RHCSS REDHAT Certified Security Specialist RHCDS REDHAT Certified Datacenter Specialist RHCA REDHAT Certified Architect RHOSA REDHAT OpenStack Administration RHCVA REDHAT Certified Virtualization Administration3.3 Introduction of Red Hat Enterprise Linux (RHEL)Red Hat is the world's most trusted provider of Linux and open source technology. Red Hat provides operating system platforms along with virtualization, middleware, applications, management, and service-oriented architecture (SOA) solutions, as well as support, training, and consulting services to customers worldwide and through top-tier partnerships. Red Hat is the first distributor to bring cross-platform JAVA technology to Linux community.Red Hat Enterprise Linux (RHEL) is a Linux distribution developed by Red Hat and targeted toward the commercial market. Red Hat Enterprise Linux is released in server versions for x86, x86-64, Itanium, PowerPC and IBM System z, and desktop versions for x86 and x86-64. All of Red Hat's official support and training and the Red Hat Certification Program centers on the Red Hat Enterprise Linux platform. Red Hat Enterprise Linux is often abbreviated to RHEL, although this is not an official designation. The first version of Red Hat Enterprise Linux to bear the name originally came onto the market as "Red Hat Linux Advanced Server". In2003Red Hat rebranded Red Hat Linux Advanced Server to "Red Hat Enterprise Linux AS", and added two more variants, Red Hat Enterprise Linux ES and Red Hat Enterprise Linux WS. Red Hat uses strict trademark rules to restrict free re-distribution of their officially supported versions of Red Hat Enterprise Linux, but still freely provides its source code. Third-party derivatives can be built and redistributed by stripping away non-free components like Red Hat's trademarks, including community- supported distributions like CentOS and Scientific Linux, and commercial forks like Oracle Linux, which aim to offer100% binary compatibility with Red Hat Enterprise Linux. In market a lot of versions are available but latest version is REDHAT 7, which is used Linux Kernel from range 2.6 to 3.10. REDHAT 7 is mainly based on virtualization and cloud.3.4 Hardware Requirements for RHEL 6 System with 64 Bit CPU and related hardware. Intel/AMD x86_64 Architecture. RAM: Minimum 200 MB (on VM without GUI) and Maximum 2TB on 64-bit system. Hard Drive: Minimum 12 GB. Chapter - 4 SHELL SCRIPT4.1 SHELL4.1.1 What Is a Shell? The shell is a user program or it is an environment provided for user interaction. It is a command language interpreter that executes commands read from the standard input device such as keyboard or from a file. The shell gets started when you log in or open a console (terminal). Quick and dirty way to execute utilities. The shell is not part of system kernel, but uses the system kernel to execute programs, create files etc. Several shells are available for Linux including: BASH (Bourne-Again Shell) - Most common shell in Linux. It's Open Source. CSH (C Shell) - The C shell's syntax and usage are very similar to the C programming language. KSH (Korn Shell) - Created by David Korn at AT & T Bell Labs. The Korn Shell also was the base for the POSIX Shell standard specifications. TCSH - It is an enhanced but completely compatible version of the Berkeley UNIX C shell.Each shell does the same job, but each understands different command syntax and provides different built-in functions. Under MS-DOS, the shell name is COMMAND.COM which is also used for the same purpose, but it is by far not as powerful as our Linux Shells are!4.1.2 Shell PromptThere are various ways to get shell access: Terminal - Linux desktop provide a GUI based login system. Once logged in you can gain access to a shell by running X Terminal (X Term), Gnome Terminal (G Term), or KDE Terminal (K Term) application. Connect via secure shell (SSH) - You will get a shell prompt as soon as you log in into remote server or workstation. Use the console - A few Linux System also provides a text-based login system. Generally you get a shell prompt as soon as you log in to the system.4.1.3 Command Line Interface (CLI)The shell provides an interface to Linux where you can type or enter commands using the keyboard. It is known as the command line interface (CLI). To find out your current shell type following command:echo $SHELLps $$ps -p $$

Basic Command Line EditingYou can use the following key combinations to edit and recall commands: CTRL + L : Clear the screen. CTRL + W : Delete the word starting at cursor. CTRL + U : Clear the line i.e. Delete the all words from command line. Up and Down arrow keys : Recall commands (see command history). Tab : Auto-complete files, directory, command names and much more. CTRL + R : Search through previously used commands (see command history) CTRL + C : Cancel currently running commands. CTRL + T : Swap the last two characters before the cursor. ESC + T : Swap the last two words before the cursor. Executing a CommandType your command, and press enter key. Try this date command which will display current date and time:date

Sample outputs:Tue Apr 27 05:20:35 IST 2010

Getting Help in Linux Most commands under Linux will come with documentation. You can view documentation with the man command or info command. In this example, open the man page for date command:man date

You can read info documentation as follows for the ls command:Info ls

Many commands accept --help or -h command line option. In this example, display helps options for the date command:date --help

In short use any one of the following option to get more information about Linux: commands:man commzandNameinfo commandNamecommandName -hcommandName help

4.2 SHELL SCRIPT4.2.1 What Is Shell ScriptA Shell script can be defined as - "a series of command(s) stored in a plain text file". A shell script is similar to a batch file in MS-DOS, but it is much more powerful compared to a batch file.Shell scripts are a fundamental part of the UNIX and Linux programming environment.Each shell script consists of: Shell keywords such as if..else, do..while. Shell commands such as pwd, test, echo, continue, type etc. Linux binary commands such as w, who, free etc. Text processing utilities such as grep, awk, cut etc. Functions - add frequent actions together via functions. For example, /etc/init.d/functions file contains functions to be used by most or all system shell scripts in the /etc/init.d directory. Control flow statements such as if..then..else or shell loops to preform repeated actions.Each script has purpose: Specific purpose - For example, backup file system and database to NAS server. Act like a command - Each shell script executed like any command under Linux. Script code usability - Shell scripts can be extended from existing scripts. Also, you can use functions files to package frequently used tasks.4.2.2 Why shell scripting? Shell scripts can take input from a user or file and output them to the screen. Whenever you find yourself doing the same task over and over again you should use shell scripting, i.e., repetitive task automation. Creating your own power tools/utilities. Automating command input or entry. Customizing administrative tasks. Creating simple applications. Since scripts are well tested, the chances of errors are reduced while configuring services or system administration tasks such as adding new users.Practical examples where shell scripting actively used: Monitoring your Linux system. Data backup and creating snapshots. Dumping Oracle or MySQL database for backup. Creating email based alert system. Find out what processes are eating up your system resources. Find out available and free memory. Find out all logged in users and what they are doing. Find out if all necessary network services are running or not. For example if web server failed then send an alert to system administrator via a pager or an email. User administration as per your own security policies. Find out information about local or remote servers.Advantages Easy to use. Quick start, and interactive debugging. Time Saving. System Admin task automation. Shell scripts can execute without any additional effort on nearly any modern UNIX / Linux / BSD / Mac OS X operating system as they are written an interpreted language.Disadvantages Compatibility problems between different platforms. Slow execution speed. A new process launched for almost every shell command executed.

4.2.3 Write a Shell ScriptFollowing steps are required to write shell script:(1) Use any editor like VI or gedit to write shell script.(2) After writing shell script set execute permission for your script as followssyntax: chmod permission your-script-nameExample: $ chmod 755 your-script-name(3) Execute your script assyntax: bash your-script-namesh your-script-name./ your-script-nameNOTE In the last syntax ./ means current directory, But only . (dot) means execute given command file in current shell without starting the new copy of shell, The syntax for . (dot) command is as follows:. command-nameNow you are ready to write first shell script that will print "Knowledge is Power" on screen.$ vi first## My first shell script#clearecho "Knowledge is Power"

After saving the above script, you can run the script as follows:$ ./firstThis will not run script since we have not set execute permission for our script first; to do this type command$ chmod 755 first$ ./firstFirst screen will be clear, then Knowledge is Power is printed on screen.Normally shells are interactive. It means the shell will accept command from you (via keyboard) and execute them. However, if you store a sequence of commands to a text file and tell the shell to execute the text file instead of entering the commands, that is known as a shell program or shell script.4.3 DIALOG BOX SCRIPTDialog Box is used to provide a GUI Interface on command line. It is started with dialog command.Dialog Box has many attributes which as following:--calendar text height width day month year A calendar box displays month, day and year in separately adjustable windows. You can increment or decrement any of those using the left-, up-, right- and down-arrows. On exit, the date is printed in the form day/month/year. --checklist text height width list-height [ tag item status ] ... A checklist box is similar to a menu box; there are multiple entries presented in the form of a menu. Instead of choosing one entry among the entries, each entry can be turned on or off by the user. The initial on/off state of each entry is specified by status. On exit, a list of the tag strings of those entries that are turned on will be printed on dialog's output. --form text height width formheight [ label y x item y x flen ilen ] ...The form dialog displays a form consisting of labels and fields, which are positioned on a scrollable window by coordinates given in the script. The field length flen and input-length ilen tell how long the field can be. The former defines the length shown for a selected field, while the latter defines the permissible length of the data entered in the field. On exit, the contents of the form-fields are written to dialog's output, each field separated by a newline. The text used to fill non-editable fields (flen is zero or negative) is not written out. --infobox text height width An info box is basically a message box. However, in this case, dialog will exit immediately after displaying the message to the user. The screen is not cleared when dialog exits, so that the message will remain on the screen until the calling shell script clears it later. This is useful when you want to inform the user that some operations are carrying on that may require some time to finish. On exit, no text is written to dialog's output. Only an "OK" button is provided for input, but an ESC exit status may be returned. --inputbox text height width [init] An input box is useful when you want to ask questions that require the user to input a string as the answer. If init is supplied it is used to initialize the input string. When entering the string, the backspace, delete and cursor keys can be used to correct typing errors. If the input string is longer than can fit in the dialog box, the input field will be scrolled. On exit, the input string will be printed on dialog's output. --inputmenu text height width menu-height [tag item]An inputmenu box is very similar to an ordinary menu box. There are only a few differences between them: 1. The entries are not automatically centered but left adjusted. 2. An extra button (called Rename) is implied to rename the current item when it is pressed. 3. It is possible to rename the current entry by pressing the Rename button. Then dialog will write the following on dialog's output. RENAMED --menu text height width menu-height [tag item] ... Menu box is a dialog box that can be used to present a list of choices in the form of a menu for the user to choose. Choices are displayed in the order given. Each menu entry consists of a tag string and an item string. The tag gives the entry a name to distinguish it from the other entries in the menu. The item is a short description of the option that the entry represents. The user can move between the menu entries by pressing the cursor keys, the first letter of the tag as a hot-key, or the number keys 1-9. There are menu-height entries displayed in the menu at one time, but the menu will be scrolled if there are more entries than that. On exit the tag of the chosen menu entry will be printed on dialog's output. If the "--help-button" option is given, the corresponding help text will be printed if the user selects the help button. --msgbox text height width A message box is very similar to a yes/no box. The only difference between a message box and a yes/no box is that a message box has only a single OK button. You can use this dialog box to display any message you like. After reading the message, the user can press the ENTER key so that dialog will exit and the calling shell script can continue its operation. On exit, no text is written to dialog's output. Only an "OK" button is provided for input, but an ESC exit status may be returned. --passwordbox text height widthA password box is similar to an input box, except that the text the user enters is not displayed. This is useful when prompting for passwords or other sensitive information. --textbox file height width A text box lets you display the contents of a text file in a dialog box. It is like a simple text file viewer. The user can move through the file by using the cursor, page-up, page-down and HOME/END keys available on most keyboards. On exit, no text is written to dialog's output. Only an "EXIT" button is provided for input, but an ESC exit status may be returned. --yesno text height width This dialog box is useful for asking questions that require the user to answer either yes or no. The dialog box has a Yes button and a No button, in which the user can switch between by pressing the TAB key. On exit, no text is written to dialog's output. In addition to the "Yes" and "No" exit codes (see DIAGNOSTICS) an ESC exit status may be returned.Chapter - 5 SERVER5.1 TELNETTelnet server is used to login into another system on same network. The system can be on your local area network or available through an internet connection. Telnet operates as if you were logging in to another system from a remote terminal. You will ask for a login name and password. In effect, you are logging in to another account on another system. In fact, if you have an account on another system, you could see telnet to log in to it.You invoke the telnet utility with the keyword telnet. If you know the name of the site you want to connect with, you can enter name of the site on Linux command line.Example:[root@localhost ~] # telnet 192.168.0.2

5.2 Open SSHSecure shell (SSH) is used to provide secure connections over a network or internet. All data transferred using Open SSH tool is encrypted, making it inherently more secure. The Open SSH suite of tools includes SSH for securely logging in to a remote system.Open SSH uses a server-client relationship. The system being connected to is referred to as the server. The system requesting the connection is referred to as the client. A System can be both an SSH server and a client. Open SSH also has added the benefits of X11 forwarding and port forwarding.X11 forwarding: If X11 forwarding enabled on both the server and client, allow users to display a graphical application from the system they are logged in to on the system they are logged in from.Port forwarding It allows a connection request to be sent to one server but be forwarded to another server that actually accepts the request.Example: Logging from normal user of another system follows:[root@localhost ~] # ssh 192.168.0.2 -l hp

5.3 FTPFTP Server is used to transfer files between server and clients. All major operating system supports ftp. Ftp is the most used protocol over internet to transfer files. FTP work on client-server model. FTP client programs can enable users to transfer files to and form a remote running an FTP server program.Any Linux system can operate as an FTP server. It has to run only the server software-an ftp daemon with the appropriate configuration. Transfers are made between user accounts on client and server system. A user on the remote system has to log in to an account on a server an can than transfer files to and from that account`s directories only.A special kind of user account, named ftp, allow any user to log in to it with the username anonymous. This account has its own set of directories and filesthat are considered public available to anyone on the network who wants to download them.The numerous FTP sites on the internet are FTP server supporting FTP user account with anonymous login. Any Linux system can be configured to support anonymous FTP access, turning them into network FTP sites. Such sites can work on intranet or on the or internet.5.4 NIS and NFS NIS or Network Information System is a network service that allows authentication and login information to be stored on a centrally located server. This includes the user name and password database for login authentication, database of user group, and locations of home directories.NFS or Network File System is a server-client protocol for sharing files between computers on a common network. NFS enables you to mount a file system on a remote computer as if it were local to your own system. You can then directly access any of the files on that remote file system. The server and client do not have to use the same operating system. The client system just needs to be running an NFS Client compatible with the NFS server.5.5 Apache and Samba ServerApache Server: When you view a web page over the internet, the code of that page must be retrieved from a server somewhere on the internet. The Server that sends your web browser the code to display a web page is called a web server. There are countless web servers all over the internet serving countless websites to people all over the world. Whether you need a web server to host a website on the internet a Red Hat Enterprise Linux server can function as a web server application using the Apache HTTP Server. The Apache HTTP Server is a popular, open source server application that runs on many UNIX-based as well as Microsoft Windows. Apache web server provides two type webs hosting as follows:Name Based Hosting: In this type you have configured multiple sites with same ip address. IP Based Hosting: In this type we will host multiple sites with multiple ip address.Samba Server: Most Linux systems are the part of networks that also run Windows systems. Using Linux Samba Server, your Linux and Windows systems can share directories and printers. This is most use full situation where your clients are window native and you want to use Linux security features. 5.6 SMTP Mail ServerSMTP: SMTP is an acronym for Simple Mail Transport Protocol. This is the protocol used by the email systems to transfer mail message from one server to another. This protocol is essentially the communications language that the MTAs use to talk to each other and transfer messages back and forth. MTA: The Mail Transfer Agent is the part of the email system that does much of the work of transferring the email message from one computer to another (either on the same local network or over the internet to a remote system). Once configured correctly, most users will not have any direct interaction with their chosen MTA unless they wish to re-configure it for any reason. There are many choices of MTA available for Linux including sendmail, Postfix, Fetchmail, Qmail and Exim.

Chapter - 6 PROJECT OVERVIEWI worked on the project titled as REDHAT Server Automation. This is an automation tool which is developed for REDHAT Servers automation by using shell script. This project is made keeping in mind the people is work on a new OS without knowing more about that.4.1 Scope: Red hat Server Automation Tool is using for automate the servers according to the requirements. It provides a better user interface for the beginners as well as expert. Working on TUI mode is more typical then GUI mode so it provides graphical interface on terminal mode.4.2 IntroductionAutomation can be defined as system where information's are transmitted and used for performing some function without direct participation of man.In this tool we automate the following servers: Telnet Server Open SSH Server Networks Server : NFS and NIS Web Servers : Apache and Samba Mail Server : SMTP File Transfer : FTP

4.3 DESIGN PRINCIPLES & EXPLANATION 4.3.1. Modules Basic commands User Management Disk Management Server Management4.3.2. Module DescriptionBasic Commands: It is usable to beginners of Linux, which have knowledge of command line OS. It has described some basic commands of Linux like Cal, date, pwd etc. It describes Syntax, output of a command that will helpful to new user to show about command that how it is used and what the output is given by it.Disk Management: This option is used to manage disk partitions on HDD and USB. It is used to create new partition, delete partition, change partition type (NTFS/FAT/exFAT) etc. You can simply provide disk type, partition number, partition size, partition type to this option. Its can simply create a new partition and automatically mount this partition. User Management:This option is used to manage user accounts, groups, and change access permission to particular user according to requirements. It has following parts: ADD USER: It is used to add a new user account. You can simply click on this option and give a user name and click ok or press enter than it automatically added a new user and give permission and security to new user. ADD GROUP: It is used to add a new group. You can simply click on this option and give a group name and click ok or press enter than it automatically added a new group. REMOVE USER: It is used to remove user account. REMOVE GROUP: It is used to remove group.Server Management:This option is used to manage server`s installation and configuration. This is used to provide this management service to both Server and Client Side. It consists following server: Telnet Server Open SSH Server NFS NIS Apache Samba Mail Server : SMTP File Transfer : FTP

4.4 TECHNOLOGY USED REDHAT 6.4 Kernel 2.6.32 Shell Script and Dialog Box Script TUI Based Programming

Chapter - 7 PROJECT SNAPSHOTSORIGINAL LOOKUP

LOGIN AND SIGN UP-

MAIN MENU

BASIC COMMANDS

DISK MANAGEMENT MENUCreate PartitionProvide Disk Type, Disk Size, Partition Type and Partition Size:

USER MANAGEMENT MENU

USER MANAGEMENT ADD USER

REMOVE USER

SERVER MENU (Server Side OR Client Side)

APACHE WEB SERVER

Chapter - 8 TESTING7.1 Software Implementation A software implementation method is a systematically structured approach to effectively integrate software based service or component into the workflow of an organizational structure or an individual end-user. It is a blueprint to get users and/or organizations running with a specific software product. The method is a set of rules and views to cope with the most common issues that occur when implementing a software product: business alignment from the organizational view and acceptance from the human view.It is stated that the implementation of software consumes up to 1/3 of the budget of a software purchase (more than hardware and software requirements together). The complexity of implementing product software differs on several issues. These issues may be: The number of end users that will use the product software. The effects that the implementation has on changes of tasks and responsibilities for the end user. The culture and the integrity of the organization where the software is going to be used. The budget available for acquiring software. 7.2 Methodology used for testing: Software testing is a critical element of software quality assurance and represents the 0ultimate review of specification, design, and code generation. The increasing visibility of software as a system element and the attendant costs associated with a software failure are motivating forces for well-planned software development, through testing.The main objectives of testing are listed below: Testing is a process of executing a program with the intent of finding an error. A good test case is one that has a high probability of finding an as-yet-undiscovered error. A successful test is one that uncovers an as-yet-undiscovered error.

7.2.1 Testing Perspectives Software is tested from two different perspectives: 1. Internal program logic is exercised using "white-box" test case design techniques.2. Software requirements are exercised using "black-box" test case design techniques.In both cases, the intent is to find the maximum number of errors with the minimum amount of effort and time. The two types of techniques, which have been used to test this project are briefly described as follows: Black-box testing: It refers to testing a system with no specific knowledge to the internal workings of the system, no access to the source code, and no knowledge of the architecture. In essence, this approach most closely mimics how an attacker typically approaches your application. However, due to the lack of internal application knowledge, the uncovering of bugs and/or vulnerabilities can take significantly longer. White-box testing: It refers to testing a system will full knowledge and access to all source code and architecture documents. Having full access to this information can reveal bugs and vulnerabilities more quickly than the "trial and error" method of black box testing. Additionally, you can be sure to get more complete testing coverage by knowing exactly what you have to test. However, because of the sheer complexity of architectures and volume of source code, white box testing introduces challenges regarding how to best focus the test and analysis efforts. Also, specialized knowledge and tools are typically required to assist, such as debuggers and source code analyzers.

CONCLUSION AND FUTURE SCOPE

While developing the Automation Tool I learned about Red Hat operating system. I learned how I can install and configure a server in Red Hat operating system. Red Hat servers are used in bride range than Windows server in maximum companies. Redhat Servers is more trusted and useful than windows Server. It is becoming the most widely spread platform and contains many opportunities for the developers to make more applications as it is very flexible and easy to use. This tool is help to install and configure server according to requirements and manage user accounts, disk partitions, so no need to remember of commands or any prior knowledge of Linux OS.This tool is easy to use and helpful for beginners as well as experts, so it has a good future scope that people use it to save time and cost for setup servers.

BIBLIOGRAPHY AND REFRENCES

(I) BIBLIOGRAPHY: UNIX by Sumitabha das Red Hat Linux Networking and System Administration (II) REFERENCES: RHCE Course Manuals provided by Linux World Informatics Pvt. Ltd. www.google.com www.wikipedia.com www.linuxquestions.org

Page 40 of 40