| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| veos:admin_manual [2023/03/09 08:10] – [Общие принципы работы VeOS] staspolevic | veos:admin_manual [2026/05/12 06:31] (текущий) – [7. Часто задаваемые вопросы (FAQ)] elena.krasnobryzh |
|---|
| ====== 7 Руководство администратора ====== | {{indexmenu_n>8}} |
| {{indexmenu_n>7}} | ====== Руководство администратора VEOS ====== |
| |
| ===== Общие принципы работы VeOS ===== | **VEOS** — многопользовательская операционная система на ядре Linux для управления телеком-услугами.\\ |
| | Данное руководство содержит базовые принципы работы, команды для администрирования и примеры настройки. |
| |
| ==== Процессы и файлы ==== | **Ключевые возможности VEOS:** |
| | * Совместимость со стандартными Linux-командами и утилитами |
| | * Управление через командную оболочку **bash** (по умолчанию) |
| | * Файловая система, соответствующая стандарту **FHS** |
| | * Инициализация через **systemd** |
| | * Разграничение прав доступа на основе пользователей и групп |
| |
| VeOS является многопользовательской интегрированной системой, т.е. она разработана в расчете на одновременную работу нескольких пользователей. | ---- |
| Пользователь может либо сам работать в системе, выполняя некоторую последовательность команд, либо от его имени могут выполняться прикладные процессы. | |
| Пользователь взаимодействует с системой через командный интерпретатор, например, bash. Командный интерпретатор представляет собой прикладную программу, которая принимает от пользователя команды или набор команд и переводит их в системные вызовы к ядру системы. Интерпретатор позволяет пользователю работать с файлами, передвигаться по дереву файловой системы, запускать прикладные процессы. Все командные интерпретаторы UNIX имеют развитый командный язык и позволяют писать сложные программы, упрощающие процесс администрирования системы и работы с ней. | |
| |
| ==== Процессы функционирования ОС ==== | ===== 1. Управление процессами в VEOS ===== |
| |
| Все программы, которые загружены в память сервера (т.е. выполняются) в текущий момент времени, называются процессами. Процессы можно разделить на два основных класса: системные процессы и пользовательские процессы. | **Процесс** — это программа, загруженная в память сервера и выполняемая в текущий момент. |
| Системные процессы — программы, решающие внутренние задачи ОС, например, организацию виртуальной памяти на диске или предоставляющие пользователям те или иные сервисы (процессы-службы). | Процессы делятся на два типа: |
| Пользовательские процессы — процессы, запускаемые пользователем из командного интерпретатора для решения задач пользователя или управления системными процессами. VeOS изначально разрабатывался как многозадачная система. Он использует технологии, опробованные и отработанные другими реализациями UNIX - предшественниками VeOS. | |
| Фоновый режим работы процесса — режим, когда программа может работать без взаимодействия с пользователем. В случае необходимости интерактивной работы с пользователем (в общем случае) процесс будет «остановлен» ядром, и работа его продолжается только после переведения его в «нормальный» режим работы. | |
| |
| ==== Файловая система ОС ==== | ^ Тип процесса ^ Описание ^ Примеры ^ |
| | | **Системные** | Обеспечивают работу ОС и сервисы | ''%%systemd%%'', ''%%kernel%%'', ''%%sshd%%'' | |
| | | **Пользовательские** | Запущены от имени пользователя | ''%%bash%%'', ''%%ls%%'', ''%%cat%%'' | |
| |
| В VeOS использована файловая система Linux, которая является единым деревом. Корень этого дерева — каталог, называемый root (рут) и обозначаемый /. | **Команды для управления процессами:** |
| Части дерева файловой системы могут физически располагаться в разных разделах разных дисков или вообще на других компьютерах — для пользователя это прозрачно. Процесс присоединения файловой системы раздела к дереву называется монтированием, удаление — размонтированием. Например, файловая система CD-ROM в дистрибутиве монтируется по умолчанию в каталог /media/cdrom (путь в дистрибутиве обозначается с использованием /, а не \, как в Windows). | |
| Текущий каталог обозначается ".", родительский каталог (уровнем выше) - "..", например, для перехода в каталог верхнего уровня: | |
| > cd .. | |
| | |
| ==== Структура каталогов ==== | |
| |
| Корневой каталог /: | ^ Действие ^ Команда ^ Примечание ^ |
| * /bin — командные оболочки (shell), основные утилиты; | | Просмотр всех процессов | ''%%ps aux%%'' | Показывает PID, CPU, память | |
| * /boot — содержит ядро системы; | | Дерево процессов | ''%%pstree%%'' | Иерархия родитель-потомок | |
| * /dev — псевдофайлы устройств, позволяющие работать с устройствами напрямую. Файлы в /dev создаются сервисом udev | | Запуск в фоне | ''%%команда &%%'' | Добавьте ''%%&%%'' в конце | |
| * /etc — общесистемные конфигурационные файлы для большинства программ в системе; | | Остановка процесса по PID | ''%%kill <PID>%%'' | Используйте ''%%kill -9 <PID>%%'' для принудительной остановки | |
| * /etc/rc?.d, /etc/init.d, /etc/rc.boot, /etc/rc.d — каталоги, где расположены командные файлы, выполняемые при запуске системы или при смене её режима работы; | |
| * /etc/passwd — база данных пользователей, в которой содержится информация об имени пользователя, его настоящем имени, личном каталоге, его зашифрованный пароль и другие данные; | |
| * /etc/shadow — теневая база данных пользователей. При этом информация из файла /etc/passwd перемещается в /etc/shadow, который недоступен для чтения всем, кроме пользователя root. В случае использования альтернативной схемы управления теневыми паролями (TCB), все теневые пароли для каждого пользователя располагаются в каталоге /etc/tcb/имя пользователя/shadow; | |
| * /home — домашние каталоги пользователей; | |
| * /lib — содержит файлы динамических библиотек, необходимых для работы большей части приложений, и подгружаемые модули ядра; | |
| * /lost+found — восстановленные файлы; | |
| * /media — подключаемые носители (каталоги для монтирования файловых систем сменных устройств); | |
| * /mnt — точки временного монтирования; | |
| * /opt — вспомогательные пакеты; | |
| * /opt/vasexperts - родительский каталог продуктов компании ВАСЭкспертс | |
| * /proc — виртуальная файловая система, хранящаяся в памяти компьютера при загруженной ОС. В данном каталоге расположены самые свежие сведения обо всех процессах, запущенных на компьютере. | |
| * /root — домашний каталог администратора системы; | |
| * /run — файлы состояния приложений; | |
| * /sbin — набор программ для административной работы с системой (системные утилиты); | |
| * /selinux — виртуальная файловая система SELinux; | |
| * /srv — виртуальные данные сервисных служб; | |
| * /sys — файловая система, содержащая информацию о текущем состоянии системы; | |
| * /tmp — временные файлы. | |
| * /usr — пользовательские двоичные файлы и данные, используемые только для чтения (программы и библиотеки); | |
| * /var — файлы для хранения изменяющихся данных (рабочие файлы программ, очереди, журналы). | |
| Каталог /usr: | |
| * /usr/bin — дополнительные программы для всех учетных записей; | |
| * /usr/sbin — команды, используемые при администрировании системы и не предназначенные для размещения в файловой системе root; | |
| * /usr/local — место, где рекомендуется размещать файлы, установленные без использования пакетных менеджеров, внутренняя организация каталогов практически такая же, как и корневого каталога; | |
| * /usr/man — каталог, где хранятся файлы справочного руководства man; | |
| * /usr/share — каталог для размещения общедоступных файлов большей части приложений. | |
| Каталог /var: | |
| * /var/log — место, где хранятся файлы аудита работы системы и приложений; | |
| * /var/spool — каталог для хранения файлов, находящихся в очереди на обработку для того или иного процесса (очереди печати, непрочитанные или не отправленные письма, задачи cron т.д.). | |
| | |
| ==== Организация файловой структуры ==== | |
| |
| Система домашних каталогов пользователей помогает организовывать безопасную работу пользователей в многопользовательской системе. Вне своего домашнего каталога пользователь обладает минимальными правами (обычно чтение и выполнение файлов) и не может нанести ущерб системе, например, удалив или изменив файл. | == Фоновый режим == |
| Кроме файлов, созданных пользователем, в его домашнем каталоге обычно содержатся персональные конфигурационные файлы некоторых программ. | Процесс может работать без взаимодействия с пользователем (фон). Для перевода в фон используйте ''%%&%%''. |
| Маршрут (путь) — это последовательность имён каталогов, представляющая собой путь в файловой системе к данному файлу, где каждое следующее имя отделяется от предыдущего наклонной чертой (слешем). Если название маршрута начинается со слеша, то путь в искомый файл начинается от корневого каталога всего дерева системы. В обратном случае, если название маршрута начинается непосредственно с имени файла, то путь к искомому файлу должен начаться от текущего каталога (рабочего каталога). | Если процесс требует ввода, он будет остановлен ядром до перевода в «нормальный» режим. |
| Имя файла может содержать любые символы за исключением косой черты (/). Однако следует избегать применения в именах файлов большинства знаков препинания и непечатаемых символов. При выборе имен файлов рекомендуется ограничиться следующими символами: | |
| * строчные и ПРОПИСНЫЕ буквы. | |
| * символ подчеркивания (_); | |
| * точка (.). | |
| |
| <note important>Имена файлов и каталогов - регистрозависимы, т.е. команды touch test.txt и touch TEST.TXT создадут два разных файла с соответствующими именами</note> | == Пример == |
| | <code bash> |
| | # Запустить скрипт в фоне |
| | ./backup.sh & |
| |
| Для удобства работы точку можно использовать для отделения имени файла от расширения файла. Данная возможность может быть необходима пользователям или некоторым программам, но не имеет значение для shell. | # Посмотреть фоновые задачи текущей сессии |
| | jobs |
| | </code> |
| |
| ==== Имена дисков и разделов ==== | ---- |
| |
| Все физические устройства вашего компьютера отображаются в каталог /dev файловой системы дистрибутива (об этом — ниже). Диски (в том числе IDE/SATA/SCSI/SAS жёсткие диски, USB-диски) имеют имена: | ===== 2. Работа с файловой системой ===== |
| * /dev/sda — первый диск; | |
| * /dev/sdb — второй диск; | |
| и т.д. | |
| Диски обозначаются /dev/sdX, где X — a, b, c, d, e, … в зависимости от порядкового номера диска на шине. | |
| Раздел диска обозначается числом после его имени. Например, /dev/sdb4 — четвертый раздел второго диска. | |
| |
| ==== Разделы, необходимые для работы ОС ==== | В VEOS используется **иерархическая файловая система Linux** — единое дерево от корня ''%%/%%''. |
| | Различные разделы и устройства монтируются в каталоги (точки монтирования). |
| |
| Для работы ОС на жестком диске (дисках) должны быть созданы, по крайней мере, два раздела: корневой (то есть тот, который будет содержать каталог /) и раздел подкачки (swap). Размер последнего, как правило, составляет от однократной до двукратной величины оперативной памяти компьютера. Если на диске много свободного места, то можно создать отдельные разделы для каталогов /usr, /home, /var. | === 2.1. Структура корневых каталогов === |
| ==== Процессы и файлы ==== | |
| |
| ==== Работа с наиболее часто используемыми компонентами ==== | Наиболее важные каталоги: |
| |
| ==== Стыкование команд в системе VeOS ==== | ^ Каталог ^ Содержимое ^ |
| | | ''%%/bin%%'' | Командные оболочки и базовые утилиты | |
| | | ''%%/boot%%'' | Ядро системы и загрузчик | |
| | | ''%%/dev%%'' | Псевдофайлы устройств (создаются ''%%udev%%'') | |
| | | ''%%/etc%%'' | Конфигурационные файлы | |
| | | ''%%/home%%'' | Домашние каталоги пользователей | |
| | | ''%%/opt/vasexperts%%'' | Продукты компании VAS Experts | |
| | | ''%%/proc%%'' | Виртуальная ФС с данными о процессах | |
| | | ''%%/root%%'' | Домашний каталог администратора | |
| | | ''%%/sbin%%'' | Системные утилиты для администрирования | |
| | | ''%%/tmp%%'' | Временные файлы | |
| | | ''%%/usr%%'' | Пользовательские программы и библиотеки | |
| | | ''%%/var%%'' | Изменяемые данные (логи, очереди, кеш) | |
| |
| ===== Режим суперпользователя ===== | === 2.2. Навигация по дереву === |
| |
| ===== Управление пользователями ===== | ^ Команда ^ Действие ^ |
| | | ''%%pwd%%'' | Показать текущий каталог | |
| | | ''%%ls [каталог]%%'' | Список файлов (ключ ''%%-l%%'' для подробного вывода) | |
| | | ''%%cd <каталог>%%'' | Перейти в каталог | |
| | | ''%%cd ..%%'' | На уровень вверх | |
| | | ''%%cd /%%'' | В корень | |
| |
| ===== Система инициализации systemd и sysvinit ===== | <note important> |
| | **Важно:** Имена файлов и каталогов **регистрозависимы** — ''%%test.txt%%'' и ''%%TEST.TXT%%'' — разные файлы. |
| | </note> |
| |
| | === 2.3. Имена дисков и разделов === |
| |
| | Устройства отображаются в ''%%/dev/%%'': |
| |
| | ^ Устройство ^ Обозначение ^ |
| | | Первый диск | ''%%/dev/sda%%'' | |
| | | Второй диск | ''%%/dev/sdb%%'' | |
| | | Раздел на диске | ''%%/dev/sda1%%'', ''%%/dev/sda2%%'', … | |
| | |
| | **Минимальные разделы для установки VEOS:** |
| | * Корневой раздел ''%%/%%'' |
| | * Раздел подкачки ''%%swap%%'' (рекомендуемый размер — от однократного до двукратного объёма ОЗУ) |
| | * Опционально: отдельные разделы для ''%%/home%%'', ''%%/var%%'', ''%%/usr%%'' |
| | |
| | ---- |
| | |
| | ===== 3. Командная оболочка bash ===== |
| | |
| | **Bash** (Bourne Again Shell) — основная оболочка в VEOS. |
| | |
| | === 3.1. Полезные сочетания клавиш === |
| | |
| | ^ Сочетание ^ Действие ^ |
| | | ''%%Ctrl+A%%'' | Переход в начало строки | |
| | | ''%%Ctrl+U%%'' | Удалить всю строку | |
| | | ''%%Ctrl+C%%'' | Остановить текущую задачу | |
| | | ''%%Ctrl+R%%'' | Поиск по истории команд | |
| | | ''%%Tab%%'' | Автодополнение имени команды/файла | |
| | |
| | === 3.2. История команд === |
| | |
| | ^ Команда ^ Действие ^ |
| | | ''%%history%%'' | Показать список последних команд | |
| | | ''%%!!%%'' | Повторить последнюю команду | |
| | | ''%%!<номер>%%'' | Выполнить команду с указанным номером | |
| | |
| | === 3.3. Группировка и стыковка команд === |
| | |
| | ^ Оператор ^ Назначение ^ Пример ^ |
| | | ''%%;%%'' | Последовательное выполнение | ''%%cd /tmp; ls -la%%'' | |
| | | ''%%\|%%'' (пайп) | Передача stdout первой команды как stdin второй | ''%%ls \| grep .txt%%'' | |
| | | ''%%>%%'' | Перенаправить stdout в файл (с перезаписью) | ''%%echo hello > file.txt%%'' | |
| | | ''%%>>%%'' | Добавить stdout в конец файла | ''%%echo world >> file.txt%%'' | |
| | | ''%%<%%'' | Использовать файл как stdin | ''%%sort < file.txt%%'' | |
| | |
| | **Пример пайпа с сортировкой:** |
| | <code bash> |
| | # Отсортировать список файлов в /etc в обратном порядке |
| | ls -la /etc | sort -r |
| | </code> |
| | |
| | ---- |
| | |
| | ===== 4. Управление пользователями и правами ===== |
| | |
| | Пользователи идентифицируются по **UID** (цифровой идентификатор), группы — по **GID**. |
| | |
| | === 4.1. Основные команды === |
| | |
| | ^ Действие ^ Команда ^ Примечание ^ |
| | | Просмотр информации о текущем пользователе | ''%%id%%'' | Показывает UID, GID, группы | |
| | | Смена пароля | ''%%passwd%%'' | Текущий пользователь меняет свой пароль | |
| | | Смена пароля другого пользователя | ''%%passwd <логин>%%'' | Только root | |
| | | Добавление пользователя | ''%%useradd <логин>%%'' | Затем задать пароль через ''%%passwd%%'' | |
| | | Изменение параметров пользователя | ''%%usermod <опции> <логин>%%'' | Например, ''%%-G wheel%%'' | |
| | | Удаление пользователя | ''%%userdel <логин>%%'' | Добавьте ''%%-r%%'' для удаления домашнего каталога | |
| | |
| | === 4.2. Группы и права === |
| | |
| | Каждый пользователь входит как минимум в одну группу (одноимённую).\\ |
| | Дополнительные группы назначаются через ''%%usermod -G%%''. |
| | |
| | **Пример добавления пользователя в группу ''%%wheel%%'' (для доступа к ''%%sudo%%''):** |
| | <code bash> |
| | usermod -G wheel test |
| | </code> |
| | |
| | **Просмотр групп пользователя:** |
| | <code bash> |
| | id test |
| | </code> |
| | |
| | <note important> |
| | **Внимание:** Большинство привилегированных утилит в VEOS имеют **SGID**-бит, а не SUID. Будьте осторожны при изменении групповых прав на системные каталоги. |
| | </note> |
| | |
| | ---- |
| | |
| | ===== 5. Режим суперпользователя (root) ===== |
| | |
| | **Суперпользователь (root)** имеет неограниченный доступ ко всем файлам и процессам. |
| | |
| | === 5.1. Команда ''su'' === |
| | |
| | ^ Команда ^ Результат ^ |
| | | ''%%su -%%'' | Полноценный вход как root (с окружением root) | |
| | | ''%%su%%'' | Только смена пользователя, окружение остаётся прежним (не рекомендуется) | |
| | |
| | **Почему ''%%su -%%'' важна:**\\ |
| | Без дефиса переменные ''%%$PATH%%'' и ''%%$HOME%%'' остаются от обычного пользователя, команды из ''%%/sbin%%'' и ''%%/usr/sbin%%'' могут быть недоступны. |
| | |
| | === 5.2. Команда ''sudo'' === |
| | |
| | Позволяет выполнять отдельные команды от root без полного переключения.\\ |
| | Для использования ''%%sudo%%'' пользователь должен быть в группе ''%%wheel%%''. |
| | |
| | ---- |
| | |
| | ===== 6. Система инициализации systemd ===== |
| | |
| | **systemd** — основная система инициализации VEOS. Она запускает службы параллельно и отслеживает зависимости. |
| | |
| | === 6.1. Основные команды управления службами === |
| | |
| | ^ Действие ^ Команда (systemd) ^ Аналог в sysvinit ^ |
| | | Запустить службу | ''%%systemctl start <service>%%'' | ''%%service <service> start%%'' | |
| | | Остановить службу | ''%%systemctl stop <service>%%'' | ''%%service <service> stop%%'' | |
| | | Перезапустить | ''%%systemctl restart <service>%%'' | ''%%service <service> restart%%'' | |
| | | Посмотреть статус | ''%%systemctl status <service>%%'' | ''%%service <service> status%%'' | |
| | | Включить автозапуск | ''%%systemctl enable <service>%%'' | ''%%chkconfig <service> on%%'' | |
| | | Отключить автозапуск | ''%%systemctl disable <service>%%'' | ''%%chkconfig <service> off%%'' | |
| | |
| | **Пример для службы ''%%fastdpi%%'':** |
| | <code bash> |
| | systemctl start fastdpi.service |
| | systemctl status fastdpi.service |
| | systemctl enable fastdpi.service |
| | </code> |
| | |
| | === 6.2. Просмотр логов (journal) === |
| | |
| | ^ Команда ^ Действие ^ |
| | | ''%%journalctl%%'' | Показать весь системный журнал | |
| | | ''%%journalctl -b%%'' | Только с текущей загрузки | |
| | | ''%%journalctl -f%%'' | Следить за новыми сообщениями (аналог ''%%tail -f%%'') | |
| | | ''%%journalctl -u <служба>%%'' | Логи конкретной службы | |
| | |
| | **Пример:** |
| | <code bash> |
| | journalctl -u fastdpi.service -b |
| | </code> |
| | |
| | ---- |
| | |
| | ===== 7. Часто задаваемые вопросы (FAQ) ===== |
| | |
| | **Вопрос:** Какая командная оболочка используется в VEOS по умолчанию?\\ |
| | **Ответ:** **bash**. Проверить можно командой ''%%echo $SHELL%%''. |
| | |
| | **Вопрос:** Как получить права root с полным окружением?\\ |
| | **Ответ:** Выполните ''%%su -%%''. Обязательно с дефисом. |
| | |
| | **Вопрос:** Что такое ''%%systemd%%'' и чем он лучше ''%%sysvinit%%''?\\ |
| | **Ответ:** ''%%systemd%%'' запускает службы параллельно, что ускоряет загрузку, и не останавливает весь процесс при зависании одного сервиса. |
| | |
| | **Вопрос:** Какие два раздела жесткого диска необходимы для VEOS?\\ |
| | **Ответ:** Корневой раздел ''%%/%%'' и раздел подкачки ''%%swap%%''. |
| | |
| | **Вопрос:** Как посмотреть логи определённой службы?\\ |
| | **Ответ:** Используйте ''%%journalctl -u имя_службы.service%%''. |
| | |
| | **Вопрос:** Можно ли использовать ''%%sudo%%'' в VEOS?\\ |
| | **Ответ:** Да, если пользователь добавлен в группу ''%%wheel%%''. Пример: ''%%sudo systemctl restart fastdpi%%''. |
| | |
| | ---- |
| | |
| | <details> |
| | <summary>📌 Техническая информация о документе</summary> |
| | |
| | **Дата последней проверки документа:** 2026-05-12\\ |
| | **Версия VEOS, к которой относится руководство:** 8.6 и выше\\ |
| | **Автор:** VAS Experts |
| | |
| | </details> |