Week Eleven Agenda

57

description

Week Eleven Agenda. Announcements Link of the week Review week ten lab assignment Week ten expected outcomes Next lab assignment Break-out problems Upcoming deadlines Lab assistance. Link of the week. File System  http://www.skillsheaven.com/linuxfil.php Define: Filesystem - PowerPoint PPT Presentation

Transcript of Week Eleven Agenda

Page 1: Week Eleven Agenda
Page 2: Week Eleven Agenda

Week Eleven Agenda

•Announcements•Link of the week•Review week ten lab assignment•Week ten expected outcomes•Next lab assignment•Break-out problems•Upcoming deadlines•Lab assistance

Page 3: Week Eleven Agenda

Link of the weekFile System 

http://www.skillsheaven.com/linuxfil.php

• Define: Filesystem• Linux Filesystem

ext3 includes journaling capabilities to allow faster recovery after unexpected

reboots.

Page 4: Week Eleven Agenda

Link of the weekDefine filesystem with journaling :

A file system with journaling is based on the techniques used from real-time transaction processing. A transaction log is used to store transactions either in a designated filesystem location or on a separate disk partition.

As changes are made to the filesystem, metadata changes are recorded to the log and writing entries to the log are done prior to writing the actual buffers to disk.

Page 5: Week Eleven Agenda

Link of the week

Benefits of journaling

In the event of a system crash, the entries in the log file remain intact and are replayed. Maintaining this level of data integrity ensures that the file system is in a constant state.

Page 6: Week Eleven Agenda

Review week ten lab assignmentDefinition: Network Protocol is a standard procedure

and format that two data communication devices must understand, accept and use in order to be able to communicate with each other.

A network protocol determines the following:• The type of error checking to be performed.• The data compression method to be used.• How the sending device will indicate that it has

finished sending a message.• How the receiving device will indicate that it has

received a message.

Page 7: Week Eleven Agenda

Review week ten lab assignment

/etc/password fileLocation: /etc/passwdField separators: Colon (:) File format:Username:Password:UID:GID:UserID:Home directory:Command/shell

Example:dandrear:x:1020:1021:dandrear user:/export/home/dandrear:/bin/ksh

Permissions on Einstein:-rw-r--r-- 1 root root 1636 Aug 16 10:37 /etc/passwd

Page 8: Week Eleven Agenda

Review week ten lab assignment/etc/passwd file

Username: It is used when user logs in. It should be between 1 and 32 characters in length.

Password: An x character indicates that encrypted password is stored in /etc/shadow file.

User ID (UID): Each user must be assigned a user ID (UID). UID 0 (zero) is reserved for root and UIDs 1-99 are reserved for other predefined accounts. Further UID 100-999 are reserved by system for administrative and system accounts/groups.

Group ID (GID): The primary group ID (stored in /etc/group file) User ID Info: The comment field. It allow you to add extra information

about the users such as user’s full name, phone number etc. This field use by finger command.

Home directory: The absolute path to the directory the user will be in when they log in. If this directory does not exists then users directory becomes /

Command/shell: The absolute path of a command or shell (/bin/bash). Typically, this is a shell. Please not it does not have to be a shell.

Page 9: Week Eleven Agenda

Review week ten lab assignmentExample of /etc/passwd file

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

Page 10: Week Eleven Agenda

Review week ten lab assignment/etc/passwd file

The /etc/passwd file is considered the user database for the system.

The information contained in the /etc/passwd file is useful for applications running on the system to access.

In summary, the /etc/passwd file is located under the system configuration and executables directory. The /etc/passwd file is the system’s master list of information about user accounts.

Page 11: Week Eleven Agenda

Review week ten lab assignment

/etc/shadow fileLocation: /etc/shadow

Field separators: Colon (:)

File format:username:passwd:lastpasswdch:min:max:warn:inactive:expire:unused

Example:dandrear:$1$dhBysgdhfteM9gd00:13064:0:99999:7:::

Permissions on Einstein:-r-------- 1 root root 1107 Sep 5 15:24 /etc/shadow (Permission denied)

Page 12: Week Eleven Agenda

Review week ten lab assignment/etc/shadow file User name : It is your login name Password: It your encrypted password. The password should be minimum

6-8 characters long including special characters/digits Last password change (last changed): Days since Jan 1, 1970 that

password was last changed Minimum: The minimum number of days required between password

changes i.e. the number of days left before the user is allowed to change his/her password

Maximum: The maximum number of days the password is valid (after that user is forced to change his/her password)

Warn : The number of days before password is to expire that user is warned that his/her password must be changed

Inactive : The number of days after password expires that account is disabled

Expire : days since Jan 1, 1970 that account is disabled i.e. an absolute date specifying when the login may no longer be used

Unused field:

Page 13: Week Eleven Agenda

Review week ten lab assignment/etc/shadow file• The “X” in the /etc/passwd file password field indicates that

the shadow file contains the encrypted password.• Red Hat Linux uses MD5 by default.• Most Linux systems utilize MD5 as their encrypted form.• MD5 requires 34 characters in encryption form.• MD5 begins with a dollar sign, number, and a dollar sign

(e.g. $1$).• The shadow file is only readable by root.

In summary, the /etc/shadow file contains the encoded passwords and password settings. The /etc/shadow file contains all the guide lines that pertain to the administration of the password.

Page 14: Week Eleven Agenda

Review week ten lab assignment/etc/group file

Location: /etc/groupField separators: Colon (:) File format:Group name:Password:GID:User_list

Example:faculty:x:410:staff:x:430:

Permissions on Einstein:-rw-r--r-- 1 root root 833 Aug 16 10:37 group

Page 15: Week Eleven Agenda

Review week ten lab assignment/etc/group file Group name: Name of the group. Password: The group password is encrypted. If this

field is empty, no password is needed. Otherwise, an “X” in the field indicates the password is stored in the /etc/gshadow file.

GID: The numerical group ID and/or unique group identifier.

User_list: All the group member's user names, separated by commas.

Most Unix-like systems impose a limit of 16 to 32 group memberships per user.

Page 16: Week Eleven Agenda

Review week ten lab assignment/etc/group file

ntp:x:38: student:x:101:

itadmin:x:400:faculty:x:410:

csfac:x:420:mccannp,sieberth,hochstew,whittakt,morganr,hartungstaff:x:430:hpsmh:x:501:kumarp:x:503:caldwelr:x:505:apache:x:48:oinstall:x:600:

Linux utilizes the vigr command used to edit the /etc/group file.

Page 17: Week Eleven Agenda

Review week ten lab assignment/etc/group file

In summary, the /etc/group file identifies a collection of users who generally share similar functions. These groupings are not limited to departments or project.

Page 18: Week Eleven Agenda

Review week ten lab assignment/etc/gshadow file Group-name: is the name of the group Password: is the encoded version of the

password Group-admins: is the list of members in the

group Additional- users: a copy of additional

members.

In summary, the /etc/gshadow file is utilized to store the /etc/group password.

Page 19: Week Eleven Agenda

Review week ten lab assignmentFile Summary

/etc/passwd - user account information /etc/shadow - secure user password information

/etc/group - group information /etc/gshadow - secure group password informationUser account files The /etc/passwd, /etc/shadow, and /etc/group files are

considered the most important files for storing user account and authentication information.

Command to add a user account

Linux/Knoppix –useraddCommand to remove a user account

Knoppix – deluserLinux - userdel

Page 20: Week Eleven Agenda

Review week ten lab assignment

Managing UsersAdding a user to a computer involves several steps before the user can actually log in and perform user operations.

Every user that intends to utilize a computer must first gain access to that system, then go through an initialization process found under the user’s home directory. The new user initialization process begins by reading and executing the commands and environmental variables found in the $HOME/.profile file or .bash_profile. Normally, the .profile is run automatically when you log into the system and the user’s environment is set up silently. Once the user is granted access permission to the system, a shell is spawn to allow the user to interact with the system.

Display the ~dandrear/.profile

When adding a new user account to the system, the administrator assigns the username a user identification number (UID). The UID is used internally by the system to identify each user. Duplicating the UID causes the accounts to share an identity in the system.

Page 21: Week Eleven Agenda

Review week ten lab assignmentProcesses

& symbol represents the background process.Once a background process is launched by a terminal session, the process becomes unattached to the terminal that launched it. Background processes are terminated with PID=n and typing kill -9 PID

Example: simple_script &

Once a foreground process is started, it remains in the foreground until it completes, because it remains attached to the terminal. Foreground process by typing Ctl-C or Ctl-Z

Page 22: Week Eleven Agenda

Review week ten lab assignmentAn autonomous process is one that is not started by the kernel.The daemon processes are started as part of the boot process and

run until the system is shut down.The UNIX inetd daemon may start the telnetd to handle a telnet

connection.The UNIX inetd daemon may start the ftpd to handle an ftp

connection.One daemon may start another; the UNIX inetd daemon will accept a network connection and then start another daemon to handle the connection, based on the type of connection. There are various processes in UNIX that are not owned by a user, but exist to provide services. These processes are often called "daemons.“

The inetd superserver runs continuously listening for network connections. This type of daemon is more susceptible to be system breaches.

Page 23: Week Eleven Agenda

Review week ten lab assignmentxinetd daemon

The Linus xinetd daemon is a more secure replacement for the inetd superserver. The xinetd superserver listens for network connections. When a connection is made, it launches a specific daemon and forwards the data from the socket to the daemon’s standard input.

Basically, the xinetd superserver works on-demand.

Page 24: Week Eleven Agenda

Review week ten lab assignment

Single threaded process is when a process only performs one task.

Multi-threaded process is when a process can perform multiple tasks concurrently without extra overhead needed to create a new process. Word processor is a multi-threaded process.

Page 25: Week Eleven Agenda

Review week ten lab assignmentKernel Functions

The kernel part of the operating system that allocates machine resources, including memory, disk space, and CPU cycles, to all other programs that run on a computer

Page 26: Week Eleven Agenda

Review week ten lab assignmentThe kernel is responsible for creating the init process. This creation is referred to as spontaneous and/or hand-crafted.

Processes go through various process states during their existence. These are transitory states managed by the operating system (OS). The specifics of these process states vary from one OS to another, as well as state names.

Linux Process states:- Waiting (process scheduler - load from secondary storage to

main memory)- Running (after a process is assigned a processor by a short –

term scheduler, context switch is performed)- Stopped (The process has been stopped, usually by receiving

a signal. A process that is being debugged can be in a stopped state)

- Zombie (This is a halted process for some reason. Still has a task_struct data structure)

Page 27: Week Eleven Agenda

Review week ten lab assignment

Page 28: Week Eleven Agenda

Review week ten lab assignment

Page 29: Week Eleven Agenda

Review week ten lab assignmentZombie process is a process that has completed

execution but still has an entry in the process table, allowing the process that started it to read its exit status. Remember that a Zombie is already dead.

Locate a zombie process on cs.franklin.edu

Commands:

ps aux

ps aux | awk ‘{ print $8 “ “ $2 } ‘ | grep -w Z

Page 30: Week Eleven Agenda

Review week ten lab assignmentOrphan process is a process whose parent

process has terminated or finished.

Orphan processes have a PPID of one (1).

Command:ps -aeo user,pid,ppid,stime,time,state,command

Page 31: Week Eleven Agenda

Review week ten lab assignment/etc/rc.d/rc.sysinit

This init script performs basic system configuration which includes setting the system clock, hostname, and keyboard mapping; setting up the swap partitions; checking the remaining file system for errors; and turning on the quota management.

/etc/rc.d/rc

This init script runs the scripts for the services that need to be started when you first bring the system up and that need to be started or stopped when the system foes from single user mode to multiuser mode and back down again.

Page 32: Week Eleven Agenda

Review week ten lab assignment

/etc/rc.d/init.d

This init directory contains shell rc scripts and run via symbolic links in the /etc/rc.d/rcn.d directories, where n is the runlevel the system is entering. The following scripts reside in this directory.

/etc/rc.d/rc.local

This file is executed after the init scripts. Commands can be placed in this file to customize the system. These commands are best suited to execute in the background and after the initialization process completes.

Page 33: Week Eleven Agenda

Review week ten lab assignment/etc/rc.d/rc1.d

This directory contains scripts the start and stop during a specific run level. The following scripts execute during run level one (1):K10cups K25sshd K50netdump K74nscd K86nfslock K91isdn S01sysstat

Notice the numbering from 00 to 99. This numbering provides positioning of a script within the whole scheme of execution.

Page 34: Week Eleven Agenda

Week ten, eleven, & twelve expected outcomesUpon successful completion of this module, the student will be

able to:

• Manipulate user accounts. • Describe how cron is used to invoke repetitive processes. • Manipulate process structure including:

a) fork and execute b) Initialization processc) Background/foreground d) PS tool

• Explain basic UNIX security issues. • Describe disk and file system structure. • Use backup and restore archival operations on a system. • Establish network services. • Investigate the structure of the LDAP directory using LDAP

commands.

Page 35: Week Eleven Agenda

Next Lab AssignmentSamba

Samba is a suit of open source software programs that accommodates UNIX-like operating systems.

The name Samba was derived from SMB (Server Message Block), the protocol that is native method of file and printer sharing for Windows.

 

As a server, Samba shares Linux files and printers with Windows systems. As a client, Samba allows Linux users access to files on Windows systems. Samba has the capability to share files across heterogeneous computing environments.

 

Page 36: Week Eleven Agenda

Next Lab AssignmentThe Samba server uses UDP ports 137 and 138

and TCP ports 139 and 445. Normally, openings in the firewall are needed during installation.

 

Samba users must have the same username as a Linux username or must map to a Linux username. The username(s) that map a Linux username are located in /etc/samba/smbusers file. The record format is

linux_user_name = smb_user_name  

Page 37: Week Eleven Agenda

Next Lab AssignmentSamba uses its own passwords to enter

Samba, not Linux passwords. These passwords are located in the /etc/samba/smbpasswd file. Initially, when Samba is installed, this file does not exist on the system. Each technique described, allows the system administrator to add users to smbusers and passwords to smbpasswd. To map a password from a Windows system to a Linux system, use the command

smbpasswd –a smb_passwwd

Page 38: Week Eleven Agenda

Next Lab AssignmentJumpStart

To configure a Samba server, the system-config-samba utility best serves this basic need. This tool is the best one to use if you’re not familiar with Samba. The system-config-samba utility performs three basic functions: configuring the server, configuring users, and setting up shares that are exported to the Windows system.

 

What is a share? It is a filesystem hierarchy that is shared with another system using SMB. It is a directory hierarchy that is exported from a Linux system to a Windows system.

Page 39: Week Eleven Agenda

Next Lab AssignmentThe /etc/samba/smb.conf file controls a large portion of

how Samba works. The smb-config file is divided into sections to specifically address certain sections. They are as follows:

[globals] Defines global parameters

[printers] Defines printers

[homes] Defines shares in the “homes” directory. This share allows each user’s home directory to be shared with specific parameters.

[share name] Defines a share

 

Comments: # or ;

Execute testparm to check whether the smb.conf file is syntactically correct.

Page 40: Week Eleven Agenda

Next Lab Assignment• HTML (Hyper Text Markup Language) is a language used to create

documents and the World Wide Web.

HTML defines the structure and layout of a Web document by using a variety of tags and attributes.

The correct structure for an HTML document starts with <HTML><HEAD>(enter here what document is about)<BODY> and ends with </BODY></HTML>. All the information you'd like to include in your Web page fits in between the <BODY> and </BODY> tags. Define: Common Gateway Interface (CGI)It is a standard used for interfacing between applications with information servers (Web server). Application: CGI scripts execute in real-time and their output is dynamic in content.Scripts are designed to be executed from a Web daemon that will transmit information to another software facilitator (database engine), and receive the results back again and display them to the client.

Page 41: Week Eleven Agenda

Next Lab Assignmentfork command

Is a command that causes the shell to fork a new process, creating a duplicate of the shell process (subshell).

exec command

The new process attempts to exec the command. If the command is a binary executable program, like a compiled C program, exec succeeds and the system overlays the newly created sub-shell with the executable program.

Both commands are system calls that are executed by the operating system.

Page 42: Week Eleven Agenda

Next lab assignment/etc/inittab describes which processes are started at boot-up and

during normal operation. The /etc/inittab format: id:runlevels:action:process

# System initialization.10:0:wait:/etc/rc.d/rc 011:1:wait:/etc/rc.d/rc 112:2:wait:/etc/rc.d/rc 213:3:wait:/etc/rc.d/rc 314:4:wait:/etc/rc.d/rc 415:5:wait:/etc/rc.d/rc 516:6:wait:/etc/rc.d/rc 6

# Run mingetty in standard runlevels1:2345:respawn:/sbin/mingetty tty12:2345:respawn:/sbin/mingetty tty23:2345:respawn:/sbin/mingetty tty3

Page 43: Week Eleven Agenda

Next lab assignment• The runlevel field may be a single value for a

process.

# /etc/inittab run levels 0,1, 2, 3, 4, 5, and 6

l:0:wait:/etc/rc0.d

2:1:wait:/etc/rc1.d

3:2:wait:/etc/rc2.d

4:3:wait:/etc/rc3.d

5:4:wait:/etc/rc4.d

6:5:wait:/etc/rc5.d

7:6:wait:/etc/rc6.d

Page 44: Week Eleven Agenda

Next lab assignment• The runlevel field may contain multiple

runlevels for a process.

# /etc/inittab run levels 2, and 3

1:23:respawn:/sbin/mingety tty1

2:23:respawn:/sbin/mingety tty2

3:23:respawn:/sbin/mingety tty3

4:23:respawn:/sbin/mingety tty4

5:23:respawn:/sbin/mingety tty5

6:23:respawn:/sbin/mingety tty6

Page 45: Week Eleven Agenda

Next lab assignment/etc/inittab format

id:runlevel:action:process- id is a unique sequence of 1-4 characters which identify an entry in /etc/inittab- runlevel is a specific process level that action

should be taken - action describes which action should be performed- process specifies which process to be executed.

Page 46: Week Eleven Agenda

Next lab assignmentrespawn – The process will be restarted whenever it

terminates.wait – The process will be started once when the

specific runlevel is entered and init will wait for its termination.

once – The process will be executed once when the specific runlevel is entered.

boot – The process will be executed during system initialization.

initdefault – This entry specifies the runlevel which should be entered after system boot.

sysinit – The process will be executed during system boot. It will be executed before any boot or boot wait entries.

Page 47: Week Eleven Agenda

Next lab assignmentpowerwait – The process will be executed when the

power goes down.

powerokwait – This process will be executed as soon as init process is informed that the power

has been restored.

powerfailnow – This process will be executed when the init process is informed that the battery

of the external UPS power is failing.

ctraltdel – The process is executed when the init process receives the SIGINT signal. This means that someone on the system console has pressed the Ctrl-Alt-Del key

combination.

Page 48: Week Eleven Agenda

Next lab assignment/etc/init.d/rc.d/crond is started automatically started

when entering multi-user runlevel. crond is a daemon that executes scheduled commands.

/etc/crontab file is a file which contains the schedule of entries to be run and at specified times.

# Einstein /etc/crontab entries01 * * * * root run-parts /etc/cron.hourly02 4 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-parts /etc/cron.weekly42 4 1 * * root run-parts /etc/cron.monthly

Page 49: Week Eleven Agenda

Next lab assignmentcrontab format

* * * * * command to be executed

1 2 3 4 5

First *: min (0-59)

Second *: hour (0-23)

Third *: day of month (1-31)

Fourth *: month (1-12)

Fifth *: day of week (0-6) (Sunday=0)

Example: 40 18 * * * rm /export/home/someuser/*

Page 50: Week Eleven Agenda

Next lab assignment/usr/lib/cron/cron.allow

/usr/lib/cron/cron.deny

crontab commands

crontab -e Edit crontab file

crontab –l Display your crontab file

crontab –r Remove your crontab file

crontab –v Display last time crontab was edited.

Page 51: Week Eleven Agenda

Next lab assignmentFull backup is the starting point for all other

types of backup and contains all the data in the folders and files that are selected to be backed up. Because full backup stores all files and folders, frequent full backups result in faster and simpler restore operations. Remember that when you choose other backup types, restore jobs may take longer.

Page 52: Week Eleven Agenda

Next lab assignmentDifferential backup contains all files that

have changed since the last FULL backup. The advantage of a differential backup is that it shortens restore time compared to a full backup or an incremental backup. However, if you perform the differential backup too many times, the size of the differential backup might grow to be larger than the baseline full backup.

Page 53: Week Eleven Agenda

Next lab assignmentIncremental backup stores all files that have

changed since the last FULL, DIFFERENTIAL OR INCREMENTAL backup. The advantage of an incremental backup is that it takes the least time to complete. However, during a restore operation, each incremental backup must be processed, which could result in a lengthy restore job.

Page 54: Week Eleven Agenda

Break-out problems1) What is the function of the /etc/fstab file?2) What functionality does Samba provide?3) List the different process states used on a Linux system.4) Explain the relationship between the /etc/passwd file and the /etc/shadow file.5) What functionality does journaling provide a file system?6) Describe how a background process works with respect to the terminal.7) Describe how a foreground process works with respect to the terminal.8) Syntax used in the /etc/inittab file

respawnwaitctrlaltdelpowerwaitinitdefault

9) Unix commands:uptime uname –n uname –auname –r

Page 55: Week Eleven Agenda

Reading assignments• Outline reading assignments• Review Modules 4,5,6, and 7.

Page 56: Week Eleven Agenda

Upcoming deadlines• Account/LDAP Script, 10-1 is due July 12, 2009.

Process, 10-2 is due July 12, 2009.• Knoppix File System Exercise, 11-1 is due July 19, 2009.• Programming Assignment 2, 12-1 is due July 26, 2009.

Archives Exercise, 12-2 is due July 26, 2009.• Presentations for Public Domain/Open Source Lab

Assignment 13-1 will be July 27 and August 3, 2009.• Programming Assignment 3, 14-1 is due August 8, 2009.• Final Exam, 15-1 will be administered August 3 – 8, 2009.• Final Exam Outline will be posted on the Bulletin Board July

19, two weeks prior to the final exam date. This outline will be considered a “living” document. I will add additional information to it up to one week prior to the exam. All additional information posted after the initial posting will be highlighted/indicated.

Page 57: Week Eleven Agenda

Lab assistance• Questions• Comments• Concerns

• I will be available after this Franklin Live session to discuss any problems and/or concerns regarding lab assignments.