Администратор 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:
Команда | Для чего используется |
cd | Изменение текущего каталога. |
ls | Вывод списка директорий и файлов в каталоге. |
vi | Встроенный консольный редактор, часто используется для редактирования конфигурационных файлов. |
touch | Создание новых файлов. Также обновляет временные метки существующих файлов, если файл уже существует. |
nano | Редактор с подсказками по управлению в нижней части окна. Более удобен для новичков. |
cp | Копирование файлов и директорий. |
mv | Перемещения файлов и директорий. |
rm | Удаление файлов и директорий. |
fdisk | Работа с таблицами разделов диска (создание, удаление, изменение разделов). |
mount | Монтирование файловой системы. |
Подробнее об управлении файловой системой читайте в бонусном подразделе.
Сетевые команды
Сетевые команды играют важную роль в администрировании системы, и хороший системный администратор должен уверенно работать с сетевыми командами. Вот список команд, которые чаще всего используются для работы с сетью в Linux.
Команда | Для чего используется |
route | Просмотр и изменение таблиц маршрутизации IP. |
ping | Отправка пакетов на сервер и получение их обратно в случае хорошего сетевого соединения. |
traceroute | Отслеживание пути, пройденного трафиком. |
nslookup | Запросы к системе доменных имен (DNS) для получения отображения доменных имен или IP-адресов, а также других DNS-записей. |
ifconfig | Просмотр и изменение конфигурации сетевых интерфейсов системы. |
tracepath | Отслеживание пути до конечной точки с обнаружением MTU на этом пути. |
ssh | Сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений. |
curl | Передача данных на сервер или с сервера с использованием любого из поддерживаемых протоколов. |
scp | Безопасное копирование файлов (и директорий с флагом -r ) между локальной и удалённой системой по SSH. |
w | Краткое описание каждого пользователя, вошедшего в систему. |
netcat | Выполнение различных операций с TCP, UDP или UNIX-доменными сокетами в Linux. |
nmap | Исследование сети и аудит безопасности. |
ip | Назначение адреса сетевому интерфейсу и/или настройки параметров сетевого интерфейса в операционных системах Linux. |
Управление пользователями и группами в Linux
Системный администратор отвечает за управление пользователями системы. У каждого пользователя в Linux есть уникальный UID для его идентификации. Вся информация о пользователях хранится в файле /etc/passwd
, а все хешированные пароли — в файле /etc/shadow. В Linux есть три типа пользователей:
- Root User (Administrator) — администратор, суперпользователь с полным контролем над системой, идентифицируется UID 0.
- Обычные пользователи — неадминистративные пользователи, созданные для выполнения повседневных операций, которым присвоены уникальные UID.
- Системные пользователи — пользователи, созданные системой для работы таких служб, как базы данных и веб-серверы (например, www-data, mysql).
Каждый пользователь может быть или не быть частью группы, которая является набором пользователей. Вот список команд, которые используются для управления пользователями.
Команда | Для чего используется |
adduser | Создание нового пользователя в Linux. |
useradd | Низкоуровневая команда для создания пользователей. |
passwd | Установка или изменение пароля пользователя. |
deluser | Удаление пользователя из системы. |
userdel | Другая команда для удаления пользователя, но по умолчанию не удаляет домашний каталог. |
usermod | Изменение свойств учётной записи пользователя, таких как имя пользователя, домашний каталог или группы. |
id | Отображение информации об идентификаторе пользователя (UID) и группы (GID). |
whoami | Показывает текущего вошедшего пользователя. |
who | Показывает всех пользователей, которые в данный момент вошли в систему. |
w | Отображение информации о вошедших пользователях и их активности. |
last | Отображение истории входов пользователей. |
groups | Отображение групп, в которые входит пользователь. |
groupadd | Создание новой группы пользователей. |
groupdel | Удаление группы. |
usermod -aG | Добавление пользователя в группу. |
chage | Установка или проверка сроков действия пароля для пользователя. |
getent passwd | Список всех пользователей в системе. |
awk -F: 'print $1' /etc/passwd | Покажет список имён всех пользователей. |
sudo visudo | Редактирование привилегий sudo для пользователей. |
who | wc -l | Подсчёт количества пользователей, которые в данный момент находятся в системе. |
Диагностика системы / Мониторинг производительности
Системный администратор должен уметь диагностировать проблемы в системе и даже мониторить производительность системы для её улучшения. Вот список полезных команд для этих целей.
Команда | Для чего используется |
top | Отображение запущенных процессов. |
vmstat | Получение информации о процессах, памяти, обмене, блокировке ввода-вывода, диске и планировании CPU. |
lsof | Проверка списка открытых файлов. |
htop | Утилита для мониторинга процессов и ресурсов системы в режиме реального времени. |
iostat | Мониторинг загрузки устройств ввода-вывода. |
nmon | Отображение информации о производительности CPU, памяти, сети, дисков, файловой системы, NFS, топовых процессов, ресурсов и микро-раздела питания. |
Чтение и анализ логов
Хороший системный администратор должен понимать, как читать и управлять логами, так как они несут в себе много важной информации.
Команда | Для чего используется |
dmesg | Вывод сообщений из буфера ядра. |
tail | Вывод последних строк из указанного в аргументах файла или файлов. |
journalctl | Чтение и управление логами 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 требует знания базовых команд и принципов работы с системой, включая управление пользователями, файловыми системами и сетью. Освоив эти основы, системный администратор может эффективно поддерживать и настраивать систему, обеспечивать её стабильную работу и безопасность. Применение указанных команд и инструментов позволит оптимизировать процессы, своевременно обнаруживать и устранять проблемы, а также поддерживать высокую производительность системы.