| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| veos:admin_manual [2023/03/12 11:26] – [Режим суперпользователя] 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 === | В 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 /etc| sort -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) ===== |
| |
| ===== Система инициализации systemd и sysvinit ===== | **Суперпользователь (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> |