Лекция №11 - Пользователи и группы в Linux

На прошлой лекции мы говорили о пользователях и группах и конфигурационных файлах, которые хранят эту информацию. Сегодня обсудим способы создания, изменения, удаления учетных записей (пользователей) и групп. Для того чтобы создать пользователя есть две команды: useradd и adduser. Сначала рассмотрим вариант adduser.
Набираем в командной строке команду adduser user (данную команду можно выполнить только с привилегиями пользователя root):

igor@adm-ubuntu:~$ sudo adduser user
Добавляется пользователь `user’ …
Добавляется новая группа `user’ (1004) …
Добавляется новый пользователь `user’ (1003) в группу `user’ …
Создаётся домашний каталог `/home/user’ …
Копирование файлов из `/etc/skel’ …
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for user
Enter the new value, or press ENTER for the default
Full Name []: Ivan Ivanov
Room Number []: 23
Work Phone []: 123-34-45
Home Phone []: 654-43-32
Other []: Zam directora
Данная информация корректна? [Д/н]

Я специально начал с команды adduser, так как она позволяет создать учетную запись пользователя в интерактивном режиме и отображает процесс создания на экране, что поможет нам понять, что происходит в системе. Давайте разберем по пунктам процесс создания учетной записи пользователя:

Добавляется пользователь `user’ … - происходит добавление новой строки в файл /etc/passwd.

Добавляется новая группа `user’ (1004) … - создается группа которая будет основной для создаваемого пользователя. Добавляется соответствующая строка в файл /etc/group Помните на прошлой лекции мы говорили о том, что пользователь должен входить минимум в одну группу. По умолчанию создается группа с таким же именем как имя учетной записи пользователя.

Добавляется новый пользователь `user’ (1003) в группу `user’ … - после этого пользователь user добавляется в группу user, то есть происходит изменение соответствующей строки в файле /etc/group.

Создаётся домашний каталог `/home/user’ … - здесь все предельно понятно добавить нечего.

Копирование файлов из `/etc/skel’ … - происходит копирование файлов-шаблонов из каталога /etc/skel в домашний каталог нового пользователя.

Вышеописанные действия выполняются автоматически, а вот дальше уже необходимо наше вмешательство, так как требуется ввести пароль для пользователя. В результат будет внесена соответствующая строка в файл /etc/shadow.

После этого будет предложено изменить дополнительную информацию о пользователе (будет внесено изменение в пятое поле в файле /etc/passwd). На прошлой лекции мы также упоминали о формате этого поля. Теперь можем видеть составляющие этого поля.
В конце выдается информация о подтверждении корректности введенной информации. Если все правильно просто нажимаете Enter и программ adduser завершает свою работу.

Давайте теперь проверим, что в файлах /etc/passwd, /etc/group и /etc/shadow появилась информация о новом пользователе, а также наличие домашнего каталога:

igor@adm-ubuntu:~$ less /etc/passwd | grep user
user:x:1003:1004:Ivan Ivanov,23,123-34-45,654-43-32,Zam directora:/home/user:/bin/bash

igor@adm-ubuntu:~$ sudo less /etc/shadow | grep user
user:$6$0RuIJM9h$IBXzvf8s9FL/bIzSAcIIHBtTdK1KGtlDPleLb82nEPMBbWKZSwVjLmbASd/QDUVf4.LZeA670vhXc6W.2Mrqc1:14546:0:99999:7:::

igor@adm-ubuntu:~$ less /etc/group | grep user
user:x:1004:

igor@adm-ubuntu:~$ ls -la /home/user/
итого 24
drwxr-xr-x 2 user user 4096 2009-10-29 10:11 .
drwxr-xr-x 6 root root 4096 2009-10-29 10:11 ..
-rw-r–r– 1 user user 220 2009-10-29 10:11 .bash_logout
-rw-r–r– 1 user user 3180 2009-10-29 10:11 .bashrc
-rw-r–r– 1 user user 167 2009-10-29 10:11 examples.desktop
-rw-r–r– 1 user user 675 2009-10-29 10:11 .profile

Видим, что все необходимые записи в конфигурационных файлах есть и домашний каталог создан. Команда useradd отличается от adduser, тем что она не является интерактивной и для того, чтобы она выполнила все действия, которые выполняет команда adduser необходимо задавать соответствующие параметры и ключи, которые можно посмотреть по команде useradd –help или man useradd. Предлагаю в качестве домашнего задания самостоятельно рассмотреть команду useradd.

Для удаления пользователя существует команда userdel или ее расширенный аналог deluser. Если необходимо удалить пользователя без удаления его файлов (домашнего каталога, каталога с почтовым ящиком), то команда выполняется без ключей:

igor@adm-ubuntu:~$ sudo deluser user
Удаляется пользователь `user’ …
Предупреждение: в группе `user’ больше нет членов.
Готово.

