Academic Catalog

C S 30C: LINUX SYSTEM ADMINISTRATION

Foothill College Course Outline of Record

Foothill College Course Outline of Record
Heading Value
Units: 4.5
Hours: 4 lecture, 2 laboratory per week (72 total per quarter)
Advisory: C S 30A.
Degree & Credit Status: Degree-Applicable Credit Course
Foothill GE: Non-GE
Transferable: CSU/UC
Grade Type: Letter Grade (Request for Pass/No Pass)
Repeatability: Not Repeatable

Student Learning Outcomes

  • A successful student will be able to manage and repair the many aspects of the operating system including networking, file sharing, accounting, logging, printing and disk file system.
  • A successful student will be able to configure an OS and be capable of planning for the routine maintenance of the system's many components.

Description

Basic Linux systems administration. Command line fundamentals, file management from command line, help commands, create/view/edit text files, manage local Linux users and groups, control access to files with Linux file system permissions, monitor and manage Linux processes, control services and daemons, configure and secure OpenSSH service, analyze and store logs, manage Linux networking, archive and copy files between systems, install and update software packages, access Linux file systems, use virtualized systems.

Course Objectives

The student will be able to:
A. Use basic command lines.
B. Manage files from the command line.
C. Utilize help commands.
D. Use the VIM editor to create, view and edit text files.
E. Demonstrate how to manage local users and groups.
F. Control access to files using Linux file system permissions.
G. Monitor and manage Linux processes.
H. Control services and daemons.
I. Understand how to configure and secure the OpenSSH service.
J. Understand content of system logs and how to manage the logs.
K. Manage basic Linux networking.
L. Understand how to install and update software packages.
M. Understand how to manage the Linux file system.
N. Understand basic virtual systems.

Course Content

A. Access the command line.
1. Access the command line using the desktop.
2. Execute commands using the Bash shell.
B. Manage files from the command line.
1. Linux file system hierarchy.
2. Manage files using command line tools.
3. Match file names using path name expansion.
C. Getting help in Linux.
1. Reading documentation using man command.
2. Getting help from Red Hat.
D. Creating, viewing and editing text files.
1. Redirection of output to a file or program.
2. Basic VIM text editor commands.
3. Examples of graphical text editors.
E. Managing local Linux users and groups.
1. Definition of users and groups.
2. Superuser access.
3. Managing local accounts.
4. Managing local group accounts.
5. Managing user passwords.
F. Controlling access to files.
1. Linux file system permissions.
2. Managing file system permissions from the command line.
3. Managing default permissions and file access.
G. Monitoring and managing processes.
1. What are processes?
2. Controlling jobs.
3. Monitoring process activity.
H. Controlling services and daemons.
1. Identifying automatically started processes.
2. Controlling system services.
I. Configuring and securing OpenSSH service.
1. Access the remote command line with SSH.
2. Customizing SSH service configuration.
J. Analyzing and storing logs.
1. System log architecture.
2. Systemd journal entries.
3. Maintaining accurate time.
K. Managing Linux Networking.
1. Networking concepts.
2. Editing network configuration files.
3. Configuring host names and name resolution.
L. Archiving and copying files between systems.
1. Managing compressed tar archives.
2. Copying files between systems securely.
3. Synchronizing files between systems securely.
M. Installing and updating software packages.
1. Attaching systems to subscriptions for software updates.
2. RPM software packages and Yum.
3. Managing software updates with Yum.
N. Accessing file systems.
1. Identifying file systems and devices.
2. Mounting/unmounting file systems.
3. Making links between files.
4. Locating files on the system.
O. Using virtualized systems.
1. Managing a local virtualization host.
2. Installing a new virtual machine.

Lab Content

A. Access the command line.
1. Local console access terms.
2. The GNMOME 3 desktop environment.
3. Bash commands and keyboard shortcuts.
4. Accessing the command line.
B. Manage files from the command line.
1. File system hierarchy.
2. Locating files and directories.
3. Command line file management.
4. Lab-Managing files with shell expansion.
5. Manage files using command line tools.
6. Match file names using path name expansion.
C. Getting help in Linux.
1. Using the man command.
2. Using the pinfo command.
3. Viewing package documentation.
4. Creating and viewing an SoS report.
5. Viewing and printing help documentation.
6. Getting help from Red Hat.
D. Creating, viewing and editing text files.
1. I/O redirection and pipelines.
2. Editing files with Vim.
3. Copying text between windows.
4. Creating, viewing and editing text files.
E. Managing local Linux users and groups.
1. User and group concepts.
2. Running commands as root.
3. Creating users using command line tools.
4. Managing groups using command line tools.
5. Managing user password aging.
6. Managing local users and groups.
F. Controlling access to files.
1. Interpreting file and directory permissions.
2. Managing file security from the command line.
3. Controlling new file permissions and ownership.
4. Controlling access to files with file system permissions.
G. Monitoring and managing processes.
1. Processes.
2. Background and foreground processes.
3. Killing processes.
4. Monitoring process activity.
5. Monitoring and managing processes.
H. Controlling services and daemons.
1. Identify the status of system units.
2. Using systemctl to manage services
3. Controlling services and daemons.
I. Configuring and securing OpenSSH service.
1. Accessing the remote command line.
2. Using SSH key based authentication.
3. Restricting SSH logins.
4. Configuring and securing OpenSSH service.
J. Analyzing and storing logs.
1. System logging components.
2. Finding log entries.
3. Finding events with jouralctl.
4. Configure a persistent systemd journal.
5. Adjusting system time.
6. Analyzing and storing logs.
K. Managing Linux networking.
1. Networking concepts.
2. Examining network configuration.
3. Configuring networking with nmcli.
4. Editing network configuration files.
5. Configuring host names and name resolution.
6. Managing RHEL networking.
L. Archiving and copying files between systems.
1. Backing up and restoring files from a tar archive.
2. Copying files over the network with scp.
3. Synchronizing two directories securely with rsync.
4. Archiving and copying files between systems.
M. Installing and updating software packages.
1. Red Hat subscripting management.
2. RPM software packages.
3. Installing and updating software with yum.
4. Enabling software repositories.
5. Working with PRM package files.
6. Installing and updating software packages.
N. Accessing file systems.
1. Identifying file systems and devices.
2. Mounting and unmounting file systems.
3. Making links between files.
4. Locating files on the system.
5. Accessing Linux file systems.
O. Using virtualized systems.
1. Managing a local virtualization host.
2. Installing a new virtual machine.

Special Facilities and/or Equipment

A. Access to a computer laboratory with current Linux based computers required to support the class.
B. A website or course management system with an assignment posting component (through which all lab assignments are to be submitted) and a forum component (where students can discuss course material and receive help from the instructor). This applies to all sections, including on-campus (i.e., face-to-face) offerings.
C. When taught via Foothill Global Access on the internet, the college will provide a fully functional and maintained course management system through which the instructor and students can interact.
D. When taught via Foothill Global Access on the internet, students must have currently existing email accounts and ongoing access to computers with internet capabilities.

Method(s) of Evaluation

A. Tests and quizzes
B. Written laboratory assignments
C. Final examination

Method(s) of Instruction

A. Lectures which include motivation for the architecture of the specific topics being discussed.
B. In-person or online labs (for all sections, including those meeting face-to-face/on-campus), consisting of:
1. An assignment webpage located on a college-hosted course management system or other department-approved internet environment. Here, the students will review the specification of each assignment and submit their completed lab work.
2. A discussion webpage located on a college hosted course management system or other department-approved internet environment. Here, students can request assistance from the instructor and interact publicly with other class members.
C. Detailed review of laboratory assignments, which includes model solutions and specific comments on the student submissions.
D. In person or online discussion which engages students and instructor in an ongoing dialog pertaining to all aspects of designing, implementing and analyzing programs.
E. When course is taught fully online:
1. Instructor-authored lecture materials, handouts, syllabus, assignments, tests, and other relevant course material will be delivered through a college-hosted course management system or other department-approved internet environment.
2. Additional instructional guidelines for this course are listed in the addendum of CS department online practices.

Representative Text(s) and Other Materials

Sobel, Mark G. A Practical Guide to Fedora and Red Hat Enterprise Linux. 7th ed. Prentice Hall, 2014.

Boessenkool, Wander. Red Hat System Administration I. Red Hat, 2015.

 

Types and/or Examples of Required Reading, Writing, and Outside of Class Assignments

A. Reading

1. Textbook assigned reading averaging 30 pages per week.

2. Online curriculum averaging 20 pages per week.

3. Online resources as directed by instructor though links pertinent to networking.

4. Library and reference material directed by instructor through course handouts.

B. Writing

1. Technical prose documentation that supports and describes the laboratory exercises that are submitted for a grades.

 

Discipline(s)

Computer Science