Пользователи в Linux
Всякая работа в Linux выполняется от имени пользователя, который зарегистрирован и авторизован в системе.
Какие бывают пользователи?
Администраторы
. Имеют полный доступ к системе. В любой системе Linux есть один такой пользователь -root
.Непривилегированные пользователи
. Имеют свой локальный каталог (home
), к которому у них есть полный доступ. К остальным ресурсам имеют доступ только если он им предоставлен. Не могут запускать часть системных утилит.Системные пользователи
. Учетные записи для работы служб. Например, при установке базы данных PostgresQL создаётся пользовательpostgres
, от имени котрого запускается эта СУБД.
Пользовтели имеют свой уникальный идентификатор (‘User identifier’), или UID
. Посмотреть, от имени какого пользователя мы работем в системе, можно командой whoami
в терминале.
Посмотреть UID
пользователя можно командой id
. Если к команде добавить имя пользовтеля, то можно получить UID этого пользовтеля. Например, узнать UID пользователя root
можно командой id root
. Кроме UID, команда покажет также информацию о группах, к которым относится пользователь.
Информация о всех пользовтелях хранится в файле /etc/passwd
.
Посмотреть его можно командой cat /etc/passwd
.
В каждой строке содержится имя пользователя, идентификаторы пользовтеля и группы (UID и GID), путь к домашней папке пользовтеля и путь к командной оболочки, доступной пользовтелю.
Информацию о пользовтеле в более удобном виде можно получить командой pinky -l [имя пользовтеля]
, например так:
Эта же команда без аргументов покажет всех пользователей, которые сейчас находятся в системе.
Группы пользователей
Чтобы упростить процесс настройки прав для новых пользователей, их объединяют в группы. Каждая группа имеет свой набор прав и ограничений. Любой пользователь, создаваемый или добавляемый в такую группу, автоматически их наследует. Если при добавлении пользователя для него не указать группу, то у него будет своя, индивидуальная группа — с именем пользователя. Один пользователь может одновременно входить в несколько групп.
Как вводить команды от имени суперпользователя (root
)?
Чтобы ввести команду от имени суперпользовтеля (рута), надо перед командой ввести sudo
и ввести свой пароль. Или можно стать рутом, для этого надо ввести команду su -
и ввести пароль пользователя root
(пароль при вводе не отображается из соображений безопасности). В первом случае привелегии будут повышены для конкретной команды, а во втором все последующие команды будут выполняться от имени рута
. В строке приглашения можно увидеть разницу: знак $
означает, что команда будет вводиться от имени обычного пользователя, в знак #
означает, что от имени рута.
Как создать пользователя?
Для создания пользователя надо от имени суперпользователя ввести команду useradd [имя пользователя]
, например так:
После добавления пользователя следует задать ему пароль. Это можно сделать командой passwd [имя пользователя]
.
Удалить пользователя можно командой userdel [имя пользователя]
.
Задание
- В виртуальной машине попрактиковаться в работе в терминале, создать пользователей, задать им пароль, удалить пользователей.
- Пользуясь справкой (вызывается командами
useradd --help
иuserdel --help
) создать пользователя сразу с домашним каталогом, а затем удалить пользователя вместе с его домашним каталогом. - Создать пользователя с домашним каталогом, затем используя команду
usermod
и справку поменять ему домашний каталог.