Руководство по администрированию Linux для начинающих
Администратор Linux-системы управляет такими операциями, как поддержание правильной работы программного обеспечения, мониторинг их состояния, а также заботится о резервном копировании и аппаратных системах.
Некоторые базовые настройки
Установка имени хоста. Откройте терминал и введите следующую команду для изменения имени хоста:
sudo hostnamectl set-hostname your_hostname
Замените «your_hostname» на имя хоста, которое вы хотите установить.
Примечание: команда hostname
изменяет имя хоста только на текущую сессию. Для постоянного изменения используется hostnamectl
Настройка часового пояса. Перейдите в /usr/share/zoneinfo/your_zone
, затем создайте символическую ссылку на файл зоны в /etc/localtime
, чтобы установить часовой пояс.
sudo ln -sf Kolkata /etc/localtime
Файловая система и управление ею
Управление файлами — одна из самых важных задач в Linux, так как все устройства, каталоги и пакеты в Linux являются всего лишь разновидностью файлов.
Ниже приведен список некоторых команд для управления файлами в Linux:
Команда | Для чего используется |
| Изменение текущего каталога. |
| Вывод списка директорий и файлов в каталоге. |
| Встроенный консольный редактор, часто используется для редактирования конфигурационных файлов. |
| Создание новых файлов. Также обновляет временные метки существующих файлов, если файл уже существует. |
| Редактор с подсказками по управлению в нижней части окна. Более удобен для новичков. |
| Копирование файлов и директорий. |
| Перемещения файлов и директорий. |
| Удаление файлов и директорий. |
| Работа с таблицами разделов диска (создание, удаление, изменение разделов). |
| Монтирование файловой системы. |
Подробнее об управлении файловой системой читайте в бонусном подразделе.
Сетевые команды
Сетевые команды играют важную роль в администрировании системы, и хороший системный администратор должен уверенно работать с сетевыми командами. Вот список команд, которые чаще всего используются для работы с сетью в Linux.
Команда | Для чего используется |
| Просмотр и изменение таблиц маршрутизации IP. |
| Отправка пакетов на сервер и получение их обратно в случае хорошего сетевого соединения. |
| Отслеживание пути, пройденного трафиком. |
| Запросы к системе доменных имен (DNS) для получения отображения доменных имен или IP-адресов, а также других DNS-записей. |
| Просмотр и изменение конфигурации сетевых интерфейсов системы. |
| Отслеживание пути до конечной точки с обнаружением MTU на этом пути. |
| Сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений. |
| Передача данных на сервер или с сервера с использованием любого из поддерживаемых протоколов. |
| Безопасное копирование файлов (и директорий с флагом |
| Краткое описание каждого пользователя, вошедшего в систему. |
| Выполнение различных операций с TCP, UDP или UNIX-доменными сокетами в Linux. |
| Исследование сети и аудит безопасности. |
| Назначение адреса сетевому интерфейсу и/или настройки параметров сетевого интерфейса в операционных системах Linux. |
Управление пользователями и группами в Linux
Системный администратор отвечает за управление пользователями системы. У каждого пользователя в Linux есть уникальный UID для его идентификации. Вся информация о пользователях хранится в файле /etc/passwd
, а все хешированные пароли — в файле /etc/shadow. В Linux есть три типа пользователей:
Root User (Administrator) — администратор, суперпользователь с полным контролем над системой, идентифицируется UID 0.
Обычные пользователи — неадминистративные пользователи, созданные для выполнения повседневных операций, которым присвоены уникальные UID.
Системные пользователи — пользователи, созданные системой для работы таких служб, как базы данных и веб-серверы (например, www-data, mysql).
Каждый пользователь может быть или не быть частью группы, которая является набором пользователей. Вот список команд, которые используются для управления пользователями.
Команда | Для чего используется |
| Создание нового пользователя в Linux. |
| Низкоуровневая команда для создания пользователей. |
| Установка или изменение пароля пользователя. |
| Удаление пользователя из системы. |
| Другая команда для удаления пользователя, но по умолчанию не удаляет домашний каталог. |
| Изменение свойств учётной записи пользователя, таких как имя пользователя, домашний каталог или группы. |
| Отображение информации об идентификаторе пользователя (UID) и группы (GID). |
| Показывает текущего вошедшего пользователя. |
| Показывает всех пользователей, которые в данный момент вошли в систему. |
| Отображение информации о вошедших пользователях и их активности. |
| Отображение истории входов пользователей. |
| Отображение групп, в которые входит пользователь. |
| Создание новой группы пользователей. |
| Удаление группы. |
| Добавление пользователя в группу. |
| Установка или проверка сроков действия пароля для пользователя. |
| Список всех пользователей в системе. |
| Покажет список имён всех пользователей. |
| Редактирование привилегий sudo для пользователей. |
| Подсчёт количества пользователей, которые в данный момент находятся в системе. |
Диагностика системы / Мониторинг производительности
Системный администратор должен уметь диагностировать проблемы в системе и даже мониторить производительность системы для её улучшения. Вот список полезных команд для этих целей.
Команда | Для чего используется |
| Отображение запущенных процессов. |
| Получение информации о процессах, памяти, обмене, блокировке ввода-вывода, диске и планировании CPU. |
| Проверка списка открытых файлов. |
| Утилита для мониторинга процессов и ресурсов системы в режиме реального времени. |
| Мониторинг загрузки устройств ввода-вывода. |
| Отображение информации о производительности CPU, памяти, сети, дисков, файловой системы, NFS, топовых процессов, ресурсов и микро-раздела питания. |
Чтение и анализ логов
Хороший системный администратор должен понимать, как читать и управлять логами, так как они несут в себе много важной информации.
Команда | Для чего используется |
| Вывод сообщений из буфера ядра. |
| Вывод последних строк из указанного в аргументах файла или файлов. |
| Чтение и управление логами systemd. |
Бонус: Подробнее об управлении файлами в Linux
В Linux большинство операций выполняется с файлами. Для работы с этими файлами Linux использует каталоги, также известные как папки, которые поддерживаются в структуре, напоминающей дерево. Хотя эти каталоги тоже являются видом файлов. В Linux существует 3 типа файлов:
Обычные файлы. Наиболее распространённый тип файлов в Linux: это текстовые файлы, изображения, бинарные файлы и т. д. Такие файлы можно создавать с помощью команды touch. Обычный файл может содержать текст в формате ASCII или человекочитаемый текст, исполняемые бинарники программ, данные программ и многое другое.
Каталоги. В Windows эти каталоги называют папками. Это файлы, которые содержат список имён файлов и сопутствующую информацию. Корневой каталог (/
) является базой системы, /home/
— это стандартное расположение домашних каталогов пользователей, /bin
— для основных бинарных файлов пользователей, /boot
— для статичных загрузочных файлов и т.д. Создавать новые каталоги можно с помощью команды mkdir
.
Специальные файлы. Они представляют собой реальные физические устройства, например принтеры, которые используются для операций ввода/вывода. Устройства или специальные файлы используются для ввода/вывода (I/O) на системах UNIX и Linux. Вы можете увидеть их в файловой системе, как обычные каталоги или файлы.
В системах Unix существует два типа специальных файлов для каждого устройства: символьные и блочные.
1. Список файлов
Для вывода списка файлов и каталогов используется команда ls:
$ ls
Команда выведет все файлы и каталоги в текущем каталоге, в выводе разные типы файлов будут выделены цветом (в зависимости от конфигурации терминала).
$ ls -l
Эта команда возвращает подробный список файлов и каталогов в текущем каталоге. Команда покажет владельца файла, а также, кто может управлять этим файлом, какой пользователь или группа имеют право доступа или могут выполнить этот файл.
2. Создание файлов
Новый файл создается при помощи команды touch. Она создаст и откроет новый пустой файл, если файл с указанным именем ещё не существует. Если файл уже существует, команда не изменит его.
$ touch filename
3. Отображение содержимого файла
Для отображения содержимого файла используется команда cat
. Эта команда отобразит содержимое файла с именем filename
. Если вывод слишком большой, можно использовать команды more
или less
, чтобы отобразить вывод на экране терминала, иначе всё содержимое файла будет показано сразу.
$ cat filename
4. Копирование файла
Команда cp используется для создания копии файла. Она создаст новый файл в указанной папке назначения с тем же именем и содержимым, что и исходный файл filename
.
$ cp source/filename destination/
5. Перемещение файла
Команда mv используется для перемещения файла из исходной папки в папку назначения. Файл filename будет удалён из исходной папки, а в папке назначения будет создан файл с тем же именем и содержимым.
$ mv source/filename destination/
6. Переименование файла
Команда mv filename new_filename
— переименовывает файл, не затрагивая его содержимое.
7. Удаление файла
Для удаления файла используется команда rm
. Она удалит файл filename
из каталога.
$ rm filename
В заключение, администрирование Linux требует знания базовых команд и принципов работы с системой, включая управление пользователями, файловыми системами и сетью. Освоив эти основы, системный администратор может эффективно поддерживать и настраивать систему, обеспечивать её стабильную работу и безопасность. Применение указанных команд и инструментов позволит оптимизировать процессы, своевременно обнаруживать и устранять проблемы, а также поддерживать высокую производительность системы.
Если хотите уверенно управлять потоками в командной строке и выстроить эффективный план освоения Linux, обратите внимание на два предстоящих открытых урока — они помогут систематизировать знания и сразу применить их на практике:
10 июня в 20:00
Управление потоками ввода и вывода в Linux
Разберётесь в механизмах stdin, stdout и stderr, научитесь перенаправлять потоки и строить цепочки команд для эффективной работы в терминале.24 июня в 20:00
Как учиться Linux: пошаговый план для будущего администратора
Получите чёткий план освоения системы, узнаете, какие навыки приоритетны, как организовать практику и не потеряться в деталях.
А получить навыки администрирования Linux, которые выделят вас среди начинающих администраторов, можно на курсе "Administrator Linux. Basic".