Linux создание пользователя без прав

Содержание
  1. Полное руководство по использованию команды «useradd» в Linux — 15 практических примеров
  2. Часть I — 10 базовых примеров использования команды «useradd»
  3. 1. Как добавить нового пользователя в Linux
  4. 2. Создание пользователя с нестандартным размещением домашней директории
  5. 3. Создание пользователя с заданным User ID
  6. 4. Создание пользователя с заданным Group ID
  7. 5. Добавление пользователя в несколько групп
  8. 6. Добавление пользователя без домашней директории
  9. 7. Добавление пользовательского аккаунта с ограниченным сроком действия
  10. 8. Создание пользователя с ограниченным временем действия пароля
  11. 9. Добавление различных комментариев к учетной записи
  12. 10. Смена командной оболочки пользователя
  13. Часть II: продвинутые возможности команды useradd
  14. 11. Добавление пользователя с заданными домашней директорией, командной оболочкой и комментариями
  15. 12. Добавление пользователя с заданными домашней директорией, командной оболочкой, комментариями и UID/GID.
  16. 13. Добавление пользователя с домашней директорией, без оболочки, с комментариями и User ID
  17. 14. Добавление пользователя с домашней директорией, skeleton directory, комментариями и User ID
  18. 15. Добавление пользователя без домашней директории, без оболочки, без групп, и с комментариями
  19. Как создать пользователя Linux, который не может войти в систему
  20. Что вам нужно
  21. Как создать учетную запись Linux
  22. Как добавить пользователя в группу
  23. Как создавать пользователей в Linux (команда useradd)
  24. Команда useradd
  25. Как создать нового пользователя в Linux
  26. Как добавить нового пользователя и создать домашний каталог
  27. Создание пользователя с определенным домашним каталогом
  28. Создание пользователя с определенным идентификатором пользователя
  29. Создание пользователя с определенным идентификатором группы
  30. Создание пользователя и назначение нескольких групп
  31. Создание пользователя с определенной оболочкой входа
  32. Создание пользователя с произвольным комментарием
  33. Создание пользователя с датой истечения срока действия
  34. Создание системного пользователя
  35. Изменение значений useradd по умолчанию
  36. Выводы

Полное руководство по использованию команды «useradd» в Linux — 15 практических примеров

Все мы знаем об очень популярных в мире Linux командах «useradd» и «adduser». Время от времени администраторы системы используют их для создания пользовательских профилей с какими-либо специфическими свойствами или ограничениями.

Команда «useradd» в Linux или других системах на базе Unix — это низкоуровневая утилита, которая используется для добавления/создания пользовательского аккаунта. Команда «adduser» очень похожа на «useradd», поскольку является просто символьной ссылкой на нее.

Версии команды useradd в некоторых дистрибутивах Linux могут иметь небольшие отличия. Я полагаю, что вы прочитаете документацию своего дистрибутива, перед тем, как начнете экспериментировать.

Когда мы в терминале запускаем команду useradd, происходит следующее:

1. Она редактирует файлы /etc/passwd, /etc/shadow, /etc/group и/etc/gshadow, внося в них нового пользователя.
2. Создается и заполняется домашняя директория для нового пользователя.
3. Устанавливаются права доступа и владелец домашней директории.

Базовый синтаксис команды:

В этой статье мы покажем 15 наиболее часто встречающихся примеров использования команды useradd в Linux. Мы разделим наше повествование на две части:

Часть I: основы с 10 примерами;
Часть II: продвинутые возможности с 5 примерами.

Часть I — 10 базовых примеров использования команды «useradd»

1. Как добавить нового пользователя в Linux

Для создания/добавления нового пользователя используется команда «useradd» с аргументом «username», где username — это имя нового пользователя, которое будет использоваться для входа в систему.
За один раз можно добавить только одного пользователя, и его имя должно быть уникальным (то есть отличаться от имен других пользователей, уже существующих в системе).

Например, добавляем пользователя «techmint»:

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

После создания нового пользователя его запись автоматически добавляется в пароль «/etc/passwd» и имеет следующий вид:

Она состоит из семи разделенных двоеточием полей, каждое из которых имеет свое назначение:

Username: имя пользователя, используемое для входа в систему. Может иметь длинц от 1 до 32 символов.
Password: пользовательский пароль (или символ x), который хранится в зашифрованном виде в файле /etc/shadow.
User ID (UID): каждый пользователь должен иметь User ID (UID) — идентификатор пользователя. По умолчанию UID 0 зарезервирован для root, а UID в диапазоне 1-99 для других предопределенных аккаунтов. UID в диапазоне 100-999 предназначены для пользовательских аккаунтов и групп.
Group ID (GID): идентификатор группы — Group ID (GID), хранится в файле /etc/group file.
User Info: это опциональное поле и оно позволяет вам задать дополнительную информацию о пользователе, например полное имя. Это поле заполняется с помощью команды «finger».
Home Directory: абсолютный путь к домашней директории пользователя.
Shell: абсолютный путь к командной оболочке пользователя, например /bin/bash.

2. Создание пользователя с нестандартным размещением домашней директории

По умолчанию команда «useradd» создает домашнюю директорию пользователя в /home и называет ее именем пользователя. Поэтому, например, для приведенного выше примера, мы увидим домашнюю директорию созданного нами пользователя «tecmint» в «/home/tecmint».
Однако это действие можно изменить с помощью опции «-d», указав после нее расположение новой домашней директории. Например, приведенная ниже команда создаст пользователя «anusha» с домашней директорией «/data/projects».

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

Читайте также:  Miracast как работает windows

3. Создание пользователя с заданным User ID

В Linux каждый пользователь имеет свой собственный UID (Unique Identification Number). По умолчанию при создании нового пользователя ему присваивается userid 500, 501, 502 и т.д.
Но мы можем создать пользователя с заданным userid с помощью опции «-u». Например, приведенная ниже команда создает пользователя «navin» с userid «999».

Теперь мы можем проверить, что пользователь создан действительно с этим идентификатором.

Замечание: Обратите внимание, что user ID должен отличаться от user ID пользователей, уже существующих в системе.

4. Создание пользователя с заданным Group ID

Аналогично, каждый пользователь имеет свой GID (Group Identification Number). Мы можем создавать пользователей с заданным group ID с помощью опции -g.

В этом примере мы добавим пользователя «tarunika» с заданными UID и GID:

Проверим, правильно ли сработала команда:

5. Добавление пользователя в несколько групп

Опция «-G» используется для добавления пользователя в дополнительные группы. Названия групп разделяются запятой без пробелов.
В приведенном ниже примере мы добавляем пользователя «tecmint» в группы admins, webadmin и developer.

Теперь проверим, в каких группах числится пользователь, с помощью команды id.

6. Добавление пользователя без домашней директории

В некоторых ситуациях мы не хотим, по соображениям безопасности, давать пользователям домашние директории. В таком случае, когда пользователь авторизуется в системе сразу после ее запуска, его домашней директорией будет root. Если такой пользователь использует команду su, то он авторизуется в домашней директории предыдущего пользователя.
Для создания пользователя без домашней директории используется опция «-M». Например, создадим пользователя «shilpi» без домашней директории.

Давайте проверим, что пользователь создан без домашней директории, с помощью команды ls:

7. Добавление пользовательского аккаунта с ограниченным сроком действия

По умолчанию, когда мы добавляем пользователя с помощью команды «useradd», его аккаунт не имеет сроков действия, то есть дата истечения сроков его жизни установена в 0 (никогда не истекает).
Однако мы можем установить дату истечения с помощью опции «-e», задав дату в формате YYYY-MM-DD. Это полезно при создании временных аккаунтов для каких-то конкретных задач.
В приведенном ниже примере мы создаем пользователя «aparna» со сроком жизни его аккаунта до 27 апреля 2015 года в формате YYYY-MM-DD.

Далее, проверяем сроки действия аккаунта и пароля с помощью команды «chage».

8. Создание пользователя с ограниченным временем действия пароля

Аргумент «-f» используется для того, чтобы задать количество дней, через которое пароль перестанет действовать. По умолчанию его значение равно -1, при этом время действия пароля не ограничивается.
В примере мы задаем для пользователя «tecmint» время действия пароля 45 дней с помощью опций «-e» и «-f».

9. Добавление различных комментариев к учетной записи

Опция «-c» позволяет вам добавлять произвольные комментарии, такие как полное имя пользователя или его номер телефона, в файл /etc/passwd. Например, следующая команда добавляет пользователя «mansi» и вставляет в поле комментария его полное имя Manis Khurana.

Вы можете просмотреть комментарии в файле ‘/etc/passwd’ с помощью команды:

10. Смена командной оболочки пользователя

Иногда мы добавляем пользователей, которые никогда не работают с командными оболочкми, или могут использовать другие командные оболочки. Мы можем задать отдельную оболочку для любого пользователя с помощью опции «-s».
В примере мы добавляем пользователя «tecmint» без командной оболочки, то есть задаем оболочку «/sbin/nologin».

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

Часть II: продвинутые возможности команды useradd

11. Добавление пользователя с заданными домашней директорией, командной оболочкой и комментариями

Приведенная ниже команда создает пользователя «ravi» с домашней директорией «/var/www/tecmint», командной оболочкой «/bin/bash» и дополнительной информацией о пользователе.

В этой команде опция «-m -d» создает пользователя с заданной домашней директорией, а опция «-s» задает командную оболочку, т.е. /bin/bash. Опция «-c» добавляет дополнительную информацию о пользователе, а опция «-U» создает/добавляет группу с тем же именем, что и у пользователя.

12. Добавление пользователя с заданными домашней директорией, командной оболочкой, комментариями и UID/GID.

Эта команда очень похожа на предыдущую, но здесь мы определяем оболочку как «/bin/zsh», и задаем UID и GID для пользователя «tarunika». Здесь «-u» задает новый UID пользователя (т.е. 1000), а «-g» задает GID (т.е. 1000).

13. Добавление пользователя с домашней директорией, без оболочки, с комментариями и User ID

Следующая команда очень похожа на две предыдущие, единственное отличие в том, что мы отключаем командную оболочку для пользователя «avishek» с заданным User ID (т.е. 1019). Это значит, что пользователь «avishek» не сможет авторизоваться в системе из командной оболочки.

14. Добавление пользователя с домашней директорией, skeleton directory, комментариями и User ID

Единственное, что меняется в этой команде, мы используем опцию «-k», чтобы задать skeleton directory, то есть /etc/custom.skel, а не умолчательную /etc/skel. Мы также используем опцию «-s», чтобы задать отдельную оболочку /bin/tcsh.

15. Добавление пользователя без домашней директории, без оболочки, без групп, и с комментариями

Приведенная ниже команда отличается от показанных ранее. Здесь мы используем опцию «-M», чтобы создать пользователя без домашней директории, и «-N», чтобы создать только пользователя (без группы). Аргумент «-r» используется для создания системного пользователя.

Читайте также:  Avr doper windows driver

Источник

Как создать пользователя Linux, который не может войти в систему

По соображениям безопасности вам может потребоваться создать пользователя Linux без возможности входа. Джек Валлен покажет вам, как это сделать.

У системных администраторов Linux, бывают случаи, когда вам может понадобиться создать пользователя, который не имеет возможности войти в систему. Когда этот тип пользователя будет необходим? Скажем, например, вы должны создать пользователя для правильной работы приложения, но вы не хотите, чтобы у этого пользователя был домашний каталог или возможность входа в систему.

Безопасность. Чем больше пользователей в вашей системе Linux, тем больше шансов, что злоумышленники могут взломать ее и нанести ущерб. Это особенно верно, когда мы говорим о пользовательской учетной записи, которая не будет использоваться реальным человеком, поэтому она не будет отслеживаться никоим образом.

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

Что вам нужно

  1. Работающий экземпляр любого дистрибутива Linux
  2. Учетная запись пользователя с привилегиями sudo

Как создать учетную запись Linux

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

