Guid linux что это

Обновлено: 06.07.2024

Systemd - это новый сервис в Red Hat Enterprise Linux 7, который отвечает за запуск всех видов вещей. Systemd выходит далеко за рамки запуска сервисов; другие элементы также запускаются из systemd.

В этой статье раскроем сам systemd и юнит-файлы.

Понимание systemd

Чтобы описать systemd в общих чертах, то это система управления юнитами. Юнитами могут быть много вещей. Одним из наиболее важных типов юнитов является сервис. Как правило, сервисы - это процессы, которые предоставляют определенные функциональные возможности и позволяют подключаться внешним клиентам.
Помимо сервисов, существуют другие типы юнитов, такие как сокеты, монтирование и другие.

Чтобы отобразить список всех доступных юнитов, введите systemctl -t help
Основное преимущество работы с systemd по сравнению с предыдущими методами, используемыми для управления сервисами, заключается в том, что он обеспечивает единый интерфейс для запуска юнитов. Этот интерфейс определен в файле юнита.

Системные юнит-файлы. Это юниты из установленных пакетов RPM — всякие nginx, apache, mysql и прочее.

Юниты, созданные нами, то есть админами. Переопределяют значения юнит-файлов по умолчанию. Юнит-файлы по умолчанию описаны выше.

runtime-юниты, которые генерируются автоматически.

Юнит-файлы пользовательских юнитов по аналогии хранятся в директориях /etc/systemd/<имя пользователя> , /run/sustemd/<имя пользователя> и /usr/lib/systemd/<имя пользователя> .

Юнит-файл на примере vsftpd:
Из этого примера юнит-файла видно, что его относительно легко понять. Любой файл сервисного юнита systemd состоит из трех секций. (В других файл-юнитах могут быть другие секции, но эти три присутствуют во всех юнит-файлах.)

  • ExecStart - запустить юнит;
  • ExecStop - остановить юнит;
  • ExecReload - перезапустить юнит.

Далее идёт секция [Mount] , которая определяет, что и где надо монтировать. В этой секции четко видно, что будет выполнена команда mount , которую вы обычно вводите в терминале.

Наконец, есть оператор WantedBy, который определяет, где должен быть запущен юнит.

Юнит socket

Сокет создает метод для приложений, чтобы общаться друг с другом. Некоторые сервисы создают свои собственные сокеты при запуске, в то время как другим сервисам нужен файл-юнит сокетов для создания сокетов для них. И наоборот: каждому сокету нужен соответствующий служебный файл.

Пример файла сокета показывает, как это происходит для virtlockd, системного сокета, который отслеживает активность для виртуальных машин.
При работе с файл-юнитами systemd вы рискуете оказаться перегруженными опциями.
Каждый файл-юнит может быть настроен с различными параметрами. Чтобы выяснить, какие параметры доступны для конкретного юнита, используйте команду systemctl show . Например, команда systemctl show sshd показывает все параметры systemd , которые можно настроить в юните sshd.service , включая их текущие значения по умолчанию.

Понимание целевых юнитов

Юнит-файлы используются для создания функциональности, необходимой на вашем сервере. Чтобы можно было загружать их в правильном порядке и в нужный момент, используется определенный тип юнитов: целевой юнит. Простое определение целевого юнита- это «группа юнитов». Некоторые цели используются как эквиваленты старых уровней выполнения, которые в более ранних версиях RHEL использовались для определения состояния, в котором должен запускаться сервер.
Уровень запуска - это набор сервисов, необходимых для запуска сервера в многопользовательском или графическом режиме. Хорошей отправной точкой для понимания юнитов целей является их видение как группы юнитов.

Вы можете видеть, что сам по себе целевой юнит не содержит много определений. Он просто определяет, что ему требуется, и с какими сервисами целями он не может сосуществовать. Он также определяет порядок загрузки с помощью оператора After в разделе Unit . И вы можете видеть, что в разделе «Install» он определен как default.target , поэтому ваш сервер запускается по умолчанию. Целевой файл-юнит не содержит никакой информации о юнитах, которые должны быть включены; это находится в отдельных файлах юнита и секции Wants .

Даже если цель systemd немного похожа на старые уровни запуска, это нечто большее. Цель - это группа юнитов, и существует несколько различных целей. Некоторые цели, такие как multi-user.target и graphical.target , определяют конкретное состояние, в которое должна войти система. Другие цели просто объединяют группу юнитов, например, nfs.target и printer.target . Эти цели включены из других целей, таких как многопользовательские или графические цели.

Понимание Wants

Чтобы понять концепцию желания (Want), давайте начнем смотреть на глагол потребности, как в «Я хочу печенье». Want в systemd определяет, какие единицы systemd он хочет при запуске определенной цели. Want создаются, когда юниты включены в systemd , и это происходит путем создания символической ссылки в каталоге /etc/systemd/system . В этом каталоге вы найдете подкаталог для каждой цели, содержащий в качестве символических ссылок ссылки на конкретные сервисы, которые должны быть запущены.

