This hands-on lab provides a Linux administrator with an understanding basic Linux commands, services, and configuration information. You will get hands-on experience using the vim text editor, administering users, groups, and their privileges, creating a Bourne again shell (bash) script and configuring and using common services (e.g., SSH, FTP, rsync, and scp).
Understand the scenario
You are a Linux server administrator for a company migrating to Linux. You need to manage Linux services, including SSH, FTP, rsync, scp, and cron. You need to manage users and groups, including privilege escalation, password security, and aliases. You also need to document the server's configuration.
Use basic Vim commands:
In Linux, text editing is usually done with the vi text editor or vim ("vi improved") text editing tool. The tool is very useful for editing configuration files, but it has some nuances that you will need to get used to. This exercise introduces you to vim, and you will become familiar with how to use it in command mode, insert mode, and how to exit the program while saving your changes.
Escalate your privileges to root:
It is a security best practice to login to a system with minimal privilege, but sometimes you need to perform elevated privilege tasks. You will learn to escalate your user privilege by using the su (super user) command, giving you root-level privilege so that you can perform your administrative tasks. Then you will learn how to modify the sudoers configuration file, which will give you sudo (super user do) privilege for tasks. Users can be assigned sudo privileges for specific tasks, eliminating the need to share the root user credentials.
In this section, you will learn how to create, modify, and delete a user. You will also learn how to create a group and assign a user to the group. You will become familiar with the basic Linux commands useradd, usermod, userdel, groupadd, groupmod, and groupdel.
Create an alias:
Aliases are shortcuts, in the form of a character string, that make your job easier by shortening a long command, or string of commands, into a short and easy to remember alias. You will learn how to edit the .bashrc profile, creating aliases and easily running multiple commands using one short word.
Schedule scripts with cron:
For this task, you will create a bash script and learn about crontab, which allows you to schedule when a file/script (i.e., a cron job) will run. As a Linux administrator, you may have tasks that you want to perform periodically or at a given schedule. The crontab makes your life as an administrator easier by allowing you to schedule those jobs to run whenever you need it.
Configure an FTP Server:
The File Transfer Protocol (FTP) is one of the most common protocols that allow you to transfer files from one system to another. In this task, you will learn how to use yum to install an FTP server and client. You will configure your FTP server settings, and you will apply firewall rules so that your system can communicate using this service.
Transfer files by using rsync and scp:
In this section, you will learn how to use two additional utilities (rsync and scp) for transferring files from one system to another. The remote synchronization utility, rsync, is native to many Linux distributions. It is useful for synchronizing files and can sync only the changes. The secure copy utility, scp, is a secure alternative to FTP that allows you to transfer files over SSH. You will learn how to create firewall rules to allow their traffic, and you will simulate performing a file transfer from one system to another.
Document the server:
Another fundamental Linux administrator task that you will learn is where to look and which commands to run to get configuration and version information about your server. These tasks are important for maintaining configure control within your environment.
Configure SSH Security:
In this final section, you will learn how to use the vim text editor to modify the SSH daemon's configuration file. Once modified, you will use SSH and see the results of your changes.
Lab Summary Conclusion:
This hands-on lab provides instruction on several of the most basic Linux administration tools and processes. You will learn how to use a Linux text editor, modify scripts and configuration files, use common file transfer utilities, manage users, groups, and permissions, and document the configuration of your system(s).
Other Challenges in this series
- This IT Pro Challenge is part of the Linux Administration series.