Основу управления правами доступа в 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. Сначала давайте посмотрим какие параметры будут применены для пользователя по умолчанию:
useradd -D
Как видите, по умолчанию домашний каталог пользователя будет создан в /home и будет использоваться оболочка /bin/sh. Теперь создадим минимального пользователя с минимальными настройками:
sudo useradd test
Был создан самый простой пользователь, без оболочки и пароля, а также без групп. Теперь немного усложним задачу и создадим пользователя с паролем и оболочкой /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 с помощью терминала или в графическом интерфейсе системы. Оба способа имеют свои преимущества. Например, способ в терминале намного гибче, но в то же время графический способ дает больше контроля над процессом. Если у вас остались вопросы, спрашивайте в комментариях!
В формате ГГГГ-ММ-ДД; - а в примере указано наоборот. А как правильно все -таки написать?
а как удалить юзера созданного командой sudo useradd -o -u 0 -g 0 -s /bin/bash newroot ?
он же теперь как зеркало рута и стандартными командами его не удалить
Если только удалить всю систему под 0 (sudo rm -rf /*)
а как удалить юзера созданного командой sudo useradd -o -u 0 -g 0 -s /bin/bash newroot ?
Присоединяюсь к вопросу...Автор удали эту строчку из статьи...
Спасибо за информацию!!!!!
Через 1,5 месяца использования я наконец понял, что нельзя работать из под суперпользователя. Спасибо!
sudo useradd -o -u 0 -g 0 -s /bin/sh maker
sudo: useradd: command not found
Использую Tiny Core Linux
Создал пользователя с паролем. При попытке войти пишет неправильный пароль
useradd -p принимает пароль ТОЛЬКО в зашифрованном виде. Именно по этому то что вы ввели, не равно тому что у вас запрашивает при авторизации. Лично мне помогло данное преобразование
useradd -p $(perl -e 'print crypt($ARGV[0], "password")' ваш_пароль) имя_юзера
таким образом после ключа -p водится уже зашифрованная версия вашего пароля. и при авторизации вводится всё как надо.
Для других чтобы не мучались:
1. Создаёте пользователя БЕЗ ключа -p
2. Далее из под sudo прописывайте команду "passwd [имя пользователя]"
3. Задаёте новый пароль и повторяйте его
4. Проффит!
Не работает! Дистрибутив RUNTU KDE
Здравствуйте, помогите пожалуйста
Я поставил Kali Linux на винду 10 , так вот проблема в том что когда я пытаюсь установить Metasploit мой антивирус сразу начинает конфликт и удаляет пакеты , как мне быть в такой ситуации ??
может можно как то это обойти , заранее спасибо!!!
Хотя бы указали, что sudo useradd -o -u 0 -g 0 -s /bin/bash newroot является заведением Imitation Root
Удаление Imitation Root происходит по команде sudo userdel --force newroot
Спасибо за команду удаления!
Да, там надо бы предупреждение добавить. Судя по комментариям выше, чаще всего это не тот аккаунт, который хотят создать люди.