Unix и Linux. Руководство системного администратора.
Новое издание всемирно известной книги «Unix и Linux: руководство системного администратора» признанных авторитетов в области системного администрирования систем UNIX и Linux содержит точную и полную информацию о практически всех аспектах. Ясно и просто излагая важные факты, авторы сопровождают их реальными примерами. Справочник отличается от предыдущих изданий тем, что в нем рассмотрены современные версии систем UNIX и Linux — Solaris, HP-UX, AIX, Ubuntu Linux, openSUSE и Red Hat Enterprise Linux. Особое внимание авторы уделили администрированию сетей под управлением систем UNIX и Linux. Данное издание, появившееся в год, когда исполняется 20 лет со дня появления мирового бестселлера по системному администрированию UNIX, стало еще лучше благодаря описанию распространенных вариантов системы Linux: Ubuntu, openSUSE и RHEL. Системное администрирование в книге рассматривается с практической точки зрения. Она представляет собой бесценный справочник как для начинающих администраторов, так и для опытных профессионалов. В ней подробно описываются эффективные методы работы и рассматриваются все аспекты системного администрирования, включая: управление памятью, проектирование и управление сетями, электронную почту, веб-хостинг, создание сценариев, управление конфигурациями программного обеспечения, анализ производительности, взаимодействие с системой Windows, виртуализацию, DNS, безопасность, управление провайдерами IT-услуг и многое другое. В данной книге отражены текущие версии следующих операционных систем: Ubuntu Linux, openSUSE Linux, Red Hat Enterprise Linux, Oracle America SolarisTM (бывший Sun Solaris), HP HP-UX, IBM AIX. Книга будет чрезвычайно полезной всем системным администраторам, а также пользователям систем UNIX и Linux, студентам, преподавателям и специалистам по сетевым технологиям.
Beginner’s Guide to Linux System Administration
A Linux System Administrator manages the operations such as maintaining proper software, observing them, and even taking care of backup and hardware systems. It is recommended that before reading this article please go through the article What is Linux System Administration. Here we have some basics of Linux System Administration.
Some Basic Configurations
Set the Hostname: Open terminal and enter the following command in order to change the hostname.
sudo hostname your_hostname
Replace “your_hostname” with the hostname that you want to keep.
Setting up the time zone: Move to /usr/share/zoneinfo/your_zone and then link the zone file with /etc/localtime to set the time zone.
sudo ln -sf Kolkata /etc/localtime
File System and Management
Managing files is the most important task in Linux as all devices, directories, and packages are just a type of file in Linux.
1. To know about File system read the article File System in Linux.
2. To learn more about Linux file hierarchy structure you can read the article Linux File System Hierarchy
3. To get the difference between Linux and Windows File System read the article Windows vs Linux
Below is the list of some file management commands in Linux:
Command | Description |
---|---|
cd | Used to change the current directory |
ls | Used to list the directories and files in a directory |
vi | A good text editor to edit files |
touch | Used to create new files |
nano | A good text editor to edit files |
cp | Used to copy files and directories. |
mv | Used to move files and directories. |
rm | Used to remove files and directories. |
fdisk | Used to partition disks and to work with file systems |
mount | Used to mount a file system or a device |
You can also read the file management in Linux from the article https://www.geeksforgeeks.org/file-management-in-linux/
Networking Commands
Networking commands play an important role in system Administration and a good system Administrator must have good hands-on networking commands. Here is a list of such commands that are mostly used for networking in Linux.
Command | Description |
---|---|
route | used to view and manipulate ip routing tables. |
ping | Used to send some packets to a server and receive them back in case of a good network connection. |
traceroute | Used to trace the path taken by the traffic. |
nslookup | Used for querying the Domain Name System to obtain domain name or IP address mapping, or other DNS records. |
ifconfig | Used to view and change the configuration of the network interfaces on your system |
tracepath | Used to traces path to destination discovering MTU along this path |
ssh | Provides a secure encrypted connection between two hosts over an insecure network |
telnet | Used to test if a port is open and even to work with telnet protocol. |
curl | Used to transfer data to or from a server, using any of the supported protocols. |
scp | Used to securely copy files and directories between two locations over a network. |
w | Provides a quick summary of every user logged into a computer |
netcat | used for performing any operation in Linux related to TCP, UDP, or UNIX-domain sockets |
nmap | Used for network exploration and security auditing |
netstat | Used for monitoring network connections both incoming and outgoing as well as viewing routing tables, interface statistics, etc |
ip | Used to assign an address to a network interface and/or configure network interface parameters on Linux operating systems |
To learn more about Linux networking commands then read the article Linux Networking Tools
Managing Users and Group in Linux
A system administrator has to manage the users working on the system. Users are the accounts which are logged in to your system or may log in to the system. Each user in Linux has a unique UID to identify the user. All information of the users is stored in /etc/passwd file and all hashed passwords are stored in /etc/shadow file. There are basically 2 types of user in Linux on the basis of their rights to access.
Each user may or may not be a part of a group which is a collection of users. To learn more about users in Linux go through the article Users in Linux System Administration. Here is a list of commands that are used to manage users.
Command | Description |
---|---|
usermod | Used to modify users and their respective settings |
useradd | Used to add a new user |
su and sudo | Used to change the user and work with root |
change | Used to change the user’s aging/expiry information |
groupdel | Used to delete a group |
gpasswd | Used to change password of group |
groupmod | Used to modify group and its settings |
groupadd | Used to add a new group |
To learn more about how to manage users read the article User Management in Linux
To learn more about how to manage groups read the article Group Management in Linux
System Diagnostics/Monitor Performance
A System Administrator should be able to diagnose problems in a system and even to monitor the performance of the system so that it may be improved. Here is the list of some useful commands for the same.
Command | Description |
---|---|
top | Used to display the running processes. |
vmstat | Used to get information about processes, memory, paging, block IO, disk, and CPU scheduling |
lsof | Used to check list of open files. |
htop | Used to determine the cause of load of each process |
iostat | Used to monitor IO devices loading |
nmon | It displays performance about the CPU, MEMORY, NETWORK, DISKS, FILE SYSTEM, NFS, TOP PROCESSES, RESOURCES, AND POWER MICRO-PARTITION |
Reading and Analysing Logs
A good system Administrator must have an idea of how to read and manage logs as they give a lot of crucial and required information.
Command | Description |
---|---|
dmesg | Used to print the message buffer of the kernel |
tail | Used to print details from the log files located in the folder /var/log |
journalctl | Used to read systemd logs |