Какой uid имеет пользователь root
Перейти к содержимому

Какой uid имеет пользователь root

  • автор:

How To Find UID And GID Using Id Command In Linux/Unix?

Linux/Unix are multi-user operating systems that means different users can access and use system resources simultaneously. To access the resources of a system you must have a user account on that system. And a group is a collection of users.

A system identifies users and groups with a UID and GID respectively. In this article, we will discuss to find the UID and GID from Linux.

UID (User Identifier)

UID is a number assigned to each user in a Linux or Unix system. The system identifies a user with its UID and uses it to determine which system resources a user can access. For example – the root user has UID 0.

GID (Group Identifier)

A group is a collection of users having similar permissions. Like a user who is identified by the UID, a group is identified by the GID in a system. GID 0 is reserved for the root group.

The id Command

Unix like operating system provides id command to display the UID and GID of a user. If the command is executed without any argument, it will print the user information of the current user. Following is the syntax of id command –

You can use the following options with this command –

Options Description
-g , —group It will print only effective group IDs
-G , —groups Display all group IDs
-n , —name Prints a name instead of a number for, -ugG
-u , —user Print only effective user IDs
-r , —real Display the real ID instead of the effective ID, with -ugG
-z , —zero Delimit entries with NUL characters, not whitespaces
-a Ignore the compatibility with other versions
-Z , —context Print only the security context of the process
—version Output the version information and exit

For more details, you can see the manual page of id command by using –

How to display the UID and GID of the current user?

To display the user ID and Group ID of the current user, use the id command without any arguments –

Now here you can see the UID and GID of user lalit both are 1000

How to display the UID and GID of a specific user?

To display the user ID of a specific user use the option -u with the id command, Run the following command –

This will display the user ID of lalit.

And to display the group ID use -g option with id command –

This will display the group ID of lalit.

How to list all the groups a user belongs to?

Use the option -G with id command to display the list of the groups a user belongs to –

Or use the option -n to display name instead of GID –

Is there any other way to display the UID and GID of a user?

The information such as UID, GID, default shell, etc is stored in /etc/passwd file. You can display the content of this file by using the following command in your terminal –

Now you will see a list of users with some other information. There are seven places separated by a colon, third and fourth places are UID and GID respectively. For example – UID and GID of the root user are 0 and 0.

That’s all for now. If you have any queries or suggestions related to this topic then you can write to us in the comments.

Что такое UID в Linux, как его найти и изменить

UID — это уникальный идентификационный номер, присваиваемый каждому пользователю в системе Linux. Основная роль UID — идентифицировать пользователя для ядра Linux. Давайте узнаем, где они хранятся, и как это поменять пользователю?

я Если вы взаимодействовали с системами Linux, есть вероятность, что вы встретили эти два слова: UID и GID. Если у вас нет четкого представления о них, прочтите эту статью.

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

UID — это сокращение от слова User Identifier, а GID — это сокращение от слова Group Identifier. В этой конкретной статье мы сосредоточимся на идентификаторе пользователя (UID).

UID — это уникальный идентификационный номер, присваиваемый каждому пользователю, присутствующему в системе Linux. Основная роль номера UID — идентифицировать пользователя для ядра Linux.

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

Где найти сохраненный UID?

Вы можете найти UID в файле / etc / passwd, который также хранит всех пользователей, зарегистрированных в системе. Чтобы просмотреть содержимое файла / etc / passwd, запустите Кот в файле, как показано ниже на терминале.

Список содержимого файла passwdСписок содержимого файла passwd

Файл / etc / passwd содержит все необходимые атрибуты или основную информацию о каждом отдельном пользователе в системе. Данные отображаются в семи столбцах, как указано ниже. Эти поля разделены двоеточием (:). Этот файл также содержит определенные системой учетные записи и группы, необходимые для правильной установки, запуска и обновления системы.

Столбец 1 — Имя
Столбец 2 — Пароль — если пользователь установил пароль в этом поле, то он обозначается буквой (x).
Столбец 3 — UID (идентификатор пользователя)
Столбец 4 — GID (идентификатор группы)
Столбец 5 — Gecos — содержит общую информацию о пользователе и может быть пустым.
Столбец 6 — Домашний каталог.
Столбец 7 — Оболочка — путь к оболочке по умолчанию для пользователя.

Определите UID

