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

Создадим нового пользователя. Для этого воспользуемся командой useradd и через пробел укажем имя нового пользователя:

sudo useradd user1

Данную команду необходимо выполнить от имени администратора.

Теперь при помощи команды passwd укажем пароль нашему пользователю:

sudo passwd user1

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

gdm ubuntu список пользователей, окно входа ubuntu

Как мы видим наш пользователь появился в списке.

Но у нас не получается войти под новым пользователем. Это происходит из-за того, что у нового пользователя нет домашней папки. Зайдем за основного пользователя. И создадим нового пользователя с домашней папкой. Для этого укажем ключ -m у команды useradd:

sudo useradd -m user2
sudo passwd user2

Теперь если перейдем в папку home, то увидим домашнюю папку нашего второго пользователя:

cd /home
ls

список файлов папки home, ls home

Попробуем войти под этим пользователем. Пользователь успешно создался. Вернемся на нашего основного пользователя.

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

useradd --help

У команды passwd так же есть различные ключи. Например заблокируем учетную запись user2 воспользовавшись ключом --lock:

sudo passwd --lock user2

Попробуем войти в данную учетную запись. Учетная запись user2 исчезла из списка.

Разблокируем учетную запись при помощи ключа --unlock:

sudo passwd --unlock user2

И теперь учетная запись появилась в списке.

Для того, чтобы удалить учетную запись, необходимо воспользоваться командой userdel. Удалим вторую учетную запись данной командой:

sudo userdel -r user2

Так же укажем ключ -r для того, чтобы удалить домашнюю папку пользователя.

user is currently used by process 4900

Так как мы авторизовались за нового пользователя, то получили следующую ошибку: то что пользователь 2 используется процессом 4900. Нам нужно завершить данный процесс следующей командой:

sudo kill -9 4900

Попробуем снова удалить нашего пользователя:

sudo userdel -r user2

На этом наш пользователь удалён, но так как мы не создавали почтовый ящик данного пользователя, то вышло сообщение, что почтовый ящик не найден. Пользователь 2 исключен из списка.

Так же у команды userdel есть и другие ключи:

userdel --help

Следующая команда, которую мы рассмотрим это usermod. Она позволяет изменять учетную запись. Например с её помощью создадим для нашего пользователя один создадим домашний каталог. Для этого воспользуемся ключом -d и укажем путь к домашнему каталогу:

sudo usermod -d /home/user1/ user1

Перейдем в папку home и увидим то, что домашней папки пользователя нет.

cd /home
ls

Дело в том, что команда usermod изменила лишь запись пути до домашней папки, но не создала ее. Для этого создадим данную папку:

sudo mkdir user1

И изменим права нашей папки. Для этого воспользуемся командой из предыдущей статьи chown:

sudo chown user1:user1 user1/

Теперь владельцем данной папки является наш пользователь 1. Попробуем войти под данным пользователем. Мы успешно вошли.

Следующая команда это groupadd. Она позволяет добавлять группы. Добавим новую группу. Назовем ее group1:

sudo groupadd group1

Командой groups можно посмотреть в каких группах состоит текущий пользователь:

groups

Добавим нашего пользователя во вновь созданную группу. Воспользуемся уже знакомой нам командой usermod:

sudo usermod -aG group1 $USER

Необходимо указать ключи -aG, название группы и имя пользователя.

У команды groups через пробел так же необходимо указать имя пользователя:

groups $USER

список групп пользователя, groups $USER

Как мы видим наш пользователь состоит в группе 1.

Следующей командой можно вывести список всех групп:

cat /etc/group

И последняя команда это groupdel. Она позволяет удалить группу. Например удалим группу 1 следующей командой:

sudo groupdel group1

И выведем список групп:

cat /etc/group

список групп linux, cat /etc/group

Наша группа удалилась.