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

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
veos:admin_manual [2023/03/12 11:35] – [Управление пользователями] 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 ===+В VEOS используется **иерархическая файловая система Linux** — единое дерево от корня ''%%/%%''  
 +Различные разделы и устройства монтируются в каталоги (точки монтирования).
  
-Для работы ОС на жестком диске (дисках) должны быть созданы, по крайней мере, два раздела: корневой (то есть тот, который будет содержать каталог /) и раздел подкачки (swap). Размер последнего, как правило, составляет от однократной до двукратной величины оперативной памяти компьютера. Если на диске много свободного места, то можно создать отдельные разделы для каталогов /usr, /home, /var.+=== 2.1. Структура корневых каталогов ===
  
-===== Работа с наиболее часто используемыми компонентами =====+Наиболее важные каталоги:
  
-==== Виртуальная консоль ==== +^ Каталог ^ Содержимое 
-VeOS предоставляет доступ к виртуальным консолям, с которых можно осуществлять одновременно несколько сеансов работы в системе (сессий). +| ''%%/bin%%'' | Командные оболочки и базовые утилиты | 
-Переключение между первыми шести виртуальными консолями производится нажатием комбинации клавиш Alt+F1 — Alt+F6 (Ctrl+Alt+F1 — Ctrl+Alt+F6).+| ''%%/boot%%'' | Ядро системы и загрузчик 
 +| ''%%/dev%%'' | Псевдофайлы устройств оздаются ''%%udev%%'') | 
 +| ''%%/etc%%'' | Конфигурационные файлы | 
 +| ''%%/home%%'' | Домашние каталоги пользователей | 
 +| ''%%/opt/vasexperts%%''Продукты компании VAS Experts | 
 +| ''%%/proc%%'' | Виртуальная ФС с данными о процессах | 
 +| ''%%/root%%'' | Домашний каталог администратора | 
 +| ''%%/sbin%%'' | Системные утилиты для администрирования 
 +| ''%%/tmp%%'' | Временные файлы | 
 +| ''%%/usr%%'' | Пользовательские программы и библиотеки | 
 +| ''%%/var%%'' | Изменяемые данные (логи, очередикеш) |
  
-==== Командные оболочки ====+=== 2.2. Навигация по дереву ===
  
-Для управления VeOS используются командные интерпретаторы (shell). +^ Команда ^ Действие 
-Зайдя в систему, Вы увидите приглашение — строку, содержащую символ «$» (далее этот символ будет обозначать командную строку). Программа ожидает ваших команд. Роль командного интерпретатора — передавать ваши команды операционной системе. При помощи командных интерпретаторов можно писать небольшие программы — сценарии (скрипты).  +| ''%%pwd%%'' | Показать текущий каталог 
-В VeOS доступны следующие командные оболочки: +| ''%%ls [каталог]%%'' | Список файлов (ключ ''%%-l%%'' для подробного вывода) | 
-  * bash — Bourne Again Shell, самая распространенная оболочка +| ''%%cd <каталог>%%'' | Перейти в каталог | 
-  * ksh — Korn Shell, хорошо известная оболочка в UNIX™ системах. +| ''%%cd ..%%'' | На уровень вверх | 
-  *  +| ''%%cd /%%'' | В корень |
-Проверить, какая оболочка используется в данный момент можно, выполнив команду: +
-  $ echo $SHELL+
  
-Оболочкой по умолчанию является Bash — самая распространённая оболочка под Linux, которая ведет историю команд и предоставляет возможность их редактирования.+<note important> 
 +**Важно:** Имена файлов и каталогов **регистрозависимы** — ''%%test.txt%%'' и ''%%TEST.TXT%%'' — разные файлы. 
 +</note>
  
-==== Командная оболочка Bash ====+=== 2.3. Имена дисков и разделов ===
  
