..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

40
..\..\Local Settings\Tem porary Internet Files\Co ntent.IE5\WL2C8E1D\j0411 667[1].jpg

description

..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg. Week Ten Agenda. Announcements Link of the week Review week nine lab assignment Week ten expected outcomes Next lab assignment Break-out problems Upcoming deadlines Lab assistance, questions, and concerns. - PowerPoint PPT Presentation

Transcript of ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Page 1: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Page 2: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Week Ten Agenda•Announcements•Link of the week•Review week nine lab assignment•Week ten expected outcomes•Next lab assignment•Break-out problems•Upcoming deadlines•Lab assistance, questions, and concerns

Page 3: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Link of the week• Protocol Directory 

http://www.protocols.com/pbook/

• Protocol Dictionaryhttp://www.javvin.com/protocolsuite.html

Define: Network ProtocolWhat type of things are determined by a network protocol?

Page 4: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignmentPhysical Linkln small_passwd small_passwd_hard-rwx---r-x 2 dandrear faculty 402 Mar 1 10:43

small_passwd-rwx---r-x 2 dandrear faculty 402 Mar 1 10:43

small_passwd_hardProvide an additional path to the data.Most all file name entries in a directory are hard links.

Page 5: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignmentSymbolic Linkln –s small_passwd small_passwd_softlrwxrwxrwx 1 dandrear faculty 12 Mar 7 12:22

small_passwd_soft -> small_passwdProvide an additional path to the data.Allow the data to be referenced across different file systems (no restrictions).

Page 6: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignment“Initializing” or “booting” the machine

The startup process of a computing system is the installation of software. Many pieces of the software are configured into subsystems and are interdependent upon each other.

Both Red Hat Linux and Solaris are based on the UNIX System V boot up procedure.

Steps involved in the boot procedureCPU mode is set to RESETCPU is pre-programmed to begin execution at hex

address 0Xfffffff0. Address 0Xfffffff0 is mapped to ROM (Read Only Memory). This ROM (BIOS ) address contains a set of routines that are burnt on the chip.

Page 7: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignmentThe I/O routines in the BIOS continue the boot process by reading Track 0, Sector 1 of the hard disk. This is the location of the Master Boot Record (MBR). The size of the MBR is 512 bytes. The MBR contains the disk partition tables, and executable code which is the first part of the boot loader. The MBR is independent of the kernel.In Linux systems, most modern boot loaders (such as LILO or GRUB), users can change which process the kernel spawns at the end of its initialization from the normal default of /sbin/init. The boot loader is responsible for loading the kernel into memory. Boot loaders are independent of the operating system and are executable code found inside the MBR. The boot loader must share the 512 bytes with the partition table.

Page 8: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignmentThe RAM disk image is loaded into memory. The initrd contains a set of hardware drivers that are used to boot the system. Once the drivers have been loaded, execution is turned over to the kernel.The kernel then executes a series of steps.

- Memory size determination- Data Structure Initialization- Mount root partition - Hardware Configuration Kernel configures information based on probing the system bus, and querying

drivers for information. Devices that are missing drivers are considered disabled.

- Hand crafted/Spontaneous processes.

Page 9: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignmentLinux Kernel Data Structure (task_struct)

The task_struct data structure contains the following fields:- Process state

runningreturning from system callprocessing an interrupt routineprocessing a system callready

waiting- Processes priority - Clock ticks (10ms intervals) which the process can continue

executing without forced rescheduling.- Error number of the last faulting system call

- Describe a processes: original parent, parent, youngest child, younger sibling,

and finally older sibling.- Process ID - Timing information; for example, the amount of time the process

has spent in user mode.

Page 10: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignmentThe Linux kernel process table is a data structure that describes all

processes that currently exist. The process table is implemented as an array of pointers to task structures.

The kernel process table is limited in size to 512 entries.

Page 11: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignmentStructures

struct date { int day;

int month; int year;

int yearday; char mon_name[9];

};

struct key {char *keyword;int keycount;

};

struct key keytab[NKEYS];

Examples of structures:

Page 12: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignment

N

S

EW

task_struct fs_struct

inode

inode

files_struct file inode

fsfiles

count

*toot*pwd

count

fd[1]f_mode

A Process’s Files

Page 13: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignmentProcess’s Virtual

Memorytask_struct

mm

mm_struct vm_area_struct

Data

Codevm_area_struct

vm_end

vm_next

vm_start

vm_end

vm_start

count

mmap_avl

0x0000000

0x8048000

0x8059BB8

Page 14: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignmentinit process