Первый способ требует, чтобы вы вручную сконфигурировали оболочку, чтобы пользователь не мог войти в систему. Войдите на свой сервер Linux или на рабочий стол и введите команду:

Это установит оболочку в /bin/false , поэтому пользователь nouser не сможет войти в систему. Вам будет предложено ввести и подтвердить пароль, а затем заполнить информацию для пользователя:

Следующий метод использует параметр —system следующим образом:

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

Если вам абсолютно не нужен домашний каталог для учетной записи, абсолютный самый безопасный метод — последний метод. Почему? Потому что нет пароля для учетной записи, а также нет домашнего каталога.

Как добавить пользователя в группу

Часто системные учетные записи относятся к группам. Скажем, этот пользователь должен входить в группу www-data. Для этого сначала нужно создать пользователя с помощью команды adduser , а затем добавить его в группу www-data с помощью команды:

Теперь у вас есть системная учетная запись, которая не может войти в систему, которая входит в группу www-data.

Поздравляем, теперь вы знаете, как создавать пользователей системы Linux, которые не могут войти в систему и не имеют домашнего каталога — используйте этих пользователей с умом.

Источник

Как создавать пользователей в Linux (команда useradd)

Linux — это многопользовательская система, что означает, что с одной и той же системой одновременно могут взаимодействовать несколько человек. Как системный администратор, вы обязаны управлять пользователями и группами системы, создавая и удаляя пользователей и назначая их различным группам .

В этой статье мы поговорим о том, как создавать новые учетные записи пользователей с помощью команды useradd .

Команда useradd

Общий синтаксис команды useradd следующий:

Только root или пользователи с привилегиями sudo могут использовать команду useradd для создания новых учетных записей пользователей.

При вызове useradd создает новую учетную запись пользователя в соответствии с параметрами, указанными в командной строке, и значениями по умолчанию, установленными в /etc/default/useradd .

Переменные, определенные в этом файле, различаются от дистрибутива к дистрибутиву, что приводит к тому, что команда useradd дает разные результаты в разных системах.

useradd также читает содержимое файла /etc/login.defs . Этот файл содержит конфигурацию для набора теневых паролей, например политику истечения срока действия пароля, диапазоны идентификаторов пользователей, используемых при создании системных и обычных пользователей, и многое другое.

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

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

Например, чтобы создать нового пользователя с именем username вы должны запустить:

Команда добавляет запись в /etc/passwd , /etc/shadow, /etc/group и /etc/gshadow .

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

Вам будет предложено ввести и подтвердить пароль. Убедитесь, что вы используете надежный пароль.

Как добавить нового пользователя и создать домашний каталог

В большинстве дистрибутивов Linux при создании новой учетной записи пользователя с помощью useradd домашний каталог пользователя не создается.

Используйте параметр -m ( —create-home ), чтобы создать домашний каталог пользователя как /home/username :

Приведенная выше команда создает домашний каталог нового пользователя и копирует файлы из каталога /etc/skel в домашний каталог пользователя. Если вы перечислите файлы в каталоге /home/username , вы увидите файлы инициализации:

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

Читайте также:  Доступ linux windows сети

Создание пользователя с определенным домашним каталогом

По умолчанию useradd создает домашний каталог пользователя в /home . Если вы хотите создать домашний каталог пользователя в другом месте, используйте параметр d ( —home ).

Вот пример, показывающий, как создать нового пользователя с именем username с домашним каталогом /opt/username :

Создание пользователя с определенным идентификатором пользователя

В Linux и Unix-подобных операционных системах пользователи идентифицируются по уникальному UID и имени пользователя.

Идентификатор пользователя (UID) — это уникальное положительное целое число, присваиваемое системой Linux каждому пользователю. UID и другие политики управления доступом используются для определения типов действий, которые пользователь может выполнять с системными ресурсами.

По умолчанию при создании нового пользователя система присваивает следующий доступный UID из диапазона идентификаторов пользователей, указанных в файле login.defs .

Вызовите useradd с параметром -u ( —uid ), чтобы создать пользователя с определенным UID. Например, чтобы создать нового пользователя с именем username с UID 1500 вы должны ввести:

Вы можете проверить UID пользователя, используя команду id :

Создание пользователя с определенным идентификатором группы

Группы Linux — это организационные единицы, которые используются для организации и администрирования учетных записей пользователей в Linux. Основная цель групп — определить набор привилегий, таких как разрешение на чтение, запись или выполнение для данного ресурса, которые могут быть совместно использованы пользователями внутри группы.

При создании нового пользователя по умолчанию команда useradd создает группу с тем же именем, что и имя пользователя, и тем же GID, что и UID.

Параметр -g ( —gid ) позволяет вам создать пользователя с определенной начальной группой входа в систему. Вы можете указать имя группы или номер GID. Название группы или GID уже должно существовать.

В следующем примере показано, как создать нового пользователя с именем username и настроить группу входа на тип users :

Чтобы проверить GID пользователя, используйте команду id :

Создание пользователя и назначение нескольких групп

В операционных системах Linux существует два типа групп: основная группа и дополнительная (или дополнительная) группа. Каждый пользователь может принадлежать ровно к одной основной группе и нулю или более вторичных групп.

Вы можете указать список дополнительных групп, членом которых будет пользователь, с помощью опции -G ( —groups ).

Следующая команда создает новый пользовательское имя username с первичными группами users и вторичными группами wheel и docker .

Вы можете проверить группы пользователей, набрав

Создание пользователя с определенной оболочкой входа

По умолчанию оболочка входа нового пользователя установлена на ту, которая указана в /etc/default/useradd . В некоторых дистрибутивах оболочка по умолчанию установлена в /bin/sh а в других — в /bin/bash .

Параметр -s ( —shell ) позволяет указать оболочку входа нового пользователя.

Например, чтобы создать нового пользователя с именем username с /usr/bin/zsh в качестве типа оболочки входа:

Проверьте запись пользователя в /etc/passwd чтобы проверить оболочку входа пользователя:

Создание пользователя с произвольным комментарием

Параметр -c ( —comment ) позволяет добавить краткое описание нового пользователя. Обычно в качестве комментария добавляется полное имя пользователя или контактная информация.

В следующем примере мы создаем нового пользователя с именем username с текстовой строкой Test User Account в качестве комментария:

Комментарий сохраняется в /etc/passwd :

Поле комментариев также известно как GECOS .

Создание пользователя с датой истечения срока действия

Чтобы определить время, когда истечет срок действия новых учетных записей пользователей, используйте параметр -e ( —expiredate ). Это полезно для создания временных учетных записей.

Дата должна быть указана в YYYY-MM-DD .

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

Используйте команду chage чтобы проверить дату истечения срока действия учетной записи пользователя:

Результат будет выглядеть примерно так:

Создание системного пользователя

Технической разницы между системой и обычными (обычными) пользователями нет. Обычно пользователи системы создаются при установке ОС и новых пакетов.

Используйте параметр -r ( —system ), чтобы создать системную учетную запись пользователя. Например, чтобы создать нового системного пользователя с именем username вы должны запустить:

Пользователи системы создаются без срока действия. Их UID выбираются из диапазона идентификаторов пользователей системы, указанного в файле login.defs , который отличается от диапазона, используемого для обычных пользователей.

Изменение значений useradd по умолчанию

Параметры useradd по умолчанию можно просмотреть и изменить с помощью параметра -D , —defaults или вручную отредактировав значения в /etc/default/useradd .

Чтобы просмотреть текущие параметры по умолчанию, введите:

Результат будет выглядеть примерно так:

Допустим, вы хотите изменить оболочку входа по умолчанию с /bin/sh на /bin/bash . Для этого укажите новую оболочку, как показано ниже:

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

Выводы

Мы показали вам, как создавать новые учетные записи пользователей с помощью команды useradd . Те же инструкции применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian, Fedora и Arch Linux.

useradd — это утилита низкого уровня, пользователи Debian и Ubuntu могут вместо этого использовать более удобную команду adduser .

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

Оцените статью