-В Bash имеется несколько приемов для работы со строкой команд. Например, можно использовать следующие сочетания: +Устройства отображаются в ''%%/dev/%%'':
-  * Ctrl+A — перейти на начало строки; +
-  * Ctrl+U — удалить текущую строку; +
-  * Ctrl+C — остановить текущую задачу. +
-Для ввода нескольких команд одной строкой можно использовать разделитель «;». По истории команд можно перемещаться с помощью клавиш ↑ («вверх») и ↓ («вниз»). +
-Чтобы найти конкретную команду в списке набранных, не пролистывая всю историю, можно нажать Ctrl+R и начать вводить символы ранее введенной команды. +
-Дyля просмотра истории команд можно воспользоваться командой histor. Команды, присутствующие в истории, отображаются в списке пронумерованными.  +
-Чтобы запустить конкретную команду необходимо набрать: +
-  > !номер команды +
-Если ввести: +
-  > !! +
-запустится последняя из набранных команд.+
  
-В Bash имеется возможность подстановки имен команд из общего списка команд, что существенно облегчает работу с системой. При нажатии клавиши Tab, Bash завершает имя команды, программы или каталога, либо выводит несколько альтернативных вариантов, предлагаю пользователю ввести следующий символ и нажать клавишу Tab для уточнения выбора. Например, чтобы использовать программу декомпрессии gunzip, можно набрать следующую команду: +^ Устройство ^ Обозначение ^ 
-  > gu +| Первый диск | ''%%/dev/sda%%'' | 
-Затем нажать клавишу Tab. Так как в данном случае существует несколько возможных вариантов завершения команды, то необходимо повторно нажать клавишу Tab, чтобы получить список имен, начинающихся с gu. +Второй диск | ''%%/dev/sdb%%'' | 
-В предложенном примере можно получить следующий список: +| Раздел на диске | ''%%/dev/sda1%%''''%%/dev/sda2%%''… |
-  > gu +
-  guile gunzip gupnp-binding-tool +
-Если набрать: n (gunzip — это единственное имя, третьей буквой которого является «n»), а затем нажать клавишу Tab, то оболочка самостоятельно дополнит имя. Чтобы запустить команду нужно нажать Enter. +
-Программы, вызываемые из командной строки, Bash ищет в каталогах, определяемых в системной переменной $PATH. По умолчанию в этот перечень каталогов не входит текущий каталогобозначаемый .(точка слеш). Поэтомудля запуска программы из текущего каталога, необходимо использовать команду (в примере запускается команда test): +
-  > ./test+
  
-==== Команда ==== +**Минимальные разделы для установки VEOS:** 
-Простейшая команда состоит из одного «слова» и может быть как встроенной в интерпретатор, так и отдельной командой, находящейся в исполняемом бинарном файле на диске+  * Корневой раздел ''%%/%%'' 
-Текст, что следует за командой называется параметрами (или аргументами) и они вводятся для изменения поведения команды. В большинстве случаев, первое слово считается именем команды, а остальные — её параметрами. +  * Раздел подкачки ''%%swap%%'' (рекомендуемый размер — от однократного до двукратного объёма ОЗУ) 
-Поведением команд можно управлять, например, для изменения формата вывода команды ls можно использовать ключ -l. +  * Опциональноотдельные разделы для ''%%/home%%''''%%/var%%''''%%/usr%%''
-  > ls +
-  > ls -l +
-Такого рода параметры называются ключами или модификаторами выполнения. Ключ принадлежит данной конкретной команде и сам по себе смысла не имеет. Этим он отличается от других параметров (например, имён файлов, чисел), имеющих собственный смысл, не зависящий ни от какой команды. Каждая команда может распознавать некоторый набор ключей и соответственно изменять своё поведение. Один и тот же ключ может определять для разных команд совершенно разные значения. +
-Для формата ключей нет жёсткого стандарта, однако существуют договорённости: +
-  * Если ключ начинается на -, то это простой ключ. За -, как правило, следует один символ, чаще всего буква, обозначающая действие или свойство, которое этот ключ придаёт команде. Так проще отличать ключи от других параметров. +
-  * Если ключ начинается на --, то он называется расширенным ключом. Расширенный формат ключа начинается на два знака --, за которыми следует полное имя обозначаемого этим ключом содержания. +
-Некоторые ключи имеют и простой, и расширенный формат, а некоторые — только один из форматов. +
-Информацию о ресурсах каждой команды можно получить, используя ключ --help или -h. К примеру, получить подсказку о том, что делает команда touchможнонабрав в терминале touch --help.+
  
 +----
  
 +===== 3. Командная оболочка bash =====
  
-==== Стыкование команд в системе VeOS ====+**Bash** (Bourne Again Shell) — основная оболочка в VEOS.
  
-=== Стандартный ввод и стандартный вывод ===+=== 3.1. Полезные сочетания клавиш ===
  
-Многие команды системы имеют так называемые стандартный ввод (standard input) и стандартный вывод (standard output), часто сокращаемые до stdin и stdout. Ввод и вывод — это входная и выходная информация для данной команды. Программная оболочка делает так, что стандартным вводом является клавиатура, а стандартным выводом — экран монитора. +^ Сочетание ^ Действие 
-Пример с использованием команды cat. По умолчанию команда cat читает данные из всех файлов, которые указаны в командной строке, и посылает эту информацию непосредственно в стандартный вывод (stdout). Следовательно, команда: +| ''%%Ctrl+A%%'' | Переход в начало строки | 
-cat /etc/os-release +| ''%%Ctrl+U%%'' | Удалить всю строку 
-выведет на экран сначала содержимое файла. +| ''%%Ctrl+C%%'' | Остановить текущую задачу 
-Если имя файла не указанопрограмма cat читает входные данные из stdin и возвращает их в stdout. Пример: +| ''%%Ctrl+R%%'' | Поиск по истории команд | 
-cat +| ''%%Tab%%'' | Автодополнение имени команды/файла |
-Привет. +
-Привет. +
-Пока. +
-Пока. +
-Ctrl-D +
-Каждую строку, вводимую с клавиатуры, программа cat возвращает на экран. При вводе информации со стандартного ввода конец текста сигнализируется вводом специальной комбинации клавиш, как правило, Ctrl+D. Сокращённое название сигнала конца текста — EOT (end of text).+
  
-=== Перенаправление ввода и вывода ===+=== 3.2. История команд ===
  
-При необходимости можно перенаправить стандартный вывод, используя символ >, и стандартный ввод, используя символ <. +^ Команда ^ Действие ^ 
-Фильтр (filter) — программа, которая читает данные из стандартного ввода, некоторым образом их обрабатывает и результат направляет на стандартный вывод. Когда применяется перенаправление, в качестве стандартного ввода и вывода могут выступать файлы. Как указывалось выше, по умолчанию, stdin и stdout относятся к клавиатуре и к экрану соответственно. Программа sort является простым фильтром — она сортирует входные данные и посылает результат на стандартный вывод. Совсем простым фильтром является программа cat — она ничего не делает с входными данными, а просто пересылает их на выход.+| ''%%history%%'' | Показать список последних команд 
 +| ''%%!!%%'' | Повторить последнюю команду | 
 +| ''%%!<номер>%%'' | Выполнить команду с указанным номером |
  
-=== Использование состыкованных команд ===+=== 3.3. Группировка и стыковка команд ===
  
-Стыковку команд (pipelines) осуществляет командная оболочка, которая stdout первой команды направляет на stdin второй командыДля стыковки используется символ |. Направить stdout команды ls на stdin команды sort: +^ Оператор ^ Назначение ^ Пример ^ 
-  ls -la /etcsort -r +| ''%%;%%'' | Последовательное выполнение | ''%%cd /tmp; ls -la%%''
-  -rw-r--r--.  1 root root        9 июн  7  2013 host.conf +| ''%%\|%%'' (пайп) | Передача stdout первой команды как stdin второй | ''%%ls \| grep .txt%%''
-  -rw-r--r--.  1 root root      970 авг  8  2019 yum.conf +| ''%%>%%'' | Перенаправить stdout в файл (с перезаписью) ''%%echo hello > file.txt%%''
-  -rw-r--r--.  1 root root      966 авг  9  2019 rwtab +| ''%%>>%%'' | Добавить stdout в конец файла | ''%%echo world >file.txt%%'' 
-  -rw-r--r-- 1 root root       94 мар 24  2017 GREP_COLORS+| ''%%<%%'' | Использовать файл как stdin | ''%%sort < file.txt%%'' |
  
-Вывод списка файлов частями: +**Пример пайпа с сортировкой:** 
-  > ls /usr/bin | more +<code bash
-Если необходимо вывести на экран последнее по алфавиту имя файла в текущем каталоге, можно использовать следующую команду+# Отсортировать список файлов в /etc в обратном порядке 
-  ls | sort -r | head -1 notes +ls -la /etc | sort -r 
-где команда head -1 выводит на экран первую строку получаемого ей входного потока строк (в примере поток состоит из данных от команды ls), отсортированных в обратном алфавитном порядке.+</code>
  
-=== Перенаправление вывода в режиме добавления ===+----
  
-ффект от использования символа > для перенаправления вывода файла является деструктивным; т.е, команда +===== 4. Управление пользователями и правами =====
-  > ls > file-list +
-уничтожит содержимое файла file-list, если этот файл ранее существовал, и создаст на его месте новый файл. Если вместо этого перенаправление будет сделано с помощью символов >>, то вывод будет приписан в конец указанного файла, при этом исходное содержимое файла не будет уничтожено.+
  
-<note important>Перенаправление ввода и вывода и стыкование команд осуществляется командными оболочками, которые поддерживают использование символов >, >> и |. Сами команды не способны воспринимать и интерпретировать эти символы.</note>+Пользователи идентифицируются по **UID** (цифровой идентификатор), группы — по **GID**.
  
 +=== 4.1. Основные команды ===
  
-===== Режим суперпользователя =====+^ Действие ^ Команда ^ Примечание ^ 
 +| Просмотр информации о текущем пользователе | ''%%id%%'' | Показывает UID, GID, группы | 
 +| Смена пароля | ''%%passwd%%'' | Текущий пользователь меняет свой пароль | 
 +| Смена пароля другого пользователя | ''%%passwd <логин>%%'' | Только root | 
 +| Добавление пользователя | ''%%useradd <логин>%%'' | Затем задать пароль через ''%%passwd%%''
 +| Изменение параметров пользователя | ''%%usermod <опции> <логин>%%'' | Например, ''%%-G wheel%%''
 +| Удаление пользователя | ''%%userdel <логин>%%'' | Добавьте ''%%-r%%'' для удаления домашнего каталога |
  
-VeOS — система многопользовательская, а потому пользователь — ключевое понятие для организации всей системы доступа в Файлы всех пользователей в VeOS хранятся раздельно, у каждого пользователя есть собственный домашний каталог, в котором он может хранить свои данныеДоступ других пользователей к домашнему каталогу пользователя может быть ограничен. +=== 4.2Группы и права ===
-Суперпользователь в VeOS — это выделенный пользователь системы, на которого не распространяются ограничения прав доступа. Именно суперпользователь имеет возможность произвольно изменять владельца и группу файла. Ему открыт доступ на чтение и запись к любому файлу или каталогу системы. +
-Среди учётных записей VeOS всегда есть учётная запись суперпользователя — root. Поэтому вместо «суперпользователь» часто говорят «root». Множество системных файлов принадлежат root, множество файлов только ему доступны для чтения или записи. Пароль этой учётной записи — одна из самых больших драгоценностей системы. Именно с её помощью системные администраторы выполняют самую ответственную работу.+
  
-Системные утилиты требуют для своей работы привилегий суперпользователя, потому что они вносят изменения в системные файлы. При их запуске выводится предупреждение о недостаточных правах текущего пользователя.+Каждый пользователь входит как минимум в одну группу (одноимённую).\\ 
 +Дополнительные группы назначаются через ''%%usermod -G%%''.
  
-Для опытных пользователей, умеющих работать с командной строкой, существует два различных способа получить права суперпользователя. +**Пример добавления пользователя в группу ''%%wheel%%'' (для доступа к ''%%sudo%%''):** 
-Первый — это войти в систему под именем root. +<code bash> 
-Второй способ — воспользоваться специальной утилитой su (shell of user), которая позволяет выполнить одну или несколько команд от лица другого пользователя. По умолчанию эта утилита выполняет команду sh от пользователя root, то есть запускает командный интерпретатор. Отличие от предыдущего способа в том, что всегда известно, кто именно запускал su, а значит, ясно, кто выполнил определённое административное действие. +usermod -G wheel test 
-В некоторых случаях удобнее использовать не su, а утилиту sudo, которая позволяет выполнять только заранее заданные команды.+</code>
  
-<note important>Для того чтобы воспользоваться командами su и sudo, необходимо быть членом группы wheel. Пользователь, созданный при установке системы, по умолчанию уже включён в эту группу.</note>+**Просмотр групп пользователя:** 
 +<code bash> 
 +id test 
 +</code>
  
-Для перехода в режим суперпользователя наберите в терминале команду su -. +<note important> 
-Если воспользоваться командой su без ключа, то происходит вызов командного интерпретатора с правами root. При этом значение переменных окружения, в частности $PATH, остаётся таким же, как у пользователя: в переменной $PATH не окажется каталогов /sbin/usr/sbin, без указания полного имени будут недоступны команды route, shutdown, mkswap и другие. Более того, переменная $HOME будет указывать на каталог пользователя, все программы, запущенные в режиме суперпользователя, сохранят свои настройки с правами root в каталоге пользователя, что в дальнейшем может вызвать проблемы. +**Внимание:** Большинство привилегированных утилит в VEOS имеют **SGID**-бит, а не SUID. Будьте осторожны при изменении групповых прав на системные каталоги. 
-Чтобы избежать этого, следует использовать su -. В этом режиме su запустит командный интерпретатор в качестве login shell, и он будет вести себя в точности так, как если бы в системе зарегистрировался root.+</note>
  
 +----
  
-===== Управление пользователями =====+===== 5. Режим суперпользователя (root) =====
  
-Пользователи и группы внутри системы обозначаются цифровыми идентификаторами — UID и GID, соответственно. +**Суперпользователь (root)** имеет неограниченный доступ ко всем файлам и процессам.
-Пользователь может входить в одну или несколько групп. По умолчанию он входит в группу, совпадающую с его именем. Чтобы узнать, в какие еще группы входит пользователь, введите команду id, вывод её может быть примерно следующим: +
-  uid=500(test) gid=500(test) группы=500(test),16(rpm) +
-Такая запись означает, что пользователь test (цифровой идентификатор 500) входит в группы test и rpm. Разные группы могут иметь разный уровень доступа к тем или иным каталогам; чем в большее количество групп входит пользователь, тем больше прав он имеет в системе.+
  
-<note important>В связи с тем, что большинство привилегированных системных утилит в VeOS имеют не SUID-, а SGID-бит, будьте предельно внимательны и осторожны в переназначении групповых прав на системные каталоги.</note>+=== 5.1. Команда ''su'' ===
  
-==== Команда passwd ==== +Команда ^ Результат ^ 
-Команда passwd поддерживает традиционные опции passwd и утилит shadow. +| ''%%su -%%''Полноценный вход как root (с окружением root) | 
-Синтаксис:  +| ''%%su%%'' | Только смена пользователяокружение остаётся прежним (не рекомендуется|
-  passwd [ПАРАМЕТРЫ...] <пользователь> +
-  -k, --keep-tokens       сохранить неустаревшие данные авторизации (пароли) +
-  -d, --delete            удалить пароль пользователя (только root) +
-  -l, --lock              заблокировать пароль пользователя (только root+
-  -u, --unlock            разблокировать пароль пользователя (только root) +
-  -e, --expire            просрочить пароль пользователя (только root) +
-  -f, --force             принудительное выполнение +
-  -x, --maximum=DAYS      максимальный срок действия пароля (только root) +
-  -n, --minimum=DAYS      минимальный срок действия пароля (только root) +
-  -w, --warning=DAYS      за сколько дней до истечения пароля начать предупреждать пользователя олько root) +
-  -i, --inactive=DAYS     через сколько дней после истечения пароля заблокировать учетную запись (только root) +
-  -S, --status            сообщить состояние пароля для пользователя (только root) +
-  --stdin                 получить новое значение из stdin (только root)+
  
-Код выхода: при успешном завершении passwd заканчивает работу с кодом выхода 0. Код выхода 1 означает, что произошла ошибка. Текстовое описание ошибки выводится на стандартный поток ошибок. +**Почему ''%%su -%%'' важна:**\\   
-Пользователь может в любой момент поменять свой пароль. Единственное,что требуется для смены пароля знать текущий пароль. +Без дефиса переменные ''%%$PATH%%'' и ''%%$HOME%%'' остаются от обычного пользователя, команды из ''%%/sbin%%'' и ''%%/usr/sbin%%'' могут быть недоступны.
-Только суперпользователь может обновить пароль другого пользователя.+
  
-==== Добавления нового пользователя ====+=== 5.2. Команда ''sudo'' ===
  
-Для добавления нового пользователя используйте команды useradd и passwd: +Позволяет выполнять отдельные команды от root без полного переключения.\\   
-  > useradd test +Для использования ''%%sudo%%'' пользователь должен быть в группе ''%%wheel%%''.
-  > passwd test +
-  Изменяется пароль пользователя test. +
-  Новый пароль +
  
-В результате в системе появился пользователь test с заданным паролем. Если пароль оказался слишком слабым с точки зрения системы, она об этом предупредит. Пользователь в дальнейшем может поменять свой пароль при помощи команды passwd — но если он попытается поставить слабый пароль, система откажет ему (в отличие от root) в изменении. +----
-Программа useradd имеет множество параметров, которые позволяют менять её поведение по умолчанию. Например, можно принудительно указать, какой будет UID или какой группе будет принадлежать пользователь.+
  
-==== Модификация пользовательских записей ====+===== 6. Система инициализации systemd =====
  
-Для модификации пользовательских записей применяется утилита usermod: +**systemd** — основная система инициализации VEOS. Она запускает службы параллельно и отслеживает зависимости.
-  > usermod -G wheel,test test +
-Такая команда изменит список групп, в которые входит пользователь test — теперь это wheel, test.+
  
-  > usermod -l test1 test+=== 6.1. Основные команды управления службами ===
  
-Будет произведена смена имени пользователя с test на test1. +^ Действие ^ Команда (systemd) ^ Аналог в sysvinit ^ 
-Команды usermod -L test1 и usermod -U test1 соответственно временно блокируют возможность входа в систему пользователю test1 и возвращают всё на свои места. +| Запустить службу | ''%%systemctl start <service>%%'' | ''%%service <service> start%%''
-Изменения вступят в силу только при следующем входе пользователя в систему. +| Остановить службу | ''%%systemctl stop <service>%%'' | ''%%service <service> stop%%'' | 
-При неинтерактивной смене или задании паролей для целой группы пользователей используйте утилиту chpasswd. На стандартный вход ей следует подавать списоккаждая строка которого будет выглядеть как имя:пароль.+Перезапустить | ''%%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>
  
-Для удаления пользователей используйте userdel. +=== 6.2Просмотр логов (journal) ===
-Команда userdel test1  удалит пользователя test1 из системы. Если будет дополнительно задан параметр -r, то будет уничтожен и домашний каталог пользователя. Нельзя удалить пользователя, если в данный момент он еще работает в системе+
  
 +^ Команда ^ Действие ^
 +| ''%%journalctl%%'' | Показать весь системный журнал |
 +| ''%%journalctl -b%%'' | Только с текущей загрузки |
 +| ''%%journalctl -f%%'' | Следить за новыми сообщениями (аналог ''%%tail -f%%'') |
 +| ''%%journalctl -u <служба>%%'' | Логи конкретной службы |
  
-===== Система инициализации systemd и sysvinit =====+**Пример:** 
 +<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>