- Руководство по использованию команды “useradd” в Linux
- Создание
- 1. Как добавить нового пользователя в Linux
- 2. Создание пользователя с нестандартным размещением домашней директории
- 3. Создание пользователя с заданным User ID
- 4. Создание пользователя с заданным Group ID
- 5. Добавление пользователя в несколько групп
- 6. Добавление пользователя без домашней директории
- 7. Добавление пользовательского аккаунта с ограниченным сроком действия
- 8. Создание пользователя с ограниченным временем действия пароля
- Ключи (опции)
- Редактирование
- Как создать пользователя Linux, который не может войти в систему
- Что вам нужно
- Как создать учетную запись Linux
- Как добавить пользователя в группу
Руководство по использованию команды “useradd” в Linux
В этом руководстве показано, как создавать пользователей в Linux с помощью командной строки.
Хотя многие настольные Linux-дистрибутивы представляют собой графический инструмент для создания пользователей, у вас есть хорошая возможность, чтобы узнать, как это сделать из командной строки, чтобы вы могли передавать свои навыки из одного дистрибутива другому без изучения новых пользовательских интерфейсов.
Создание
* опции не являются обязательными при создании пользователя.
* в данном примере создается учетная запись dmosk.
Для учетной записи стоит сразу создать пароль:
* после ввода, система попросит ввести пароль дважды.
1. Как добавить нового пользователя в Linux
Для создания/добавления нового пользователя используется команда “useradd” с аргументом “username”, где username – это имя нового пользователя, которое будет использоваться для входа в систему.
За один раз можно добавить только одного пользователя, и его имя должно быть уникальным (то есть отличаться от имен других пользователей, уже существующих в системе).
Например, добавляем пользователя “techmint”:
[root@tecmint ~]# useradd tecmint
После выполнения данной команды, новый пользователь будет создан в заблокированном состоянии. Чтобы разблокировать пользовательский аккаунт, необходимо задать его пароль с помощью команды “passwd”.
[root@tecmint ~]# passwd tecmint Changing password for user tecmint. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.
После создания нового пользователя его запись автоматически добавляется в пароль “/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”.
[root@tecmint ~]# useradd -d /data/projects anusha
Вы можете просмотреть расположение домашней директории пользователя, а также другую информацию о нем:
[root@tecmint ~]# cat /etc/passwd | grep anusha anusha:x:505:505::/data/projects:/bin/bash
3. Создание пользователя с заданным User ID
В Linux каждый пользователь имеет свой собственный UID (Unique Identification Number). По умолчанию при создании нового пользователя ему присваивается userid 500, 501, 502 и т.д.
Но мы можем создать пользователя с заданным userid с помощью опции “-u”. Например, приведенная ниже команда создает пользователя “navin” с userid “999”.
[root@tecmint ~]# useradd -u 999 navin
Теперь мы можем проверить, что пользователь создан действительно с этим идентификатором.
[root@tecmint ~]# cat /etc/passwd | grep tecmint navin:x:999:999::/home/navin:/bin/bash
Замечание: Обратите внимание, что user ID должен отличаться от user ID пользователей, уже существующих в системе.
4. Создание пользователя с заданным Group ID
Аналогично, каждый пользователь имеет свой GID (Group Identification Number). Мы можем создавать пользователей с заданным group ID с помощью опции -g.
В этом примере мы добавим пользователя “tarunika” с заданными UID и GID:
[root@tecmint ~]# useradd -u 1000 -g 500 tarunika
Проверим, правильно ли сработала команда:
[root@tecmint ~]# cat /etc/passwd | grep tarunika tarunika:x:1000:500::/home/tarunika:/bin/bash
5. Добавление пользователя в несколько групп
Опция “-G” используется для добавления пользователя в дополнительные группы. Названия групп разделяются запятой без пробелов.
В приведенном ниже примере мы добавляем пользователя “tecmint” в группы admins, webadmin и developer.
[root@tecmint ~]# useradd -G admins,webadmin,developers tecmint
Теперь проверим, в каких группах числится пользователь, с помощью команды id.
[root@tecmint ~]# id tecmint uid=1001(tecmint) gid=1001(tecmint) groups=1001(tecmint),500(admins),501(webadmin),502(developers) context=root:system_r:unconfined_t:SystemLow-SystemHigh
6. Добавление пользователя без домашней директории
В некоторых ситуациях мы не хотим, по соображениям безопасности, давать пользователям домашние директории. В таком случае, когда пользователь авторизуется в системе сразу после ее запуска, его домашней директорией будет root. Если такой пользователь использует команду su, то он авторизуется в домашней директории предыдущего пользователя.
Для создания пользователя без домашней директории используется опция “-M”. Например, создадим пользователя “shilpi” без домашней директории.
[root@tecmint ~]# useradd -M shilpi
Давайте проверим, что пользователь создан без домашней директории, с помощью команды ls:
[root@tecmint ~]# ls -l /home/shilpi ls: cannot access /home/shilpi: No such file or directory
7. Добавление пользовательского аккаунта с ограниченным сроком действия
По умолчанию, когда мы добавляем пользователя с помощью команды “useradd”, его аккаунт не имеет сроков действия, то есть дата истечения сроков его жизни установена в 0 (никогда не истекает).
Однако мы можем установить дату истечения с помощью опции “-e”, задав дату в формате YYYY-MM-DD. Это полезно при создании временных аккаунтов для каких-то конкретных задач.
В приведенном ниже примере мы создаем пользователя “aparna” со сроком жизни его аккаунта до 27 апреля 2015 года в формате YYYY-MM-DD.
[root@tecmint ~]# useradd -e 2015-03-27 aparna
Далее, проверяем сроки действия аккаунта и пароля с помощью команды “chage”.
[root@tecmint ~]# chage -l aparna Last password change : Mar 28, 2014 Password expires : never Password inactive : never Account expires : Mar 27, 2015 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” используется для того, чтобы задать количество дней, через которое пароль перестанет действовать. По умолчанию его значение равно -1, при этом время действия пароля не ограничивается.
В примере мы задаем для пользователя “tecmint” время действия пароля 45 дней с помощью опций “-e” и “-f”.
[root@tecmint ~]# useradd -e 2014-04-27 -f 45 tecmint
Ключи (опции)
-b | Задает базовый каталог для домашнего каталога useradd dmosk -b /var/home |
-c | Создает комментарий для описания учетной записи useradd dmosk -c “Пользователя для управления системой” |
-d | Полный путь к домашнему каталогу пользователя useradd dmosk -d /home/newuser |
-D | Позволяет показать или изменить настройки по умолчанию, которые будут применяться при последующем создании пользователей useradd dmosk -Ds /bin/bash |
-e | Дата, после которой учетная запись устареет. useradd dmosk -e 2017-12-31 |
-f | Число дней, после которого учетная запись с устаревшим паролем будет заблокирована useradd dmosk -f 0 |
-g | Задает основную группу useradd dmosk -g altternativegroup |
-G | Задает дополнительные группы useradd dmosk -G wheel |
-k | Путь к источнику скелета (файлы с шаблонами для нового пользователя) useradd dmosk -k /var/skel |
-m | При создании пользователя создать домашний каталог useradd dmosk -m |
-M | Не создавать домашний каталог useradd dmosk -M |
-N | Не создавать основную группу с таким же именем, как у пользователя useradd dmosk -N |
-o | Разрешает создание учетной записи с повторяющимся UID useradd dmosk -u 15 -o |
-p | Задает пароль useradd dmosk -p pass |
-r | Системная учетная запись (без домашнего каталога и с идентификаторами в диапазоне SYS_UID_MIN – SYS_UID_MAX из файла /etc/login.defs) useradd dmosk -r |
-R | Каталог, в который выполняется chroot useradd dmosk -R /var/chroot/home |
-s | Путь до оболочки командной строки useradd dmosk -s /bin/csh |
-u | Задает UID useradd dmosk -u 666 |
-U | Имя группы будет таким же, как у пользователя useradd dmosk -U |
Актуальный список ключей можно получить командой useradd -h.
Редактирование
* эта команда добавит пользователя dmosk в группу wheel
Как создать пользователя Linux, который не может войти в систему
По соображениям безопасности вам может потребоваться создать пользователя Linux без возможности входа. Джек Валлен покажет вам, как это сделать.
У системных администраторов Linux, бывают случаи, когда вам может понадобиться создать пользователя, который не имеет возможности войти в систему. Когда этот тип пользователя будет необходим? Скажем, например, вы должны создать пользователя для правильной работы приложения, но вы не хотите, чтобы у этого пользователя был домашний каталог или возможность входа в систему.
Безопасность. Чем больше пользователей в вашей системе Linux, тем больше шансов, что злоумышленники могут взломать ее и нанести ущерб. Это особенно верно, когда мы говорим о пользовательской учетной записи, которая не будет использоваться реальным человеком, поэтому она не будет отслеживаться никоим образом.
Есть несколько способов справиться с этой задачей, но я хочу показать вам правильный способ сделать это.
Что вам нужно
- Работающий экземпляр любого дистрибутива Linux
- Учетная запись пользователя с привилегиями sudo
Как создать учетную запись Linux
Помните, мы создаем учетную запись Linux, которая не может войти в систему. Другими словами, это системная учетная запись. Допустим, учетная запись, которую вы хотите создать, называется nouser . Есть два правильных способа создания этой системной учетной записи.
Первый способ требует, чтобы вы вручную сконфигурировали оболочку, чтобы пользователь не мог войти в систему. Войдите на свой сервер Linux или на рабочий стол и введите команду:
sudo adduser nouser --shell=/bin/false
Это установит оболочку в /bin/false , поэтому пользователь nouser не сможет войти в систему. Вам будет предложено ввести и подтвердить пароль, а затем заполнить информацию для пользователя:
Следующий метод использует параметр —system следующим образом:
sudo adduser nouser --system
Приведенный выше метод создает учетную запись без пароля и без оболочки, поэтому он не может войти в систему. Тем не менее, вышеуказанный метод также создает домашний каталог. Если вы не хотите, чтобы домашний каталог создавался, команда будет выглядеть так:
sudo adduser nouser --system --no-create-home
Если вам абсолютно не нужен домашний каталог для учетной записи, абсолютный самый безопасный метод — последний метод. Почему? Потому что нет пароля для учетной записи, а также нет домашнего каталога.
Как добавить пользователя в группу
Часто системные учетные записи относятся к группам. Скажем, этот пользователь должен входить в группу www-data. Для этого сначала нужно создать пользователя с помощью команды adduser , а затем добавить его в группу www-data с помощью команды:
sudo usermod -aG www-data nouser
Теперь у вас есть системная учетная запись, которая не может войти в систему, которая входит в группу www-data.
Поздравляем, теперь вы знаете, как создавать пользователей системы Linux, которые не могут войти в систему и не имеют домашнего каталога — используйте этих пользователей с умом.