На изображении выше первый пользователь, указанный в файле, — root. Root полностью контролирует все аспекты системы. Пользователь root получает нулевой UID (O) и GID (0). Следующие ниже — это определенные системой учетные записи и группы.

Пользователь rootПользователь root

Еще одна вещь, на которую следует обратить внимание, это то, что UID = 0 и GID = 0 — это то, что дает пользователю root все полномочия в системе. Если вы хотите доказать это, переименуйте корень во что-нибудь другое, например Example_User, и создайте нового пользователя root с новым UID и GID. Вы поймете, что Example_User по-прежнему будет иметь повышенные привилегии, несмотря на то, что у него нет имени пользователя root.

Как вы также заметили на изображении, определенные системой учетные записи и группы, следующие за пользователем root, имеют UID 1,2,3,4,… и так далее. Это связано с тем, что большинство систем Linux резервируют первые 500 UID для системных пользователей. Другим пользователям, добавленным с помощью команды useradd, назначается UID от 500. В системах Ubuntu и Fedora новому пользователю, даже созданному в процессе установки, присваивается UID от 1000 и выше.

Вы можете видеть это на изображении ниже, где у нас есть два пользователя. Fosslinux_admin и Tuts.

Список UID текущих пользователейВывод UID текущих пользователей

Пользователь tuts был создан в процессе установки и ему присвоен UID 1000. Другой пользователь, «fosslinux», был добавлен позже и получил UID 1001.

Как узнать UID пользователя, группы или учетной записи

Мы обсудили, как найти UID, отображая содержимое файла / etc / passwd. Есть способ быстрее и проще. Мы будем использовать я бы команда.

Например, чтобы найти UID пользователя Fosslinux_admin и Tuts, выполните команду ниже. Возможно, вам потребуется ввести пароль root.

Используйте команду ID, чтобы найти ID пользователейИспользуйте команду ID, чтобы найти ID пользователей

Мы также можем запустить команду id для других групп, как показано ниже. Выполнив только команду id в терминале, он отобразит UID текущего вошедшего в систему пользователя. См. Изображение ниже.

Список UID других групп и учетных записейСписок UID других групп и учетных записей

Как изменить UID

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

Давайте сначала создадим временного пользователя для этого примера. Мы будем использовать команду useradd. Вам потребуются права root. См. Команду ниже.

Запустив команду id для пользователя example_user, мы видим, что этот новый пользователь имеет UID 1003.

Создать пользователя example_userСоздать пользователя example_user

Теперь давайте удалим пользователя Fosslinux_admin с UID = 1001 и назначим его нашему новому пользователю. Мы будем использовать юзердел команда для удаления пользователя.

После этого мы назначим нашему новому пользователю example_user, UID, который принадлежал fosslinux_admin. То есть UID = 1001. Сделаем это с помощью команды usermod.

Запустив команду id для пользователя, например _user, мы видим, что теперь у пользователя UID = 1001.

Измените UID на нового пользователяИзмените UID на нового пользователя.

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

Обновите нового пользователя связанными файлами старого пользователяОбновите нового пользователя связанными файлами старого пользователя

Создать нового пользователя с определенным UID

В качестве альтернативы мы можем создать нового пользователя с помощью useradd и назначьте пользователю конкретный UID. См. Синтаксис ниже.

Запустив команду id на user_2, мы видим, что UID пользователя = 1111.

Создать пользователя с новым UIDСоздать пользователя с новым UID

Вывод

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

Unix2018/Пользователи и права

Многопользовательская ОС допускает использование ресурсов компьютера несколькими пользователями одновременно.

Система UNIX изначально проектировалась как многопользовательская ОС. Уже первая версия, выпущенная в 1971 году, была многопользовательской. К терминалам tty0 — tty5 могли подключаться несколько человек.

Системы MS-DOS и Windows 95 были однопользовательскими. Настоящий многопользовательский режим появился в Windows NT.

Пользователи и группы

Сообщество пользователей UNIX-подобной ОС состоит из зарегистрированных пользователей, каждый из которых имеет уникальный UID (User ID — идентификатор пользователя). UID представляет собой целое число в пределах от 0 до 65535, в новых версиях до 2 32 .

Кроме числового id, используется имя пользователя в виде строки. По сути дела, имя пользователя — это его короткий и легко запоминаемый псевдоним, который используется при входе в систему. Классические ограничения на имя пользователя:

  • используются маленькие латинские буквы, цифры, знаки — и _,
  • имя должно начинаться на букву или на _,
  • общая длина — до 31 включительно.

Пользователи могут организовываться в группы, которые также нумеруются 16-битными целыми числами, называемыми GID (Group ID — идентификатор группы). Назначение пользователя в группу выполняется вручную системным администратором и заключается в создании нескольких записей (в системной базе данных), в которых содержится информация о том, какой пользователь к какой группе принадлежит. Пользователь может одновременно принадлежать к нескольким группам.

Команда id позволяет выводить UID и GID.

root — суперпользователь

Пользователь, UID которого равен 0, является особым пользователем и называется суперпользователем (superuser или root). Суперпользователь может читать и писать все файлы в системе независимо от того, кто ими владеет и как они защищены. Процессы с UID = 0 также имеют возможность использовать небольшую группу защищённых системных вызовов (например mknod()), доступ к которым запрещён обычным пользователям.

На самом деле пользователь с нулевым UID не обязательно имеет имя root, имя может быть любым. Важен UID, а не имя. В коде ядра делаются проверки на равенство нулю. Имя root — это просто соглашение.

su и sudo

Sandwich.png

Исторически первой была команда su.

su (сокр. от Substitute User, Set UID, Switch User, Super User — замена пользователя, переключение пользователя, суперпользователь) — команда UNIX-подобных операционных систем, позволяющая пользователю войти в систему под другим именем, не завершая текущий сеанс. Обычно используется для временного входа суперпользователем для выполнения административных работ.

Запущенная без параметров, она запрашивает пароль суперпользователя, и в случае успеха просто подменяет текущее имя пользователя на root, оставляя почти все переменные окружения от старого пользователя (кроме PATH, USER и еще пары-тройки). Более корректно запускать её как su - — в таком случае оболочка получает также и правильный environment (как будто root вошёл в систему напрямую).

Затем появилась команда sudo, и это был прорыв.

sudo (substitute user and do, дословно «подменить пользователя и выполнить») — программа для системного администрирования UNIX-систем, позволяющая делегировать те или иные привилегированные ресурсы пользователям с ведением протокола работы.

Программа sudo настраивается через файл /etc/sudoers.

В Debian-based-дистрибутивах пользователь root не имеет пароля, вместо этого все административные действия должны производиться через sudo.

  • При использовании sudo пользователь вводит свой пароль, а не пароль root’а.
  • По умолчанию sudo записывает всю пользовательскую активность в лог.
  • В случае с su администратор системы не может ограничить команды, выполняемые пользователями, а в sudo — может.
  • Если пользователь должен быть лишен права администрирования, в случае с su он должен забыть пароль root’а; если используется sudo, достаточно вынести его из соответствующей группы.
  • sudo может запоминать факт правильно введённого пароля и не спрашивать в дальнейшем. В Ubuntu пароль запоминается на 15 минут. Это тоже можно настроить. Программа sudo хранит свои служебные данные в каталоге /var/run/sudo/.

Редактирование файлов от root

не рекомендуется. Запускаемый таким образом vim позволяет через :! запускать любую команду и открывать любой файл.

sudoedit — проверяет, можно ли этому пользователю изменять данный файл, затем копирует указанный файл во временный каталог, открывает его в редакторе согласно переменной окружения EDITOR (который наследует права пользователя, а не root’а), а после редактирования, если файл был изменён, с особыми предосторожностями копирует его обратно.

Файлы с данными о пользователях

Соответствие идентификаторов и символьных имен, а также другая информация о пользователях и группах в системе (учетные записи), как и большинство другой информации о конфигурации системы UNIX, по традиции, представлена в виде текстовых файлов.

/etc/passwd

Каждая строка файла описывает одного пользователя и содержит семь полей, разделённых двоеточиями. Пример записи:

  1. регистрационное имя или логин;
  2. хеш пароля;
  3. идентификатор пользователя;
  4. идентификатор группы по умолчанию;
  5. информационное поле GECOS (полное имя, телефон, . );
  6. начальный (он же домашний) каталог;
  7. регистрационная оболочка, или shell.

Поле GECOS хранит вспомогательную информацию о пользователе (номер телефона, адрес, полное имя и так далее). Оно не имеет чётко определённого синтаксиса. История поля GECOS начинается в Bell labs. Традиционно там такие поля через запятую:

  • Полное имя
  • Адрес офиса или домашний адрес
  • Рабочий телефон
  • Домашний телефон
/etc/group

/etc/group содержит записи обо всех группах в системе. Каждая его строка содержит

  • Символьное имя группы.
  • Пароль группы — устаревшее поле, сейчас не используется. В нём обычно стоит «x».
  • Идентификатор группы, или GID.
  • Список имён участников, разделённых запятыми.

Здесь сообщается, что группа bin имеет GID=1, а входят в неё пользователи root, bin и daemon.

/etc/shadow

Wikipedia: Shadow file — в частности, объясняет, зачем этот файл существует отдельно. Обычно этим файлом владеет суперпользователь, и он недоступен для чтения обычным пользователям.

  • имя пользователя,
  • хеш пароля,
  • дата последнего изменения пароля,
  • через сколько дней можно будет поменять пароль,
  • через сколько дней пароль устареет,
  • за сколько дней до того, как пароль устареет, начать напоминать о необходимости смены пароля,
  • через сколько дней после того, как пароль устареет, заблокировать учётную запись пользователя,
  • дата, при достижении которой учётная запись блокируется,
  • зарезервированное поле.
Scheme id Schema Example
DES Kyq4bCxAXJkbg
_ Berkeley Software Design _EQ0.jzhSVeUyoSqLupI
1 MD5 $1$etNnh7FA$OlM7eljE/B7F1J4XYNnk81
2, 2a, 2x, 2y bcrypt $2a$10$VIhIOofSMqgdGlL4wzE//e.77dAQGqntF/1dT7bqCrVtquInWy2qi
3 NTLM Authentication $3$$8846f7eaee8fb117ad06bdd830b7586c
5 SHA-256 $5$9ks3nNEqv31FX.F$gdEoLFsCRsn/WRN3wxUnzfeZLoooVlzeF4WjLomTRFD
6 SHA-512 $6$qoE2letU$wWPRl.PVczjzeMVgjiA8LLy2nOyZbf7Amj3qLIL978o18gbMySdKZ7uepq9tmMQXxyTIrS12Pln.2Q/6Xscao0
md5 Solaris MD5 $md5,rounds=5000$GUBv0xjJ$$mSwgIswdjlTY0YxV7HBVm0
sha1 PBKDF1 with SHA-1 $sha1$40000$jtNX3nZ2$hBNaIXkt4wBI2o5rsi8KejSjNqIq

Для MD5 используют 1000 раундов, для SHA — 5000.

Пример: у alice стоит пароль 111.

/etc/sudoers

Правильно его редактировать командой visudo. Он проверяет корректность синтаксиса перед сохранением файла. Иначе можно испортить sudo и потерять контроль над происходящим.

Например, чтобы отключить запрос пароля при sudo, можно дописать в конец строку

Доступ к информации о пользователях

Можно вручную читать информацию из текстовых файлов и парсить — неудобно.

Есть утилита getent, которая помогает получить информацию из разных текстовых файлов: ahosts, ahostsv4, ahostsv6, aliases, ethers, group, gshadow, hosts, netgroup, networks, passwd, protocols, rpc, services, shadow. Общий синтаксис такой:

Есть набор C-функций, которые позволяют получать информацию о пользователях.

Работают они медленно, так как выполняют чтение из файликов. Если вам нужно быстро, придётся организовывать кеширование своими силами.

Управление пользователями

Утилиты useradd, userdel и usermod бинарные и низкоуровневые, существуют во всех дистрибутивах.

Учётная запись заблокирована, пока не задан пароль.

Для запуска администратором рекомендуется использовать более высокоуровневые обёртки adduser/deluser. Это скрипты, написанные на perl.

Пример: добавить пользователя в группу:

Права доступа к файлам

Основной механизм безопасности в операционной системе Linux прост. Каждый процесс несет на себе UID и GID своего владельца. Когда создается файл, он получает UID и GID создающего его процесса. Файл также получает набор разрешений доступа, определяемых создающим процессом. Эти разрешения определяют доступ к этому файлу

  • для владельца файла,
  • для других членов группы владельца файла,
  • для всех прочих пользователей.

Для каждой из этих трех категорий определяется три вида доступа:

  • чтение (read, r),
  • запись (write, w),
  • исполнение файла (execute, x).

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

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

