Руководство администратора VEOS [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
veos:admin_manual [2023/03/09 08:10] – [Общие принципы работы VeOS] staspolevicveos:admin_manual [2026/05/12 06:31] (текущий) – [7. Часто задаваемые вопросы (FAQ)] elena.krasnobryzh
Строка 1: Строка 1:
-====== Руководство администратора ====== +{{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%%'' | Показывает PIDCPU, память 
-  * /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>