Общие сведения
В данном разделе рассмотрены основные моменты, касающиеся работы с пользователями в Системе.
Любая работа выполняется от имени одного из пользователей, зарегистрированного и авторизованного в Системе.
В Системе существуют три типа пользователей:
- Администраторы – привилегированные пользователи с полным доступом к Системе. По умолчанию на серверной ОС после ее установки всегда есть один такой пользователь root.
- Локальные пользователи – непривилегированные пользователи. Их учётные записи создаёт администратор. Особенность таких аккаунтов в ограниченном доступе к серверу в том, что они не могут пользоваться некоторыми системными утилитами, могут работать только с теми файлами и папками, к которым у них открыт доступ. Тем не менее привилегии локального пользователя можно повысить при необходимости.
- Системные пользователи – учётные записи, автоматически создаваемые Системой для работы внутренних процессов и служб. Например, после установки веб-сервера Apache, который входит в состав стека LAMP, на сервере появляется пользователь www-data, от имени которого потом работает веб-сервер. Такие пользователи нужны для повышения безопасности.
Каждый пользователь имеет свой уникальный идентификатор пользователя UID. Идентификатор отличается в зависимости от типа пользователя:
- администратор – 0;
- обычный (локальный) пользователь – от 100;
- системный пользователь – от 1 до 100.
Чтобы упростить процесс настройки прав для новых пользователей, их объединяют в группы. Каждая группа имеет свой набор прав и ограничений. Любой пользователь, создаваемый или добавляемый в такую группу, автоматически их наследует. Если при добавлении пользователя для него не указать группу, то у него будет своя, индивидуальная группа с именем пользователя. Один пользователь может одновременно входить в несколько групп.
Информацию о каждом пользователе сервера можно посмотреть в файле /etc/passwd. Пользователи в нём перечислены в следующем формате:
test-user:x:1000:1000::/home/test-user:/bin/bash
Значения параметров вывода информации о пользователях приведены ниже (Таблица 10).
Для отображения только учетных записей пользователей можно ввести команду:
users
Если известно имя пользователя и требуется узнать о нём больше информации, необязательно читать /etc/passwd. Всё то же самое можно посмотреть с помощью команды pinky -l :
pinky -l test-user
В качестве альтернативы можно использовать команду w она тоже показывает всех авторизованных в текущий момент пользователей, включая создаваемую ими нагрузку на сервер.
Узнать UID пользователя можно с помощью команды id:
id username
Вывод команды будет похожим на следующий:
uid=1001(username) gid=1001(username) groups=1001(username),27(sudo)
в котором содержится информация о том, что учетная запись username существует, она находится в основной группе username и дополнительной группе sudo; идентификатор учетной записи – 1001.
Также можно получить строку о пользователе из файла /etc/passwd:
getent passwd username
Вывод команды будет похожим на следующий:
username:x:1001:1001::/home/username:/bin/sh
в котором пользователь username имеет идентификатор пользователя и группы 1001, его домашняя директория – /home/username, командная оболочка – /bin/sh.
Для именования пользователей в ОС есть набор стандартных правил:
- имя пользователя может содержать только английские буквы
[a-z]в верхнем и нижнем регистре, цифры, символ** **"_", тире"-"и точку; - имя пользователя может оканчиваться символом
"$"; - имя пользователя не может начинаться с тире, содержать только цифры или состоять из
"."или".."; - не рекомендуется использовать точку в начале имени пользователя;
- имя пользователя может включать до 32 символов.