В результате будет полностью удалена информация о пользователе из файлов /etc/passwd, /etc/group, /etc/shadow, но данные пользователя (домашний каталог не будет удален). Чтобы удалить домашний каталог и почтовый ящик (обычно расположен в каталоге /var/mail/) пользователя необходимо ввести команду deluser с ключом –remove-home:

igor@adm-ubuntu:~$ sudo deluser user –remove-home
Идёт поиск файлов для сохранения/удаления …
Удаляются файлы …
Удаляется пользователь `user’ …
Предупреждение: в группе `user’ больше нет членов.
Готово.

После выполнения этой команды будут также удалены каталоги /home/user/ и /var/mail/.
Если необходимо удалить все файлы пользователя, то необходима задать ключ –remove-all-files. Но операция удаления с этим ключом потребует больше времени, так как система будет искать все файлы данного пользователя на жестком диске:

igor@adm-ubuntu:~$ sudo deluser user –remove-all-files
Идёт поиск файлов для сохранения/удаления …
Удаляются файлы …
Удаляется пользователь `user’ …
Предупреждение: в группе `user’ больше нет членов.
Готово.

Для изменения параметров уже созданного пользователя предназначена команда usermod. Полный список ключей и параметров можете посмотреть в справке. Трудностей с командой нет все достаточно прозрачно: команда опции имя_пользователя. Например, команда usermod -L user заблокирует учетную запись user. А команда usermod -U user - разблокирует.

Осталось рассмотреть команду которая позволяет изменить пароль пользователя. Это команда passwd. Администратор может с помощью этой команды менять пароль любого пользователя, а пользователь только свой собственный, причем перед сменой пароля обычный пользователь должен ввести свой старый пароль. Справка по команде man 1 passwd (если набрать man 5 passwd, то получим справку о файле /etc/passwd). Чтобы пользователю сменить свой собственный пароль достаточно набрать команду passwd без параметров. Если администратору необходимо изменить пароль другому пользователю он передаст имя пользователя в виде параметра: passwd user.

Создание группы в Linux. Хотя при создании пользователя его основная группа создается автоматически командой adduser, может потребоваться создать отдельную группу. Как вы уже догадались для этого есть команда addgroup. Синтаксис команды прост: addgroup group1 - создание новой группы. Если команде addgroup в качестве параметров передать имя пользователя и имя группы, то пользователь будет добавлен в эту группу:

igor@adm-ubuntu:~$ sudo addgroup user group1
Добавляется пользователь `user’ в группу `group1′ …
Adding user user to group group1
Готово.

Для удаления группы предназначена команда delgroup, а для изменения информации о группе команда groupmod. Если необходимо удалить группу достаточно ввести команду delgroup имя_группы. Здесь необходимо помнить, что нельзя удалить группу, если она является первичной для существующего пользователя:

igor@adm-ubuntu:~$ sudo delgroup test1
/usr/sbin/delgroup: У пользователя`test1′ в качестве первичной указана группа `test1′!

Если необходимо из группы удалить пользователя то по аналогии с командой addgroup:

igor@adm-ubuntu:~$ sudo delgroup user group1
Удаляется пользователь `user’ из группы `group1′ …
Готово.

На этом по созданию пользователей и групп в Linux все. Рекомендую прочитать справку ко всем перечисленным командам и как всегда не забываем о практике: потренируйтесь в создании учетных записей и групп, добавлении, изменении, удалении. Посмотрите, например, что будет если удалить группу, которая является владельцем каталога и т.д.

Читать другие лекции по курсу Администратор ПК с Linux

Статьи и новости схожей тематики:

Комментариев: 6

  1. Aliyev:

    Esli mi udali qruppu to useri kotorie naxoditsa v neqo toje budet udaleni ili?Esli ne budet udaleni to kuda oni budut peremewatsa?

    Ответить

    Igorka Reply:

    Это очень легко проверить на практике. Попробуйте - это несложно.

    Ответить

  2. Virilis:

    >> Вышеописанные действия выполняются автоматически, а вот дальше уже необходимо наше вмешательство,
    >> так как требуется ввести пароль для пользователя. В результат будет внесена соответствующая
    >> строка в файл /etc/passwd.

    /etc/shadow ?

    Ответить

    Igorka Reply:

    Да /etc/shadow . Спасибо. Уже исправил.

    Ответить

  3. Антон:

    Posle vipolnenia
    deluser user –remove-home
    budut udaleni katalogi /home/user/ i /var/mail/
    imelos v vidu mailbox iz papki /var/mail/ ili kak? eto kak ya ponimayu
    obshaya dlya vseh papka

    Ответить

    Igorka Reply:

    Да, вы правы. Речь о почтовом ящике.

    Ответить

Оставьте свой отзыв