Три варианта записи прав пользователя

двоичная восьмеричная символьная права на файл права на директорию
000 0 --- нет нет
001 1 --x выполнение чтение файлов и их свойств
010 2 -w- запись нет
011 3 -wx запись и выполнение всё, кроме чтения списка файлов
100 4 r-- чтение чтение имён файлов
101 5 r-x чтение и выполнение доступ на чтение
110 6 rw- чтение и запись чтение имён файлов
111 7 rwx все права все права

Часть разрешений имеет смысл только в сочетании с другими. Из первых четырёх пунктов (не дающих права на чтение файла) для файлов обычно используется только «—», то есть полный запрет доступа к файлу данному типу пользователей. Для директорий из всего списка обычно применяются только 0, 5 и 7 — запрет, чтение и выполнение, и полный доступ.

Вывод прав доступа

Файлы

Право на запись (w) даёт пользователю возможность записывать или изменять файл.

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

Право на запись может существовать при отсутствии права на чтение.

Каталоги

Каталоги — это файлы, они обладают теми же самыми режимами защиты, что и обычные файлы.

Отличие состоит в том, что бит x интерпретируется для каталогов как разрешение не исполнения, а входа в каталог, доступа к inode’ам файлов. Чтобы сделать cd в каталог, нужно, чтобы он имел бит x.

Бит r разрешает получение списка файлов в каталоге.

Право на запись (w) для каталога — возможность создавать новые файлы или удалять файлы из этого каталога. Если на каталоге стоит возможность записи (w), то файл внутри этого каталога можно будет удалить, даже если право на запись для него не установлено. (В соответствии с концепцией файловой системы POSIX).

Символические ссылки

Биты доступа, выставленные на символических ссылках, в UNIX-системах игнорируются (исключением является macOS). Имеют значение установки прав, выставленные для файла, на который линк указывает.

На Linux команда ls -l всегда печатает lrwxrwxrwx (777) для символических ссылок.

Жёсткие ссылки

У жёстких ссылок, указывающих на один inode, одинаковые владелец и права доступа. Чтобы иметь возможность создать хардлинк на файл, нужно быть или его владельцем, или иметь как минимум rw-доступ.

chmod

chmod (от англ. change mode) — программа для изменения прав доступа к файлам и каталогам.

Синтаксис

  • -R рекурсивное изменение прав доступа для каталогов и их содержимого
  • -f не выдавать сообщения об ошибке для файлов, чьи права не могут быть изменены.
  • -v подробно описывать действие или отсутствие действия для каждого файла.

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

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

Использование команды в символьном виде

В символьном виде использование команды chmod позволяет более гибко добавлять, устанавливать или убирать права на файл(ы) или каталоги.

References определяют пользователей, которым будут меняться права. References определяются одной или несколькими буквами:

Reference Class Описание
u user Владелец файла
g group Пользователи, входящие в группу владельца файла
o others Остальные пользователи
a all Все пользователи (или ugo)

Operator определяет операцию, которую будет выполнять chmod:

Operator Описание
+ добавить определенные права
- удалить определенные права
= установить определенные права

Modes определяет какие именно права будут установлены, добавлены или удалены:

Mode Name Описание
r read чтение файла или содержимого каталога
w write запись в файл или в каталог
x execute выполнение файла или чтение содержимого каталога
X special execute выполнение, если файл является каталогом или уже имеет право на выполнение для какого-нибудь пользователя
s setuid/gid установленные атрибуты SUID или SGID позволяют запускать файл на выполнение с правами владельца файла или группы соответственно
t sticky устанавливая t-бит на директорию, мы меняем это правило таким образом, что удалить файл может только владелец этого файла

Примеры использования команды в символьном виде

Установить права «rwxr-xr-x» (0755) для файла:

chmod u=rwx,g=rx,o=rx filename

Установить права на выполнение для владельца файла, удалить права на выполнение у группы, удалить права на запись и выполнение у остальных пользователей:

chmod u+x,g-x,o-wx filename

Установить рекурсивно права на чтение для всех пользователей:

chmod -R a+r directory

Рекурсивно удалить атрибуты SUID и SGID:

chmod -R u-s,g-s directory

Право на запуск chmod

chmod может выполнять владелец файла или root.

chown

Право на запуск chown