Во второй части статьи о systemd разберемся, как управлять юнитами, зависимостями и целями.

Favorite

Добавить в избранное

Главное меню » Операционная система Linux » Все, что вам нужно знать о UID в Linux

(3 оценок, среднее: 5,00 из 5)

Все, что вам нужно знать о UID в Linux

Э та статья по основам Linux научит вас всему важному, связанному с UID в Linux.

Что такое UID в Linux?

UID используется для идентификации пользователя в системе и для определения того, к каким системным ресурсам пользователь может получить доступ. Вот почему идентификатор пользователя должен быть уникальным.

Вы можете найти UID в файле /etc/passwd. Это тот же файл, который можно использовать для составления списка всех пользователей в системе Linux.

Используйте команду Linux для просмотра текстового файла, и вы увидите различную информацию о пользователях, присутствующих в вашей системе.

Третье поле здесь представляет идентификатор пользователя или UID.

Обратите внимание, что в большинстве дистрибутивов Linux UID 1-500 обычно зарезервирован для системных пользователей. В Ubuntu и Fedora UID для новых пользователей начинаются с 1000.

Например, если вы используете команду useradd или adduser для создания нового пользователя, он получит следующий доступный номер после 1000 в качестве своего UID.

Как найти UID пользователя в Linux?

Вы всегда можете положиться на файл /etc/passwd, чтобы получить UID пользователя. Это не единственный способ получить информацию UID в Linux.

Команда id в Linux отобразит UID, GID и группы, к которым принадлежит ваш текущий пользователь:

Вы также можете указать имена пользователей с помощью команды id, чтобы получить UID любого пользователя Linux:

Как изменить UID пользователя в Linux?

Предположим, у вас было несколько пользователей в вашей системе Linux. Вы должны были удалить пользователя, потому что он/она покинул организацию. Теперь вы хотите, чтобы его UID был занят другим пользователем, уже находящимся в системе.

Вы можете изменить UID, изменив пользователя с помощью команды usermod следующим образом:

Вы должны иметь привилегию суперпользователя для выполнения вышеуказанной команды.

Вы помните концепцию прав доступа и владения файлами в Linux? Право собственности на файл определяется UID пользователя-владельца.

Когда вы обновляете UID пользователя, что происходит с файлами, принадлежащими этому пользователю? В то время как все файлы в домашнем каталоге user_2 изменят свой связанный UID, вам придется вручную обновить связанный UID других файлов вне домашний каталог.

Что вы можете сделать, это вручную обновить владельца файлов, связанных со старым UID пользователя_2.

Вот и все. Мы надеемся, что теперь у вас есть лучшее представление об UID в Linux. Не стесняйтесь задавать свои вопросы, если таковые имеются.

Как профессиональный пользователь Linux, если вы думаете, что мы пропустили какое-то важное понятие об UID, пожалуйста, дайте мне знать в разделе комментариев.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Favorite

Добавить в избранное

Главное меню » Linux » Специальные разрешения для файлов в Linux. SUID, GUID и Sticky Bit

Специальные разрешения Linux: SUID, GUID и Sticky Bit

Обычные права доступа к файлам

Обычные права доступа к файлам

Помимо этих обычных разрешений, есть несколько специальных разрешений для файлов, и не многие пользователи Linux знают об этом.

Специальные разрешения Linux: SUID, GUID и Sticky Bit

Чтобы начать говорить о специальных разрешениях, мы собираемся предположить, что у вас есть некоторые знания об основных правах доступа к файлам. Если нет, пожалуйста, прочитайте наше превосходное руководство, объясняющее разрешение файла Linux.

Теперь мы покажем вам некоторые специальные разрешения с новыми буквами в файловой системе Linux.

С этим разрешением вам не нужно предоставлять sudoдоступ конкретному пользователю, когда вы хотите, чтобы он запустил какой-либо корневой скрипт.

Что такое SUID?

Когда бит SUID установлен для исполняемого файла, это означает, что файл будет выполняться с теми же разрешениями, что и владелец исполняемого файла.

Специальные разрешения для файлов в Linux. SUID, GUID и Sticky Bit

Давайте возьмем практический пример. Если вы посмотрите на двоичный исполняемый файл команды passwd, у него установлен бит SUID.

Это означает, что любой пользователь, выполняющий команду passwd, будет запускать ее с теми же правами, что и root.

В чем выгода? Команде passwd необходимо отредактировать файлы, такие как /etc/passwd, /etc/shadow, чтобы изменить пароль. Эти файлы принадлежат пользователю root и могут быть изменены только пользователем root. Но благодаря флагу setuid (бит SUID) обычный пользователь также сможет изменять эти файлы (принадлежащие пользователю root) и менять свой пароль.

По этой причине вы можете использовать команду passwd для изменения собственного пароля, несмотря на тот факт, что файлы, которые изменяет эта команда, принадлежат пользователю root.

Сокращенный перевод: Алексей Дмитриев
Дата перевода: 13 ноября 2007
От переводчика: это только перевод материала статьи, он не является страницей Википедии.

