Основы Linux от основателя Gentoo. Часть 3 (3/4): Управление аккаунтами в Linux

Как создать пользователя Linux

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

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

Создание пользователя в Linux

Вся информация о пользователях находится в файле /etc/passwd. Мы могли бы создать пользователя linux просто добавив его туда, но так делать не следует, поскольку для этой задачи существуют специальные утилиты. Одна из таких утилит, это useradd. Рассмотрим ее подробнее.

Команда useradd

Это довольно простая команда, которая есть во всех дистрибутивах Linux. Она позволяет зарегистрировать нового пользователя или изменить информацию об уже имеющемся. Во время создания можно даже создать домашний каталог пользователя и скопировать в него системные файлы. Рассмотрим синтаксис команды:

$ useradd
опции
имя_пользователя

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

  • -b
    — базовый каталог для размещения домашнего каталога пользователя, по умолчанию /home;
  • -c
    — комментарий к учетной записи;
  • -d
    — домашний каталог, в котором будут размещаться файлы пользователя;
  • -e
    — дата, когда учетная запись пользователя будет заблокирована, в формате ГГГГ-ММ-ДД;
  • -f
    — заблокировать учетную запись сразу после создания;
  • -g
    — основная группа пользователя;
  • -G
    — список дополнительных групп;
  • -k
    — каталог с шаблонами конфигурационных файлов;
  • -l
    — не сохранять информацию о входах пользователя в lastlog и faillog;
  • -m
    — создавать домашний каталог пользователя, если он не существует;
  • -M
    — не создавать домашнюю папку;
  • -N
    — не создавать группу с именем пользователя;
  • -o
    — разрешить создание пользователя linux с неуникальным идентификатором UID;
  • -p
    — задать пароль пользователя;
  • -r
    — создать системного пользователя, не имеет оболочки входа, без домашней директории и с идентификатором до SYS_UID_MAX;
  • -s
    — командная оболочка для пользователя;
  • -u
    — идентификатор для пользователя;
  • -D
    — отобразить параметры, которые используются по умолчанию для создания пользователя. Если вместе с этой опцией задать еще какой-либо параметр, то его значение по умолчанию будет переопределено.

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

Как видите, по умолчанию домашний каталог пользователя будет создан в /home и будет использоваться оболочка /bin/sh. Теперь создадим минимального пользователя с минимальными настройками:

Был создан самый простой пользователь, без оболочки и пароля, а также без групп. Теперь немного усложним задачу и создадим пользователя с паролем и оболочкой /bin/bash:

Для того чтобы получать доступ к системным ресурсам пользователю нужно быть участником групп, у которых есть доступ к этим ресурсам. Дополнительные группы пользователя задаются с помощью параметра -G. Например, разрешим пользователю читать логи, использовать cdrom и пользоваться sudo:

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

Некоторых пользователей интересует создание пользователя с правами root linux, это очень просто делается с помощью useradd, если комбинировать правильные опции. Нам всего лишь нужно разрешить создавать пользователя с неуникальным uid, установить идентификатор в 0 и идентификатор основной группы тоже в 0. Команда будет выглядеть вот так:

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

Создание нового пользователя linux в GUI

В графическом интерфейсе системы создать нового пользователя linux еще проще. Рассмотрим окружение Gnome, хотя и в KDE тоже есть аналогичная функция. Войдите в главное меню и откройте параметры системы:

Затем откройте «Пользователи»
:

Поскольку утилита запущена от имени обычного пользователя вы ничего не можете сделать. Поэтому нажмите кнопку «Разблокировать»
:

Только после этого используйте кнопку со знаком плюс для создания нового пользователя Linux:

В открывшемся окне нужно заполнить все поля. Но тут намного больше ограничений, чем в методе через терминал. Вы не можете задать слишком простой пароль, а также нельзя настроить группы. Можно только указать будет ли пользователь включен в группу wheel с помощью выбора типа пользователя — администратор или обычный:

После этого создание пользователя linux завершено, новый пользователь появится в списке.

Выводы

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

20 626 views
| 2 Comments

Debian, VPS

Управление пользователями – один из самых важных базовых навыков при работе с сервером Linux. Как правило, в свежей системе есть только пользователь root. Этот пользователь имеет права администратора системы, и его привилегиями можно выполнить любую задачу. Однако использовать root для постоянной работы очень опасно: имея такие широкие привилегии, можно случайно нанести системе непоправимый вред. Потому рекомендуется создать дополнительного пользователя для рутинной работы. Расширить привилегии обычного пользователя можно с помощью механизма sudo.