Владение файлом может быть изменено только суперпользователем. Обычный пользователь не может «отдать» свой файл другому пользователю.

chgrp

Казалось бы, зачем нужна отдельная команда

если можно сделать

В отличие от команды chown, chgrp может использоваться непривилегированными пользователями для изменения группы файлов. Команда позволяет рядовым пользователям изменять группы, но только те, членами которых они являются.

setuid и setgid

Проблемы. Как пользователю сменить пароль? Как пользователям получать управляемый доступ ко всем устройствам ввода-вывода и другим системным ресурсам?

Введён дополнительный бит защиты — бит SETUID. Бит был изобретён Деннисом Ритчи и запатентован в США компанией AT&T в 1979 году.

У процесса есть два UID:

  • реальный (real);
  • действительный или рабочий (effective).

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

Из-за возможности состояния гонки многие операционные системы игнорируют установленный атрибут к shell-скриптам. См. [1]

Установка битов suid/sgid на неисполняемых файлах, как правило, бессмысленна.

Установка sgid для директории приведёт к установке принадлежности каждого нового создаваемого файла к той же группе, к которой принадлежит сама директория, а не к основной группе владельца, как это происходит по умолчанию. suid для директории не имеет смысла.

Пример: печать uid

Пример: чтение /etc/shadow

Как известно, обычному пользователю читать этот файл не позволено.

Выставим suid-бит и проверим. Для запуска sudo уже будет не нужно.

Запуск оболочки от имени root без sudo

Так делать в реальной жизни не надо, это только учебный демонстрационный пример.

Используем системный вызов setuid(), чтобы выставить нашему процессу реальный uid суперпользователя.

setuid() sets the effective user ID of the calling process. If the effective UID of the caller is root (more precisely: if the caller has the CAP_SETUID capability), the real UID and saved set-user-ID are also set.

Sticky bit

Устанавливается для каталогов. Только владелец файла, владелец каталога или root может переименовать или удалить файл. Без выставленного sticky bit, любой пользователь, имеющий wx-права на каталог, может удалить или переименовать содержащиеся в нём файлы независимо от владельца файлов.

Сегодня sticky bit используется в основном для каталогов, чтобы защитить в них файлы. Из такого каталога пользователь может удалить только те файлы, владельцем которых он является. Примером может служить каталог /tmp, в который запись открыта для всех пользователей, но нежелательно удаление чужих файлов. Установка атрибута производится утилитой chmod.

umask

umask (от англ. user file creation mode mask — маска режима создания пользовательских файлов) — функция среды POSIX, изменяющая права доступа, которые присваиваются новым файлам и каталогам по умолчанию.

Режим полного доступа для директорий — 777, для файлов — 666. Многие оболочки UNIX предоставляют команду umask, которая влияет на все дочерние процессы, исполняемые в этой оболочке.

Фактически, umask указывает, какие биты следует сбросить в выставляемых правах на файл — каждый установленный бит umask запрещает выставление соответствующего бита прав. Исключением из этого запрета является бит исполняемости, который для обычных файлов зависит от создающей программы (трансляторы ставят бит исполняемости на создаваемые файлы, другие программы — нет), а для каталогов следует общему правилу. umask 0 означает, что следует (можно) выставить все биты прав (rwxrwxrwx), umask 777 запрещает выставление любых прав.

UID (User Identifier) and GID (Group Identifier)

A UID (user identifier) is a number assigned by Linux to each user on the system. This number is used to identify the user to the system and to determine which system resources the user can access. UIDs are stored in the /etc/passwd file:

linux uid

The third field represents the UID. Notice how the root user has the UID of 0. Most Linux distributions reserve the first 100 UIDs for system use. New users are assigned UIDs starting from 500 or 1000. For example, new users in Ubuntu start from 1000:

linux uid normal user

When you create a new account, it will usually be give the next-highest unused number. If we create a new user on our Ubuntu system, it will be given the UID of 1001:

linux uid new user

Groups in Linux are defined by GIDs (group IDs). Just like with UIDs, the first 100 GIDs are usually reserved for system use. The GID of 0 corresponds to the root group and the GID of 100 usually represents the users group. GIDs are stored in the /etc/groups file:

linux gid

The third field represents the GID. New groups are usually assigned GIDs starting from 1000:

linux gid show

Geek University recommends the following video course to get you started with Linux.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *