Управление пользователями и группами

Здесь будут рассмотрены команды useradd, userdel, usermod, groupadd, groupdel, groupmod, id и chage, а также описаны наиболее необходимые опции.

Команда useradd

$ useradd options username

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

Данные и параметры всех пользователях хранятся в файле /etc/passwd. Каждая строка — настройки отдельного пользователя, состоящие из 7 полей и разделенные двоеточием.

$ useradd finist
$ cat /etc/passwd | grep finist
finist:x:503:504::/home/finist:/bin/bash

Разберем эти настройки слева направо.
Логин:Пароль:UserID:GroupID:Info:HomeDir:Shell

Логин — имя пользователя
Пароль — вместо него стоит х, пароль хранится в зашифрованном виде в /etc/shadow
UserID — уникальный идентификатор пользователя. В стандартном варианте находится в диапазоне от 100 до 999.
GroupID — уникальный идентификатор группы, хранится в /etc/group
Info — дополнительная информация о пользователе
HomeDir — путь до каталога пользователя относительно корневой директории

Ключи команды useradd

-d     позволяет задать путь к нестандартному размещению домашнего каталога

$ useradd -d /public/user1 testuser

-g     назначает пользователю groupid
-u     назначает пользователю userid

Проверить текущие gid и uid можно с помощью команды id

$ useradd -g 500 -u 999 testuser
$ cat /etc/passwd | grep testuser
testuser:x:999:500::/home/testuser:/bin/bash
$ id testuser
uid=999(testuser) gid=500(testuser)

-G     добавляет пользователя сразу в несколько групп

$ useradd -G programmers,admins testuser

-e     позволяет ограничить время работы аккаунта,

-f     задает срок действия пароля, в днях

Для уже созданных пользователей можно задать эти ограничения с помощью команды chage,  а для просмотра статуса используйте chage -l.

$ useradd -e 2017-01-01 -f 30 testuser
$ chage testuser

-M     создает пользователя без домашнего каталога

$ useradd -M testuser

-c     добавляет комментарии в раздел info

$ useradd -c "Test User" testuser
$ cat /etc/password | grep testuser
testuser:x:503:504:Test User:/home/testuser:/bin/bash

-s     Задает оболочку пользователя

$ useradd -s /bin/sh testuser

Команда userdel

Команда userdel удаляет пользователя из системы. Она не может быть выполнена когда пользователь работает в системе, либо есть процессы, запущенные от имени пользователя.

$ userdel testuser

По умолчанию домашний каталог пользователя остается в системе. Для удаления домашнего каталога вместе с учетной записью пользователя используется ключ -r.

$ userdel -r testuser

Команда usermod

Usermod используется для внесения изменений в учетную запись пользователя. Используется только с ключами.

-d     Переносит домашний каталог пользователя. Используется вместе с -m. Сначала указывается путь до нового каталога, затем имя пользователя.

$ usermod -d /home/newfolder -m testuser

-l     Позволяет изменить имя пользователя (логин)

$ usermod -l testuser newuser

-u     Изменяет uid пользователя

$ usermod -u 654 testuser 
$ getent passwd | grep testuser
testuser:x:654:504::/home/testuser:/bin/bash

Команда groupadd

Используется для создания групп. Возможные ключи:

-g     Позволяет задать gid для группы (500 и больше)

$ groupadd -g 599 devops
$ getent group | grep devops
devops:x:599:

-r     Создает системную группу (gid=499 и меньше)

$ groupadd -r sysgroup
$ cat /etc/groups | grep sysgroup
sysgroup:x:498:

-f     Заканчивает работу без ошибки, если группа уже создана. В сочетании с -g останавливает работу, если заданный gid уже существует.

$ groupadd sysgroup
groupadd: группа «sysgroup» уже существует
$ groupadd -f sysgroup
$

Команда groupdel

Используется для удаления группы

$ groupdel sysgroup

Команда groupmod

Вносит изменения в параметры группы. Используется только с ключами.

-n     Меняет имя группы

$ getent group | grep sysgroup
sysgroup:x:600:
$ groupmod sysgroup -n testgroup
$ getent group | grep testgroup
testgroup:x:600:

Существуют редко используемые ключи, для их просмотра используйте ключ -h

$ groupmod -h

Оставьте ответ

Ваш адрес email не будет опубликован.