В мире компьютерного "железа" GUID [1] Partition Table (GPT) является стандартным форматом размещения таблицы разделов на физическом жестком диске. Он является частью Extensible Firmware Interface (EFI) / Расширяемый Микропрограммный Интерфейс/ - стандарта, предложенного Intel на смену отжившего PC BIOS, одного из последних реликтов первозданной IBM PC. EFI использует GPT там, где BIOS использует Master Boot Record (MBR).

GUID Partition Table

На этом рисунке приведена диаграмма, схематично поясняющая формат GUID Partition Table. Каждый логический блок (LBA) имеет размер ровно 512 байт. Отрицательные адреса логических блоков говорят о том,что их нумерация начинается с конца тома (диска), причем последний адресуемый блок имеет адрес -1.

Характеристики

В отличие от MBR, который начинается с исполняемой двоичной программы, призванной идентифицировать и загрузить активный раздел, GPT опирается на расширенные возможности EFI для осуществления этих процессов. Однако MBR присутствует в самом начале диска (LBA 0) как для защиты, так и целях совместимости. Собственно GPT начинается с Оглавления Таблицы Разделов (Partition Table Header).

GPT использует современную систему адресации Логических Блоков (LBA) вместо применявшейся в MBR адресации Цилиндр - Головка - Сектор (CHS). Доставшийся по наследству MBR со всей своей информацией содержится в LBA 0, оглавление GPT в LBA 1, а сама таблица разделов далее. В случае 64-битной версии ОС Windows, за GPT зарезервировано 32 сектора или 16 384 байта, так что первым используемым сектором диска будет LBA 34.

GPT, кроме того, обеспечивает дублирование - оглавление и таблица разделов (как впрочем и MBR) записаны как вначале, так и в конце диска.

Наследственный MBR (LBA 0)

Основная цель помещения MBR в начало диска чисто защитная. MBR-ориентированные дисковые утилиты могут не распознать и даже переписать GPT диски. Чтобы избежать этого, указывается наличие всего одного раздела, охватывающего весь GPT диск. Системный Идентификатор (System ID) для этого раздела устанавливается в значение 0xEE, указывающее, что применяется GPT. Вследствие этого EFI игнорирует MBR. Некоторые 32-битные операционные системы, не "умеющие" читать GPT диски, тем не менее распознают этот Системный Идентификатор и представляют том в качестве недоступного GPT диска. Более старые ОС обычно представляют диск, как содержащий единственный раздел неизвестного типа и без свободного места; как правило, они отказываются модифицировать такой диск, пока пользователь явно не потребует и не подтвердит удаление данного раздела. Таким способом предотвращается случайное стирание содержимого GPT диска.

Оглавление таблицы разделов (LBA 1)

Оглавление таблицы разделов указывает те логические блоки на диске, которые могут быть задействованы пользователем (the usable blocks).Оно также указывает число и размер записей данных о разделах, составляющих таблицу разделов. Так на машине с установленной 64-битной ОС Windows Server 2003, зарезервировано 128 записей данных о разделах, каждая запись длиной 128 байт. Таким образом возможно создание 128 разделов на диске.

Оглавление содержит GUID (Globally Unique Identifier) /Глобально Уникальный Идентификатор/ диска. Он записывает свой собственный размер и местоположение (всегда LBA 1), а также размер и местоположение вторичного (запасного) оглавления и таблицы разделов (всегда в последних секторах диска). Важно, что он также содержит контрольную сумму CRC32 для себя и для таблицы разделов. Эти контрольные суммы проверяются процессами EFI при загрузке машины. Из-за проверок контрольных сумм невозможным становится применение шестнадцатеричных (hex) редакторов для модификации содержимого GPT. Всякое редактирование изменит контрольные суммы, после чего EFI перезапишет первичный GPT вторичным. Если же оба GPT будут содержать неверные контрольные суммы, доступ к диску станет невозможным.

Записи данных о разделах (LBA 2-33)

Записи данных о разделах (Partition entries) просты и прямолинейны. Первые 16 байт определяют GUID типа раздела. Скажем GUID системного EFI раздела имеет вид . Следующие 16 байт содержат GUID уникальный для данного конкретного раздела. Далее записываются данные о начале и конце 64-битных LBA, если таковые имеются. Остальное место отводится информации об именах и атрибутах разделов.

Идентификаторы (GUIDs) различных типов разделов.

Примечание 1: Linux и Windows имеют одинаковые GUID для своих разделов данных.

Глобально уникальный идентификатор (A Globally Unique Identifier или GUID) - специальный тип идентификтора, используемый в программных приложениях для генерации номеров ссылок, которые уникальны в том контексте, где они используются. Например, для задания внутренних ссылок в программных приложениях или для создания уникальных ключей в базе данных. Хотя каждый сгенерированный GUID не является гарантированно уникальным, но общее число возможных номеров так велико (2 122 или 5.3*10 36 ), что вероятность получения одного и того же номера дважды ничтожно мала. Смотри также заметку "Создание раздела диска размером более 2 Тб в Линуксе"

Читайте также: