- 15 полезных команд Useradd с примерами в Linux
- 2. Создайте пользователя с другим домашним каталогом
- 3. Создайте пользователя с определенным идентификатором пользователя
- 4. Создайте пользователя с определенным идентификатором группы
- 5. Добавьте пользователя в несколько групп
- 6. Добавьте пользователя без домашнего каталога
- 7. Создайте пользователя с датой истечения срока действия учетной записи
- 8. Создайте пользователя с датой истечения срока действия пароля
- 9. Добавьте пользователя с пользовательскими комментариями
- 10. Создайте оболочку входа пользователя в Linux
- 11. Добавьте пользователя с определенным домашним каталогом, оболочкой по умолчанию и пользовательским комментарием.
- 12. Добавьте пользователя с домашним каталогом, пользовательской оболочкой, пользовательским комментарием и UID/GID.
- 13. Добавьте пользователя с домашним каталогом, без оболочки, пользовательским комментарием и идентификатором пользователя.
- 14. Добавьте пользователя с домашним каталогом, оболочкой, пользовательским скелетом/комментарием и идентификатором пользователя.
- 15. Добавьте пользователя без домашнего каталога, без оболочки, без группы и пользовательского комментария.
- Доступ пользователей в vsftpd без доступа к shell (/bin/false)
15 полезных команд Useradd с примерами в Linux
Мы все знаем о самой популярной команде под названием «useradd» или «adduser» в Linux. Бывают случаи, когда системного администратора Linux просят создать учетные записи пользователей в Linux с некоторыми специфическими свойствами, ограничениями или комментариями.
[Вам также может понравиться: Как создать общий каталог для всех пользователей в Linux]
В Linux команда useradd — это низкоуровневая утилита, которая используется для добавления/создания учетных записей пользователей в Linux и других Unix-подобных. > операционные системы. Команда «adduser» очень похожа на команду useradd, потому что это просто символическая ссылка на нее.
В некоторых других дистрибутивах Linux команда useradd может иметь немного другую версию. Я предлагаю вам прочитать документацию, прежде чем использовать наши инструкции по созданию новых учетных записей пользователей в Linux.
Когда мы запускаем команду «useradd» в терминале Linux, она выполняет следующие основные действия:
- Редактирует /etc/passwd, /etc/shadow, /etc/group и /etc/gshadow
- Информация о пользователе. Это поле является необязательным и позволяет указать дополнительную информацию о пользователе. Например, полное имя пользователя. Это поле заполняется командой «finger».
- Домашний каталог: абсолютное местоположение домашнего каталога пользователя.
- Оболочка: абсолютное расположение оболочки пользователя, т. е. /bin/bash.
2. Создайте пользователя с другим домашним каталогом
По умолчанию команда useradd создает домашний каталог пользователя в каталоге /home с именем пользователя. Так, например, выше мы видели, что домашний каталог по умолчанию для пользователя «tecmint» — это «/home/tecmint».
Однако это действие можно изменить, используя параметр -d вместе с расположением нового домашнего каталога (например, /data/projects). Например, следующая команда создаст пользователя anusha с домашним каталогом /data/projects.
[ ~]# useradd -d /data/projects anusha [ ~]# passwd anusha
Вы можете увидеть домашний каталог пользователя и другую информацию, связанную с пользователем, такую как идентификатор пользователя, идентификатор группы, оболочку и комментарии.
[ ~]# cat /etc/passwd | grep anusha anusha:x:1001:1001::/data/projects:/bin/bash
3. Создайте пользователя с определенным идентификатором пользователя
В Linux у каждого пользователя есть собственный UID (уникальный идентификационный номер). По умолчанию всякий раз, когда мы создаем новую учетную запись пользователя в Linux, она назначает идентификатор пользователя 500, 501, 502, и так далее…
Но мы можем создавать пользователей с собственным идентификатором пользователя с помощью параметра «-u». Например, следующая команда создаст пользователя navin с пользовательским идентификатором 1002.
Теперь давайте проверим, что пользователь создан с определенным идентификатором пользователя (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:
5. Добавьте пользователя в несколько групп
Параметр -G используется для добавления пользователя в дополнительные группы. Каждое имя группы отделяется запятой без пробелов.
В этом примере мы добавляем пользователя tecmint в несколько групп, таких как admins, 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
[Вам также может понравиться: Как добавить или удалить пользователя из группы в Linux]
6. Добавьте пользователя без домашнего каталога
В некоторых ситуациях, когда мы не хотим назначать домашние каталоги пользователю по соображениям безопасности. В такой ситуации, когда пользователь входит в только что перезапущенную систему, его домашний каталог будет корневым. Когда такой пользователь использует команду su, его каталог входа в систему будет домашним каталогом предыдущего пользователя.
Для создания пользователей без их домашних каталогов используется ‘-M’. Например, следующая команда создаст пользователя shilpi без домашнего каталога.
Теперь давайте проверим, что пользователь создан без домашнего каталога, используя команду ls.
[ ~]# ls -l /home/shilpi ls: cannot access /home/shilpi: No such file or directory
7. Создайте пользователя с датой истечения срока действия учетной записи
По умолчанию, когда мы добавляем пользователя с помощью команды «useradd», срок действия учетной записи пользователя никогда не истекает, т. е. срок его действия устанавливается равным 0 (что означает, что он никогда не истекает).
Однако мы можем установить дату истечения срока действия с помощью параметра «-e», который задает дату в формате ГГГГ-ММ-ДД. Это полезно для создания временных учетных записей на определенный период времени.
[ Вам также может понравиться: Как управлять сроком действия и устареванием пароля пользователя в Linux]
В этом примере мы создаем пользователя 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. Добавьте пользователя с пользовательскими комментариями
Параметр ‘-c‘ позволяет добавлять собственные комментарии, такие как полное имя пользователя, номер телефона и т. д., в / etc/passwd. Комментарий можно добавить одной строкой без пробелов.
Например, следующая команда добавит пользователя mansi и вставит полное имя этого пользователя Manis Khurana в поле комментария.
[ ~]# useradd -c "Manis Khurana" mansi
Вы можете увидеть свои комментарии в файле ‘/etc/passwd’ в разделе комментариев.
[ ~]# 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. Добавьте пользователя с домашним каталогом, без оболочки, пользовательским комментарием и идентификатором пользователя.
Следующая команда очень похожа на две приведенные выше команды, с той лишь разницей, что мы отключили оболочку входа в систему для пользователя с именем «avishek» с собственным идентификатором пользователя . (например, 1019).
Здесь параметр ‘-s‘ добавляет оболочку по умолчанию /bin/bash, но в этом случае мы устанавливаем логин ‘/usr/sbin/nologin‘. Это означает, что пользователь avishek не сможет войти в систему.
[ ~]# useradd -m -d /var/www/avishek -s /usr/sbin/nologin -c "TecMint Sr. Technical Writer" -u 1019 avishek
14. Добавьте пользователя с домашним каталогом, оболочкой, пользовательским скелетом/комментарием и идентификатором пользователя.
Единственное изменение в этой команде заключается в том, что мы использовали параметр ‘-k‘ для установки пользовательского каталога скелета, т. е. /etc/custom.skell, а не каталога по умолчанию >/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» на терминале, чтобы просмотреть доступные параметры.
[Вам также может понравиться: 15 полезных примеров команд Usermod в Linux]
Доступ пользователей в vsftpd без доступа к shell (/bin/false)
Для обеспечения большей безопасности FTP-сервера VSFTPD (как установить можно почитать тут), запретим пользователям доступ к Shell (/bin/false).
Создание нового пользователя без доступа к Shell (/bin/false):
sudo useradd username -b /home -m -s /bin/false
Где:
username — имя пользователя.
ключ -b — Директория где будет находиться его домашний каталог
ключ -m — Создание домашнего каталога одноименного с названием username.
ключ -s /bin/false — Указываем что пользователю будет отключен Shell
Задаем пароль для созданного пользователя:
Если необходимо отключить Shell уже существующему пользователю, то открываем файл /etc/passwd:
Находим нужного пользователя и меняем /bin/bash на /bin/false. Сохраняем изменения и при следующей авторизации пользователя на FTP будут без доступа к Shell.
По-умолчанию VSFTPD настроен так что доступ к FTP могут получить пользователи у которых включен Shell (т.е. /bin/bash), а пользователи у которых отключен Shell (т.е. /bin/fasle) VSFTPD не смогут авторизоваться на FTP-сервере.
Для того чтобы VSFTPD авторизовал пользователя с отключенным Shell (/bin/fasle) необходимо отредактировать файл /etc/pam.d/vsftpd
auth required pam_shells.so
#auth required pam_shells.so
Перезапускаем VSFTPD
sudo service vsftpd restart
Теперь пользователи с отключенным Shell (/bin/fasle), будут успешно авторизоваться на FTP-сервере. А мы в свою очередь получаем дополнительный плюс к безопасности.
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА