Как создать пользователя 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:
sudo useradd -p password -s /bin/bash test1
Для того чтобы получать доступ к системным ресурсам пользователю нужно быть участником групп, у которых есть доступ к этим ресурсам. Дополнительные группы пользователя задаются с помощью параметра -G. Например, разрешим пользователю читать логи, использовать cdrom и пользоваться sudo:
sudo useradd -G adm,cdrom,wheel -p password -s /bin/bash test2
Также, можно установить дату, когда аккаунт пользователя будет отключен автоматически, это может быть полезно для пользователей, которые будут работать временно:
sudo useradd -G adm,cdrom,wheel -p password -s /bin/bash -e 01:01:2018 test2
Некоторых пользователей интересует создание пользователя с правами root linux, это очень просто делается с помощью useradd, если комбинировать правильные опции. Нам всего лишь нужно разрешить создавать пользователя с неуникальным uid, установить идентификатор в 0 и идентификатор основной группы тоже в 0. Команда будет выглядеть вот так:
sudo useradd -o -u 0 -g 0 -s /bin/bash newroot
Пожалуй, это все основные примеры как добавить пользователя linux. Дальше нам осталось взглянуть только на работу в графическом интерфейсе.
Создание нового пользователя linux в GUI
В графическом интерфейсе системы создать нового пользователя linux еще проще. Рассмотрим окружение Gnome, хотя и в KDE тоже есть аналогичная функция. Войдите в главное меню и откройте параметры системы:
Затем откройте «Пользователи»:
Поскольку утилита запущена от имени обычного пользователя вы ничего не можете сделать. Поэтому нажмите кнопку «Разблокировать»:
Только после этого используйте кнопку со знаком плюс для создания нового пользователя Linux:
В открывшемся окне нужно заполнить все поля. Но тут намного больше ограничений, чем в методе через терминал. Вы не можете задать слишком простой пароль, а также нельзя настроить группы. Можно только указать будет ли пользователь включен в группу wheel с помощью выбора типа пользователя — администратор или обычный:
После этого создание пользователя linux завершено, новый пользователь появится в списке.
Выводы
В этой статье мы рассмотрели как создать пользователя linux с помощью терминала или в графическом интерфейсе системы. Оба способа имеют свои преимущества. Например, способ в терминале намного гибче, но в то же время графический способ дает больше контроля над процессом. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Вход в систему Linux
Регистрация в системе — это важный этап в работе с операционной системой. Именно на этом шаге определяются все права и разрешения, которые будут доступны в процессе работы пользователя. Так же во время регистрации в системе обозначается домашний каталог пользователя и командная оболочка, с которой пользователь будет взаимодействовать. Подробнее о том, какие параметры передаются вместе с учетными записями, можно почитать в статье: Linux. Учетные записи. Ну, а в этой статье, поговорим именно о процессе регистрации и идентификации пользователя.
Регистрация в системе.
Если в вашем дистрибутиве установлена графическая оболочка, то ,скорее всего, вы увидите одно из графических окон для ввода логина и пароля. В некоторых дистрибутивах настроен пользователь по умолчанию и вам необходимо ввести только пароль, а в некоторых случаях настраивается автоматический вход в систему при загрузке. Но, всегда можно переключиться с видеорежима в текстовый, чаще всего комбинацией клавиш Ctrl+Alt+F[1..12]. При переходе в текстовый режим, вы увидите черный экран с приглашением ввести логин. В некоторых случаях, выводится еще дополнительная информация о системе. Например, у меня это выглядит так:
CentOS Stream 8
Kernel 4.18.0-358.el8.x86_64 on an x86_64
Почему именно текстовый режим? В этом режиме отсутствует поддержка миллиона цветов, отрисовка изображений или рисование окон произвольной формы. Но, в Linux в этом режиме можно выполнять практически любые действия, кроме тех, где необходимо просматривать изображения. Кроме того, графический режим на разных дистрибутивах выглядит по разному, а вот текстовый доступен и выглядит одинаково практически во всех дистрибутивах.
Итак, перед нами экран приглашения. Первые строки обычно носят информационный характер. В моем случае, это установленный дистрибутив и, используемое ядро. Существует много вариантов и в каждом из них принят свой формат первой пригласительной строки. Хотя, почти всегда там будет указано с какой версией Linux вы работаете и, возможно, еще какие-нибудь параметры.
Второй строкой, обычно указывается имя хоста. Если у вас домашний ПК, не подключенный к локальной или глобальной сети, то это имя не имеет большого значения. Заканчивается эта строка приглашением ввести имя пользователя.
Ну вот теперь, когда мы знаем, что означают надписи на экране, попробуем зарегистрироваться в системе. В поле логин вводим имя пользователя, которое существует в системе. В правильно установленной системе должна существовать как минимум одна учетная запись для обычного пользователя. У меня это учетная запись с именем « user «. Вводим имя и нажимаем Enter.
В ответ на это система запрашивает пароль для этой учетной записи. Во время ввода пароля, на экране ничего не отображается. Это сделано для безопасности, чтобы никто не мог подглядеть его. Я ввел пароль верно, но система все равно сообщила об ошибке («Login incorrect»). Если посмотреть внимательно, то я ошибся при вводе логина, написав его с большой буквы. В Linux всегда регистр букв является важным, поэтому и получил ошибку. Повторим попытку.
На этот раз, мы удачно зарегистрировались в системе. Об этом свидетельствует последняя строка — приглашение командной строки. На вашем ПК приглашение может выглядеть по другому. Более того, вы сами можете управлять видом этой строки. Но об этом поговорим, в других статьях.
Идентификация пользователя.
Про момент, когда система выводит на экран приглашение командной строки говорят, что произошла идентификация пользователя (authentication). Вам может показаться, что ввод логина и пароля это излишняя сложность. Но для системы это единственный способ определить. кто управляет ПК. В случае доступа по сети, преимущество такого подхода очевидно. Не зарегистрированный в системе пользователь не сможет получить доступ к вашей системе, а действия зарегистрированных пользователей всегда можно отследить. Поскольку системе всегда известно, от имени какого пользователя запускаются те или иные действия.
Для тех пользователей, которым лень вводить каждый раз пароль, существует возможность получить доступ в обход идентификации. Это можно реализовать с помощью программы autologin . С помощью нее вы получаете доступ к графической оболочке системы сразу после загрузки системы. А по факту, эта программа просто запускает все процессы от имени одного пользователя. Например, я мог бы использовать свою учетную запись «user» для автоматического входа. Но здесь надо обозначить сразу несколько минусов. Во первых, вы не сможете точно определить что и кто делал в системе, потому что все будут работать под одной учетной записью. Во вторых, все личные данные становятся доступны неограниченному количеству людей. В третьих, пароль существует в любом случае, и если его не вводить каждый день, то его можно быстро забыть. При этом для доступа по сети все равно понадобиться его вводить.
Учитывая эти минусы, можно сказать, что использование утилиты autologin оправдано только в тех системах, которые не подключены к сети и физический доступ есть только у вас.
Резюме.
В этой статье поговорили о том, как зарегистрироваться в системе и как происходит последующая идентификация. Эти два процесса очень важно знать, чтобы понимать, каким образом определяются права на действия в системе.
А если Вам понравилась статья, то подписывайтесь на мой канал дзен (кнопка ниже), либо в telegramm и ВКонтакте . Так же не забудьте про мой сайт RoadIT , в котором я потихоньку собираю материал, знание которого приведет вас в мир IT.