15 полезных команд Useradd с примерами в Linux
Мы все знаем о самых популярных командах Linux под названием «useradd» или «adduser». Бывают случаи, когда системного администратора Linux просят создать учетные записи пользователей в Linux с определенными свойствами, ограничениями или комментариями.
В Linux команда «useradd» представляет собой утилиту низкого уровня, используемую для добавления или создания учетных записей пользователей в Linux и других Unix-подобных операционных системах. Команда «adduser» очень похожа на команду «useradd», поскольку это всего лишь символическая ссылка на нее.
В некоторых дистрибутивах Linux команда «useradd» может иметь немного другую версию. Я предлагаю прочитать вашу документацию, прежде чем использовать наши инструкции по созданию новых учетных записей пользователей в Linux.
Когда мы запускаем команду «useradd» в терминале Linux, она выполняет следующие основные задачи:
- Он редактирует /etc/passwd, /etc/shadow, /etc/group и /etc/gshadow. файлы для вновь созданных учетных записей пользователей.
- Создает и заполняет домашний каталог для нового пользователя.
- Устанавливает разрешения и права собственности на домашний каталог.
Синтаксис команды добавления пользователя
Основной синтаксис команды «useradd»:
useradd [options] username
В этой статье мы продемонстрируем 15 наиболее часто используемых команд «useradd» на практических примерах в Linux.
1. Как добавить нового пользователя в Linux
Чтобы добавить или создать нового пользователя, вам необходимо использовать команду «useradd» или «adduser», за которой следует «имя пользователя». «имя пользователя» — это имя пользователя, которое пользователь использует для входа в систему.
Можно добавить только одного пользователя, имя пользователя должно быть уникальным и не существовать в системе.
Например, чтобы добавить нового пользователя с именем «tecmint», используйте следующую команду:
useradd tecmint
Когда мы добавляем нового пользователя в Linux с помощью команды «useradd», он создается в заблокированном состоянии. Чтобы разблокировать эту учетную запись пользователя, нам нужно установить пароль для этой учетной записи с помощью команды «passwd».
passwd tecmint
Changing password for user tecmint.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
После создания нового пользователя его запись автоматически добавляется в файл «/etc/passwd». Этот файл используется для хранения информации пользователя, и запись должна быть.
tecmint:x:1000:1000:tecmint:/home/tecmint:/bin/bash
Приведенная выше запись содержит набор из семи полей, разделенных двоеточиями, каждое поле имеет свое собственное значение.
Давайте посмотрим, что это за поля:
- Имя пользователя – имя пользователя используется для входа в систему. Его длина должна составлять от 1 до 32 символов.
- Пароль – пароль пользователя (или символ
'x'
) хранится в файле «/etc/shadow» в зашифрованном формате. - Идентификатор пользователя (UID). Каждый пользователь должен иметь идентификатор пользователя (UID), который означает Идентификатор пользователя. По умолчанию UID 0 зарезервирован для пользователя root, а UID в диапазоне от 1 до 99 зарезервированы для других предопределенных учетных записей. Кроме того, для системных учетных записей и групп зарезервированы UID в диапазоне от 100 до 999.
- Идентификатор группы (GID) – основной идентификатор группы (GID), который означает Идентификационный номер группы, хранится в файле ' /etc/group».
- Информация о пользователе. Это поле является необязательным и позволяет указать дополнительную информацию о пользователе, например полное имя пользователя. Эту информацию можно заполнить с помощью пальцевой команды.
- Домашний каталог – абсолютное местоположение домашнего каталога пользователя.
- Shell – абсолютное местоположение пользовательской оболочки, т. е. /bin/bash.
2. Как создать пользователя с другим домашним каталогом
По умолчанию команда «useradd» создает домашний каталог пользователя в каталоге «/home» с именем пользователя. Например, как показано выше, домашний каталог по умолчанию для пользователя «tecmint» — «/home/tecmint».
Однако это поведение можно изменить, используя параметр '-d'
вместе с указанием местоположения нового домашнего каталога (например, «/data/projects»). Например, следующая команда создаст пользователя «anusha» с домашним каталогом «/data/projects».
useradd -d /data/projects anusha
passwd anusha
Вы можете просмотреть домашний каталог пользователя и другую информацию, связанную с пользователем, такую как идентификатор пользователя, идентификатор группы, оболочку и комментарии, используя следующую команду cat.
cat /etc/passwd | grep anusha
anusha:x:1001:1001::/data/projects:/bin/bash
3. Как создать пользователя с определенным идентификатором пользователя
В Linux каждый пользователь имеет свой UID (уникальный идентификационный номер). По умолчанию, когда мы создаем новую учетную запись пользователя в Linux, ей присваиваются идентификаторы пользователя 500, 501, 502 и так далее.
Однако мы можем создавать пользователей с собственными идентификаторами пользователей, используя параметр '-u'
. Например, следующая команда создаст пользователя «navin» с пользовательским идентификатором «1002».
useradd -u 1002 navin
Теперь давайте проверим, что пользователь создан с определенным идентификатором пользователя (1002), используя следующую команду.
cat /etc/passwd | grep navin
navin:x:1002:1002::/home/navin:/bin/bash
ПРИМЕЧАНИЕ. Убедитесь, что значение идентификатора пользователя должно быть уникальным среди всех других, уже созданных пользователей в системе.
4. Как создать пользователя с определенным идентификатором группы
Аналогично, каждый пользователь имеет свой собственный GID (Идентификатор группы). Мы также можем создавать пользователей с определенными идентификаторами групп, используя опцию '-g'
.
В этом примере мы добавим пользователя «tarunika» с определенными UID и GID одновременно с помощью '- опции u'
и '-g'
.
useradd -u 1005 -g tecmint tarunika
Теперь проверьте назначенный идентификатор пользователя и идентификатор группы в файле /etc/passwd.
cat /etc/passwd | grep tarunika
tarunika:x:1005:1000::/home/tarunika:/bin/bash
Чтобы проверить GID пользователя, используйте команду id:
id -gn tarunika
5. Как добавить пользователя в несколько групп
Опция '-G'
используется для добавления пользователя в дополнительные группы. Имя каждой группы отделяется запятой без пробелов.
В этом примере мы добавляем пользователя «tecmint» в несколько групп, таких как администраторы, webadmin и разработчики . .
groupadd admins
groupadd webadmin
groupadd developers
usermod -a -G admins,webadmin,developers tecmint
useradd -G admins,webadmin,developers paddy
Затем убедитесь, что пользователю назначены несколько групп с помощью команды id.
id tecmint
uid=1000(tecmint) gid=1000(tecmint)
groups=1000(tecmint),1007(admins),1008(webadmin),1009(developers)
context=root:system_r:unconfined_t:SystemLow-SystemHigh
6. Как добавить пользователя без домашнего каталога
В определенных ситуациях, когда мы не хотим назначать домашние каталоги для пользователя по соображениям безопасности, домашний каталог пользователя будет корневым, когда он входит в систему, которая только что перезапустилась. Когда такой пользователь использует команду «su», его каталогом входа в систему будет домашний каталог предыдущего пользователя.
Чтобы создать пользователей без их домашних каталогов, используется опция '-M'
. Например, следующая команда создаст пользователя «shilpi» без домашнего каталога.
useradd -M shilpi
Теперь давайте проверим, что пользователь создан без домашнего каталога с помощью команды ls.
ls -l /home/shilpi
ls: cannot access /home/shilpi: No such file or directory
7. Как создать пользователя с датой истечения срока действия в Linux
По умолчанию, когда мы добавляем пользователей с помощью команды «useradd», срок действия учетной записи пользователя никогда не истекает, то есть дата истечения срока действия устанавливается на 0 (что означает, что срок действия никогда не истекает).
Однако мы можем установить дату истечения срока действия с помощью параметра '-e'
, который должен быть в формате ГГГГ-ММ-ДД. Это полезно для создания временных учетных записей на определенный период времени.
В этом примере мы создаем пользователя «aparna» с датой истечения срока действия учетной записи 27 августа 2021 г. в формате ГГГГ-ММ-ДД. > формат.
useradd -e 2021-08-27 aparna
Затем проверьте информацию об устаревании учетной записи и пароля с помощью команды «chage» для пользователя «aparna» после установки даты истечения срока действия учетной записи.
chage -l aparna
Last password change : Jun 25, 2021
Password expires : never
Password inactive : never
Account expires : Aug 27, 2021
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
8. Как создать пользователя со сроком действия пароля
Аргумент '-f'
используется для определения количества дней после истечения срока действия пароля. Значение 0 деактивирует учетную запись пользователя, как только истечет срок действия пароля. По умолчанию срок действия пароля установлен на -1
, что означает, что срок его действия никогда не истекает.
В этом примере мы установим дату истечения срока действия пароля учетной записи, которая составляет 45 дней, для пользователя «mansi», используя '-e'
и '-f'
.
useradd -e 2014-04-27 -f 45 mansi
9. Как добавить пользователя с комментариями в Linux
Параметр '-c'
позволяет добавлять пользовательские комментарии, такие как полное имя пользователя, номер телефона и т. д., в файл «/etc/passwd». Комментарий можно добавить в одну строку без пробелов.
Например, следующая команда добавит пользователя «манси» и вставит полное имя этого пользователя, Манис Хурана, в поле комментария.
useradd -c "Manis Khurana" mansi
Вы можете просмотреть вставленный комментарий в файле «/etc/passwd» в разделе комментариев с помощью команды Tail.
tail -1 /etc/passwd
mansi:x:1010:1013:Manis Khurana:/home/mansi:/bin/sh
10. Как создать оболочку входа пользователя в Linux
Иногда мы добавляем пользователей, которые не имеют никакого отношения к оболочке входа в систему, или иногда нам приходится назначать нашим пользователям разные оболочки. Мы можем назначить разные оболочки входа для каждого пользователя с помощью опции «-s».
В этом примере будет добавлен пользователь «tecmint» без оболочки входа, т. е. оболочки «/sbin/nologin».
useradd -s /sbin/nologin tecmint
Вы можете проверить назначенную пользователю оболочку в файле «/etc/passwd».
tail -1 /etc/passwd
tecmint:x:1011:1014::/home/tecmint:/sbin/nologin
11. Как создать пользователя с указанным домом, оболочкой и комментарием
Следующая команда создаст пользователя «ravi» с домашним каталогом «/var/www/tecmint», оболочкой по умолчанию /bin/bash . и дополнительную информацию о пользователе.
useradd -m -d /var/www/ravi -s /bin/bash -c "TecMint Owner" -U ravi
В приведенной выше команде параметры '-m'
и '-d'
создают пользователя с указанным домашним каталогом, а '-s'
устанавливает оболочку пользователя по умолчанию /bin/bash. Параметр '-c'
добавляет дополнительную информацию о пользователе, а аргумент '-U'
создает/добавляет группу с тем же именем, что и у пользователя.
12. Как создать пользователя с определенным домом, оболочкой, комментарием, UID/GID
Команда очень похожа на приведенную выше, но здесь мы определяем оболочку как «/bin/zsh» и устанавливаем собственные UID и GID. для пользователя «таруника». Параметр '-u'
определяет UID нового пользователя (т. е. 100), а параметр '-g'
определяет GID (т. е. , 1000).
useradd -m -d /var/www/tarunika -s /bin/zsh -c "TecMint Technical Writer" -u 1000 -g 100 tarunika
13. Как создать пользователя с Home, без оболочки, комментариями и UID
Следующая команда очень похожа на две предыдущие команды. Единственное отличие состоит в том, что здесь мы отключили оболочку входа в систему для пользователя с именем «avishek» с собственным идентификатором пользователя (т. е. 1019).
Опция '-s'
устанавливает оболочку по умолчанию /bin/bash, но в этом случае мы устанавливаем оболочку входа в систему '/usr/sbin/ nologin'. Это означает, что пользователь «авишек» не сможет войти в систему.
useradd -m -d /var/www/avishek -s /usr/sbin/nologin -c "TecMint Sr. Technical Writer" -u 1019 avishek
14. Как создать пользователя с указанным домом, оболочкой, скелетом и UID
Единственное изменение в этой команде заключается в том, что мы использовали параметр '-k'
, чтобы установить каталог пользовательского скелета /etc/custom.skell вместо каталога по умолчанию, < Strong>/etc/skel. Мы также использовали параметр '-s'
, чтобы определить другую оболочку, /bin/tcsh, для пользователя «navin».
useradd -m -d /var/www/navin -k /etc/custom.skell -s /bin/tcsh -c "No Active Member of TecMint" -u 1027 navin
15. Как создать пользователя без дома, оболочки или группы, с комментарием
Следующая команда сильно отличается от других команд, описанных выше. Здесь мы использовали параметр '-M'
для создания пользователя без домашнего каталога пользователя, а параметр '-N'
используется для указания системе создавать только имя пользователя (без группы). Параметр '-r'
предназначен для создания системного пользователя.
useradd -M -N -r -s /bin/false -c "Disabled TecMint Member" clayton
Для получения дополнительной информации и опций о «useradd» запустите команду «useradd» в терминале, чтобы просмотреть доступные параметры.
useradd
Если вы хотите изменить атрибуты учетной записи пользователя, например изменить имя пользователя, идентификатор пользователя (UID), домашний каталог, оболочку и т. д., используйте команду usermod.