OPS235 Lab 4 - CentOS6
Contents
Logical Volume Management (Continued) and User / Group Management
Introduction
In this lab you're going to learn how to:
- Add a virtual hard disk and expand your vm's existing file system using LVM
- Administer (add, remove, modify) users on a Linux system.
- Save time while adding new users using a template of start-up files.
- Create and manage groups on a Linux system.
Required Materials (Bring to All Labs)
- CentOS 6.5 x86_64 Live DVD
- CentOS 6.5 x86_64 Installation DVD1
- SATA Hard Disk (in removable disk tray)
- USB Memory Stick
- Lab Logbook
Prerequisites
- Completion and Instructor "Sign-off" of Lab 2: OPS235 Lab 3 - CentOS6
Linux Command Online Reference
Each Link below displays online manpages for each command (via http://linuxmanpages.com):
LVM Information Utilities: | LVM Management Utilities: | Additional Utilities: |
Resources on the web
Additional links to tutorials and HOWTOs:
- Logical Volume Management (Note: It is recommended to return to this guide as a reference when performing the next several investigations)
- Linux File Systems (ext2/ext3/ext4)
- Partitioning with fdisk
- Mounting / Unmounting File-systems
- UID and GID explained
Storage Setup (prior to starting Lab 4)
At this point, having completed Lab 3 you should have roughly the following disk storage setup:
(Note: These results are output from the vgs, lvs, and pvs commands within each virtual machine. You will be using these commands in the following lab investigations)
- centos1
This VM has a GUI and no free space in the VG. VG #PV #LV #SN Attr VSize VFree vg_centos1 1 2 0 wz--n- 9.80G 0 LV VG Attr LSize lv_root vg_centos1 -wi-ao 8.83G lv_swap vg_centos1 -wi-ao 992.00M PV VG Fmt Attr PSize PFree /dev/vda2 vg_centos1 lvm2 a- 9.80G 0
- centos2
This VM has a GUI and free space in the VG. VG #PV #LV #SN Attr VSize VFree vg_centos2 1 4 0 wz--n- 19.51g 4.73g LV VG Attr LSize lv_archive vg_centos2 -wi-ao---- 1.00g lv_home vg_centos2 -wi-ao---- 4.00g lv_root vg_centos2 -wi-ao---- 7.81g lv_swap vg_centos2 -wi-ao---- 1.97g PV VG Fmt Attr PSize PFree /dev/vda2 vg_centos2 lvm2 a-- 19.51g 4.73g
- centos3
This VM has no GUI installed. VG #PV #LV #SN Attr VSize VFree vg_centos3 2 3 0 wz--n- 16.50g 0 LV VG Attr LSize lv_home vg_centos3 -wi-ao---- 1.00g lv_root vg_centos3 -wi-ao---- 10.00g lv_swap vg_centos3 -wi-ao---- 992.00m PV VG Fmt Attr PSize PFree /dev/vda3 vg_centos3 lvm2 a-- 14.51g 2.54g /dev/vdb vg_centos3 lvm2 a-- 2.00g 2.00g
- c6host (i.e. "disk pack")
/dev/sdc3 20G 3.7G 15G 20% / /dev/sdc2 29G 4.7G 23G 18% /home /dev/sdc1 97G 48G 45G 52% /var/lib/libvirt/images
Logical Volume Management (Continued)
Resources
Please read this page to get an overview of LVM: Logical Volume Management
It is recommended to open another window(eg. right-click, open in new tab or window) to make reference to view LVM commands as you perform investigations 1 to 3.
Investigation 1: How are LVMs are managed using Command-Line Tools
- You are going to repeat the same LVM management operations (as your did with the centos2 VM in lab3), but you will using command-line tools in the centos3 VM. Since the centos3 VM only operates in command-line mode, you will need to refer to the "Logical Volume Management" link above.
- Write down the exact commands used at each step, and record appropriate command output:
- a. Determine the current LVM configuration using the
pvs
,vgs
, andlvs
commands. - b.Grow the home filesystem to 2G using the command
lvextend
andresize2fs
. - c.Create a new 2G LV containing an ext4 filesystem and mount it at /archive (use
mkdir
,lvcreate
,mkfs
,mount
, edit the file/etc/fstab
(read the resource: https://wiki.archlinux.org/index.php/fstab ), and then reboot to confirm automatic mount). - d.Copy the contents of
/etc
into/archive
. - e.Shrink
lv_archive
to 1G (useumount
,resize2fs
,lvreduce
, andmount
)
- a. Determine the current LVM configuration using the
Investigation 2: How can a PV be added to an existing VG using Command-Line Tools?
- Add an additional 2 GB virtual disk to your centos1 system, we will use it as an additional physical volume.
- Do the rest of this investigation in the command line.
- You should now have both
/dev/vda
and/dev/vdb
. - Record the size of the volume group and the amount of free space (Hint: use a command that you learned in a previous lab).
- Read the resource Partitioning with fdisk to learn how to properly create a partition with the fdisk command.
- Use fdisk to partition /dev/vdb with a Linux single partition that fills the whole disk.
- Check the messages printed when
fdisk
exits -- you may need to reboot the system in order for the new partition table to take effect. - Mark vdb1 as a physical volume usable by LVM.
- Add the new physical volume to the existing volume group.
- Verify that the volume group is larger and has more free space.
Using that additional space, create a separate filesystem for /home
:
- Create the logical volume
lv_home
(1G ext4) - Find a way to move the contents of
/home
onto it. - Change your system configuration so that the new filesystem is mounted on
/home
from now on.
Investigation 3: How can I use fdisk to manage storage on my disk pack?
On your c6host (i.e. "disk pack"), using your choice of the GUI and/or command-line tools:
- Create a new partition or logical drive (NOT a logical volume!) - minimum 5G, leaving at least 10G free space in the extended partition.
- Format that partition (i.e. put a filesystem on it).
- Make sure it's mounted automatically on a mountpoint of your choosing (easiest is to create a new directory for a mountpoint).
User/Group Management
Investigation 4: The /etc/passwd file
- Look at the /etc/passwd file.
- Make note of the contents of that file.
- Read about the file: http://linux.die.net/man/5/passwd
- Make sure you know what information each field contains.
- Why do you think there are so many users?
- Look at the names of the users. What do you think these user names represent? Are they people?
- What is the numeric user ID (UID) of the root user?
- The user IDs of real users (people) are different from the user IDs of system accounts. What is the pattern?
Investigation 5: Adding users
- Read the man page for the useradd command.
- Create a new user account for each of your pod mates, using their learn account name as a user name. Give each user a password.
- Grep the /etc/passwd file for each of the new users.
- What is the home directory of each user?
- What group is each user in?
- What else do you know about each user?
- Where are the passwords stored?
- Look at the man page for /etc/shadow using the command man 5 shadow
- Grep the /etc/shadow file for each of the new users.
- Make note of this information.
- Create two new dummy users, ops235_1 and ops235_2.
- Investigate the home directory of one of your new users.
- What files are there? Be sure to include hidden files.
- What do you think these files are used for?
- How does the operating system determine which files are created in a new home account? The answer can be found here: http://www.linuxhowtos.org/Tips%20and%20Tricks/using_skel.htm
- Look at the files (including hidden files) in the template directory referred to in the article. Compare them to what is in a home directory for a new user. What do you notice?
- Create a new file in this directory with the following command:
touch foo
- Create a new user named foobar, with the option to automatically create a home directory.
- Look at the contents of foobar's home directory. What do you notice?
- Be sure to record your observations in your lab notes.
- Add your matrix account user to centos3.
Investigation 6: Managing Groups
- Read the man page for the groupadd and groupdel commands.
- Note which option allows you to set the Group ID number (GID) when you create a new group.
- Examine the file /etc/group
- Which values of GID are reserved for system accounts?
- Which values of GID are reserved for non-system user accounts?
- What is the lowest available GID number for non-system users?
- What is the default group name of a new user?
- Add a new group named ops235 with a GID of 600.
- You are angry at some irresponsible users on your system.
- Add a new group named idiots.
- Look at /etc/group and note the GID of idiots.
- What GID is given to a new group if if you do not specify it?
- Your anger has subsided. Delete the idiots group.
- Look at /etc/group again and note the change.
Be sure to record your observations in your lab notes.
Investigation 7: Deleting users
- Read the man page for the userdel command. Note which option automatically removes the users home directory when that user is deleted.
- Delete the user ops235_1 using the command
userdel ops235_1
- Delete the user ops235_2 using the same command with the option which removes the home directory of the user.
- Check the contents of the /home directory. What do you notice?
- Check the contents of the /etc/group file. What do you notice?
Be sure to record your observations in your lab notes.
Investigation 8: Modifying users
- Read the man page for the usermod command. Note which options change the user's full name, primary group, supplementary groups, and shell.
- Add each of your new users to the group ops235 (in other words, add ops235 to each user as a supplementary group).
- Examine
/etc/group
. What has changed? - Use the usermod command to associate each of your pod mates' full name to their user name. With each change, examine their entries in the
/etc/passwd
file. What has changed? - Be sure to record your observations in your lab notes.
Completing the lab
Arrange proof of the following on the screen:
- Two PVs on centos1.
- Separate
/home
filesystem (on an LV) in centos1. - Account created on centos3 matching your Matrix account.
- List contents of /etc/group file (ops235 group).
- List contents of /etc/passwd file (created accounts).
- Fresh backup of the virtual machines.
Preparing for the Quizzes
- What is a VG? PV? LV?
- What is the total size of the "main" VG on your system?
- How do you create a LV?
- How do you delete an LV?
- How would you add the disk partition
/dev/sdb7
to your volume group "main"? - How would you increase the size of the root filesystem by 50 MB?
- What is the purpose of
/etc/fstab
? - What is the purpose of
/etc/shadow
?