Данное руководство научит вас создавать и удалять учётные записи пользователей, а также передавать им доступ к sudo.

Добавление пользователя

Войдите в систему как пользователь root и создайте нового пользователя с помощью команды:

adduser 8host

Находясь в сессии не- root пользователя с доступом sudo, можно добавить нового пользователя с помощью команды:

sudo adduser 8host

Читайте также
: Начальная настройка сервера Debian 8

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

После этого команда предложит подтвердить указанную информацию о пользователе. Чтобы продолжить, введите Y. В целом этот процесс выглядит так:

Adding user `8host
' ...
Adding new group `8host
' (1001) ...
Adding new user `8host
' (1001) with group `8host' ...
Creating home directory `/home/8host' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for 8host
Enter the new value, or press ENTER for the default
Full Name []:8host Demo

Room Number []: 123

Work Phone []: 123-123-123

Home Phone []:
Other []:
Is the information correct? [Y/n] y

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

Настройка прав доступа к sudo

Чтобы иметь возможность использовать новый аккаунт для выполнения задач администратора, нужно разрешить пользователю доступ к команде sudo. Это можно сделать двумя способами:

  1. Добавить пользователя в группу sudo
  2. Отредактировать настройки sudo в конфигурационном файле.

Добавление пользователя в группу sudo

В системе Debian 8 все пользователи, входящие в группу sudo, по умолчанию имеют доступ к команде sudo.

Чтобы узнать, в какие группы входит новый пользователь, введите:

groups 8host
8host : 8host

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

usermod -aG sudo 8host

Команда usermod с флагом –aG добавляет пользователя в перечисленные группы.

Теперь нужно убедиться, что новый пользователь входит в группу sudo.

groups 8host
8host : 8host sudo

Теперь у пользователя есть права администратора.

Чтобы выполнить команду с правами обычного пользователя, достаточно просто ввести эту команду:

ls ~

Чтобы выполнить команду с расширенными привилегиями, нужно добавить sudo:

sudo ls /root

При этом система запросит пароль текущего пользователя.

Редактирование файла /etc/sudoers

Альтернативный способ расширить привилегии пользователя – отредактировать файл sudoers. Для этого используется команда visudo которая позволяет открыть файл /etc/sudoers в редакторе по умолчанию и явно указать привилегии каждого системного пользователя.

Важно! Редактировать файл sudoers рекомендуется исключительно при помощи visudo, поскольку эта команда блокирует внесение нескольких одновременных правок и выполняет проверку содержания перед перезаписью файла. Это предотвращает ошибки в настройке sudo, которые могут повлечь за собой потерю привилегий.

Если вы находитесь в сессии root, введите:

visudo

В сессии обычного пользователя с доступом к sudo введите:

sudo visudo

Как правило, visudo открывает /etc/sudoers в редакторе vi, который может показаться сложным для новичков. По умолчанию в новых установках Debian visudo использует более простой редактор nano. Для перемещения курсора используйте клавиши со стрелками. Найдите строку:

root    ALL=(ALL:ALL) ALL

Скопируйте эту строку и вставьте её ниже, заменив root именем пользователя, которому нужно передать права суперпользователя.

root    ALL=(ALL:ALL) ALL
8host   ALL=(ALL:ALL) ALL

Добавьте такую строку для каждого пользователя, которому нужны расширенные привилегии. Сохраните и закройте файл (Ctrl-X, Y, Enter).

Удаление пользователей

Если пользователь больше не используется, его нужно удалить.

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

# как root
deluser 8host
# как обычный пользователь с расширенными привилегиями:
sudo deluser 8host

Чтобы удалить пользователя вместе с его домашним каталогом, введите:

# как root
deluser --remove-home 8host
# как обычный пользователь с расширенными привилегиями:
sudo deluser --remove-home 8host

Если удалённый пользователь обладал правами суперпользователя, необходимо отнять эти права, отредактировав файл /etc/sudoers:

visudo

или

sudo visudo
root    ALL=(ALL:ALL) ALL
8host   ALL=(ALL:ALL) ALL   # удалите эту строку

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

Заключение

Управление пользователями – необходимый навык при администрировании сервера Debian 8. Теперь вы можете отделить пользователей и дать им только необходимый для работы доступ.

Читайте
также
: Редактирование файла sudoers

Tags: Debian 8

Ссылка на основную публикацию