The kernel starts a few spontaneous/handcrafted processes in the user space. The origin of the init process is from the kernel and not the fork and execute procedure. The init process has Process ID (PID) of one (1).

The init process is the ultimate parent in the running system and plays an important role in the startup process. All future processes on the system

are descendents of the init process.Once the system processes are created, then the kernels work is basically completedThe init process performs the following tasks:

Executions the /etc/rc.d/rc.sysinit scriptSets the system clockActivates the paging processStarts the RAID devicesCheck and mounts other file systemsExecutes the /etc/inittab scriptExecution of run commandsSwitch to multi user mode

After the run commands (rc) have executed, the system is fully operational.

Page 15: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignmentinit process

It looks for the file /etc/inittab to see if there is an entry of the type initdefault. The initdefault entry determines the initial run level of the system.

init login process1. Init process spawns the getty or minigetty

process2. The getty process invokes the login process. After

the user name has been entered, it is passed to the login process .

3. The login process prompts the user for a user password, and verifies it. If authenication is successful, the user’s shell is created.

Otherwise, a failure causes an error message, ends and then init process will respawn getty or minigetty.

4. The user’s preferred shell will be invoked creating a session. Eventually, the user will logout.

Page 16: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignment

System startup

Stage 1 bootloader

Stage 2 bootloader

Kernel

Init

BIOS

Master Boot Record

LILO, GRUB, etc.

Linux

User-Space

Linux Boot Process Summary

Power-up / CPU RESET

Operational

Page 17: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignmentIn UNIX, a process is a name given to a program being executed by the

operating system.

In Linux, that same program is referred to as a task or process. Linux considers both names as the same.

A process consist of:- Program code, data, and stack- Open files (stdin, stdout, stderr)- System data structures- Environment (terminal type, user login directory)

A Linux system will share code and system libraries among processes so that memory can be conserved and only keep one copy of the code is in memory at a time.

Each Linux process is allocated a unique process identifier (PID). The range of PIDs is usually between 2 and 32,768.

Page 18: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignmentProcess

A process can be terminated in a couple of ways:- Foreground process by typing Ctl-C or Ctl-Z- Background process with PID=n and typing kill n

Zombie ProcessA child process that terminates before its parent but still has an

entry in the process table. This entry still needs to allow the process that started the zombie process to read its exit status.

Orphan ProcessIs a process that is still executing, but whose parent has died.An orphan process is eventually adopted by the init process.

Page 19: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignmentProcessProcesses go through various process states during their

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

• Process states:- created (fork and exec)- 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)- blocked (waiting for resources - user input or secondary storage input. Then process is moved back to “waiting” state) - terminated (finished execution, waits to be removed from main memory)

Page 20: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignmentProcess Summary

In Unix-like operating systems, the kernel is invoked when a process issues a system call.All processes have owners.Processes transition through various states.When an original process (parent) creates or spawns another processes (child), it inherits the file access and execution privileges belonging to the parent.

Page 21: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignmentThreadDefinition: The amount of work performed by a

process or task.- A single threaded process is a process only performs one task.- A multi-threaded process is a process that performs multiple tasks concurrently without incurring additional overhead needed to create a new process.

Page 22: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignment

System run levels0 - Halt system1 - System maintenance2 – Multi-user mode3 - Remote file sharing state4 – unused5 - X116 - Shutdown

Shutdown commandThe shutdown command brings the system down in a graceful

manner. This is the preferred way to shutdown your computer at the end of the day as it logs you out of the computer, clears the system memory of any errors that have developed over the course of the day, and leaves the machine ready for you to login immediately the next day. It also allows any needed updates to install automatically over the course of the night.

Page 23: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Review week nine lab assignmentOne commonly issued form of this command is shutdown -h now, which will shut down a system immediately. Another one is shutdown -r now to reboot. Another form allows the user to specify an exact time or a delay before shutdown: shutdown -h 20:00 will turn the computer off at 8:00 PM, and shutdown -r -t 60 will automatically reboot the machine within 60 seconds (one minute) of issuing the command.

The complete syntax of the Linux version of the command is:usage: shutdown [-akrhfnc] [-t secs] time [message]

-a use /etc/shutdown.allow -k don't really shutdown, only warn -r reboot after shutdown -h halt after shutdown -f do a 'fast' reboot (skip fsck) -F force fsck on reboot -n do not go through "init" but go down real fast -c cancel a running shutdown -t secs delay between warning and kill signal

Caveat:• The command kill sends the specified signal to the specified process or process group. As a

precaution, avoid indiscriminate use of the kill command on jobs involving text editors, databases programs, mail programs, or any other program that has a large amount of user interaction. The kill command terminates a job without saving any of the user input or program results.

Page 24: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Week ten, eleven, twelve expected outcomes

Upon 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/execute, B.

Initialization process, C. 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 25: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Next Lab Assignment

Password FileLocation: /etc/passwdField separators: Colon (:) File format:Username:Password:UID:GID:UserID:Home

directory:Command/shellExample:dandrear:x:1020:1021:dandrear

user:/export/home/dandrear:/bin/bashPermissions on Einstein:-rw-r--r-- 1 root root 1636 Aug 16 10:37 /etc/passwd

Page 26: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Next Lab AssignmentPassword 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 27: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Next lab assignment

6

The Password File• User Name:

– Often generated by a script– Often limited to 8 characters

• RedHat: 32 char – any char except newline and colon • Password:

– ‘x’ indicates use of /etc/shadow– ‘*’ indicates account is disabled.– Standard limit, 8 chars, unencrypted– Redhat limit, arbitrary length, unencrypted– Never leave this field empty.

• UID– A unique user identifier– unsigned 32 bit Integer– root has UID 0– Most systems: UID < 100: system accounts, UID >= 100: user accounts– Redhat: UID < 500: system accounts, UID >= 500: user accounts

Page 28: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Next lab assignmentShadow FileLocation: /etc/shadowField 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 29: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Next lab assignmentShadow 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 30: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Next lab assignment

11

Encrypted Passwords

• Encrypted Passwords:– DES (13 characters in encrypted form)– MD5 (34 characters in encrypted form)

• Most Linux distributions support MD5.• MD5 is the default in Redhat• MD5 passwords always begin with “$1$”

Page 31: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Next lab assignmentGroup FileLocation: /etc/groupField separators: Colon (:) File format:Group name:Password:GID:User_listExample:faculty:x:410:staff:x:430:Permissions on Einstein:-rw-r--r-- 1 root root 833 Aug 16 10:37 group

Page 32: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Next lab assignment

Group FileGroup name: Name of the group. Password: The group password would be encrypted. If this field is empty, no password is needed. GID: The numerical group ID and/or unique group identifier. User_list: All the group member's user names, separated by commas.

Page 33: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Next lab assignment

12

The Group File

• Permissions for users can be managed on a group basis.

• Defines which users are members of which group.

• A user can be a member of more than one group (Some systems restrict number of groups a user can be a member of).

• The group associated with a user in /etc/passwdfile is the user’s primary group.

Page 34: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Next lab assignment

14

The Group File• Group Name: on many systems, restricted to 8 char.• Password:

– Obsolete, still used in Linux. – Often contains an ‘x’ or nothing.– If field has ‘*’, means group is disabled.

• GID– A unique group identifier– unsigned 32 bit Integer– 0 for group root, 1 for bin, 2 for daemon– Most systems: UID < 100: system groups, UID >= 100: user

groups– Redhat: UID < 500: system groups, UID >= 500: user groups

• User List: comma separated, no spaces

Page 35: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Next lab assignment

15

The Group File

• If a user is defined as a member of a group in /etc/passwd but not in /etc/group, the file /etc/passwd takes precedence.

• On Linux, the file /etc/group can be edited with vigr

• Linux supports a shadow group file. – Its location is /etc/gshadow– It is used to store group passwords.

Page 36: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Next lab assignment

19

Adding Users

• 3 different ways to add users:– Manually– Using the ‘useradd’ command– Using a GUI based system administration

tool.

Page 37: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Next Lab AssignmentReview the tail command, pid, and ppid

Page 38: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Break-out problemssimple_script &What is a zombie process?What files are updated on a Linux system when a

new user is added?sleep 10What information is stored in the /etc/passwd file?What information is stored in the /etc/shadow file?What information is stored in the /etc/group file?What is a background process?What is a foreground process?What is an orphan process?nice commandinit process

Page 39: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Upcoming deadlines• Startup/Shutdown Exercise, 9-1 is due 3/15/09.• Account/LDAP Script, 10-1 is due 3/22/09.• Process, 10-2 is due 3/22/09.• Programming Assignment 2, 12-1 is due 4/5/09.• Archives Exercise, 12-2 is due 4/5/09.• Programming Assignment 3, 14-1 is due 4/18/09.• Presentations for Public Domain/Open Source Lab

Assignment 13-1 will be 4/6 and 4/13.• Final Exam, 15-1 will be administered 4/13 through 4/18.• Final Exam Outline will be posted on the Bulletin Board

3/29/09, 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 40: ..\..\Local Settings\Temporary Internet Files\Content.IE5\WL2C8E1D\j0411667[1].jpg

Lab assistance, questions and answers

• Questions• Comments• Concerns

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