Удаление пользователей в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь управлять учетными записями пользователей в системе Linux, сосредоточившись на удалении пользователей. Управление учетными записями пользователей является фундаментальным навыком для администраторов систем Linux. Изучив правильный способ удаления учетных записей пользователей, вы сможете обеспечить безопасность системы, гарантируя, что доступ к системным ресурсам имеют только необходимые пользователи.

Мы рассмотрим, как проверить существующие учетные записи пользователей и затем безопасно удалить их с помощью команды userdel. Этот навык необходим для обеспечения безопасности системы и эффективного управления доступом пользователей в среде Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/UserandGroupManagementGroup -.-> linux/userdel("User Removing") linux/UserandGroupManagementGroup -.-> linux/groups("Group Displaying") subgraph Lab Skills linux/ls -.-> lab-271425{{"Удаление пользователей в Linux"}} linux/touch -.-> lab-271425{{"Удаление пользователей в Linux"}} linux/cat -.-> lab-271425{{"Удаление пользователей в Linux"}} linux/grep -.-> lab-271425{{"Удаление пользователей в Linux"}} linux/userdel -.-> lab-271425{{"Удаление пользователей в Linux"}} linux/groups -.-> lab-271425{{"Удаление пользователей в Linux"}} end

Понимание учетных записей пользователей в Linux

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

Давайте сначала рассмотрим, как просмотреть существующих пользователей в системе Linux:

  1. Откройте терминал, нажав на иконку терминала на рабочем столе Linux.

  2. Чтобы просмотреть всех пользователей системы, выполните следующую команду:

    cat /etc/passwd

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

    Вывод будет выглядеть приблизительно так:

    root:x:0:0:root:/root:/bin/bash
    daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
    bin:x:2:2:bin:/bin:/usr/sbin/nologin
    sys:x:3:3:sys:/dev:/usr/sbin/nologin
    ...
    labex:x:1000:1000::/home/labex:/bin/zsh
  3. Теперь давайте создадим тестовую учетную запись пользователя, которую мы позже удалим. Выполните следующую команду, чтобы создать нового пользователя с именем test:

    sudo adduser test

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

  4. Теперь давайте проверим, что пользователь test был успешно создан, выполнив поиск его в файле /etc/passwd:

    cat /etc/passwd | grep 'test'

    В выводе должны отобразиться детали тестового пользователя, подтверждающие, что он был успешно создан.

Исследование деталей учетных записей пользователей

Теперь, когда мы создали тестового пользователя, давайте более подробно изучим учетные записи пользователей в Linux и поймем, какая информация о каждом пользователе хранится.

  1. Файл /etc/passwd содержит семь полей для каждого пользователя, разделенных двоеточиями:

    • Имя пользователя (Username): Логин пользователя
    • Пароль (Password): Символ 'x' означает, что зашифрованный пароль хранится в файле /etc/shadow
    • UID: Номер идентификатора пользователя (User ID)
    • GID: Номер идентификатора основной группы (Primary Group ID)
    • Комментарий (Comment): Информация о пользователе (часто полное имя)
    • Домашний каталог (Home Directory): Путь к домашнему каталогу пользователя
    • Shell: Путь к стандартному оболочке (shell) пользователя
  2. Давайте рассмотрим детали нашего тестового пользователя, выполнив команду:

    grep 'test' /etc/passwd

    Вы увидите вывод, похожий на следующий:

    test:x:1001:1001:,,,:/home/test:/bin/bash
  3. Каждый пользователь в Linux обычно имеет домашний каталог. Давайте проверим, существует ли домашний каталог для тестового пользователя:

    ls -la /home/

    В выводе вы должны увидеть каталог с именем test, который является домашним каталогом нашего тестового пользователя.

  4. Вы также можете проверить группы, к которым принадлежит тестовый пользователь:

    groups test

    В выводе будут показаны группы, членом которых является тестовый пользователь.

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

Удаление учетных записей пользователей

Теперь, когда мы понимаем, как работают учетные записи пользователей в Linux, давайте узнаем, как безопасно удалить учетную запись пользователя. В Linux для этой цели предусмотрена команда userdel.

  1. Базовый синтаксис команды userdel выглядит следующим образом:

    sudo userdel username

    Эта команда удаляет учетную запись пользователя, но оставляет домашний каталог и почтовый ящик пользователя нетронутыми.

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

    sudo userdel test

    Если операция выполнена успешно, эта команда не выведет никаких результатов.

  3. Теперь давайте проверим, что учетная запись пользователя была удалена, проверив, существует ли тестовый пользователь в файле /etc/passwd:

    grep 'test' /etc/passwd

    Если пользователь был успешно удален, команда не вернет никакого вывода, что означает, что тестовый пользователь больше не существует в системе.

  4. Однако домашний каталог пользователя по-прежнему существует. Проверьте это, выполнив команду:

    ls -la /home/

    Вы заметите, что каталог test по-прежнему существует в каталоге /home. Команда userdel по умолчанию удаляет только учетную запись пользователя, а не его домашний каталог.

Важно отметить, что простое удаление учетной записи пользователя не удаляет файлы и каталоги пользователя. На следующем этапе мы узнаем, как полностью удалить учетную запись пользователя вместе с его домашним каталогом и почтовым ящиком.

Использование опции -r для полного удаления пользователя

На предыдущем этапе мы удалили учетную запись пользователя, но оставили его домашний каталог нетронутым. Во многих случаях вы, возможно, захотите полностью удалить пользователя, включая его домашний каталог и почтовый ящик. Команда userdel предоставляет опцию -r для этой цели.

  1. Сначала давайте создадим еще одного тестового пользователя:

    sudo adduser testuser

    Опять же, вы можете нажать Enter, чтобы принять значения по умолчанию для всех запрашиваемых полей.

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

    sudo -u testuser touch /home/testuser/testfile.txt

    Эта команда создает пустой файл с именем testfile.txt в домашнем каталоге пользователя testuser.

  3. Теперь давайте полностью удалим пользователя testuser, включая его домашний каталог, используя опцию -r:

    sudo userdel -r testuser

    Опция -r сообщает команде userdel удалить домашний каталог пользователя и почтовый ящик.

  4. Давайте проверим, что учетная запись пользователя была удалена:

    grep 'testuser' /etc/passwd

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

  5. Теперь давайте проверим, был ли удален домашний каталог пользователя:

    ls -la /home/

    Вы должны заметить, что каталог testuser больше не присутствует в каталоге /home, что подтверждает, что опция -r успешно удалила как учетную запись пользователя, так и его домашний каталог.

Помните, что опция -r является мощной и безвозвратно удаляет все файлы и каталоги, принадлежащие пользователю. Будьте всегда осторожны при использовании этой опции, особенно на производственных системах, чтобы избежать случайной потери данных.

Резюме

В этом практическом занятии вы научились основным навыкам управления учетными записями пользователей в системах Linux:

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

  2. Вы создали тестовые учетные записи пользователей с помощью команды adduser.

  3. Вы узнали, как проверить существование учетной записи пользователя, проверив файл /etc/passwd.

  4. Вы удалили учетную запись пользователя с помощью команды userdel, оставив домашний каталог пользователя нетронутым.

  5. Вы использовали опцию -r с командой userdel для полного удаления учетной записи пользователя, включая его домашний каталог.

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

Помните, что при удалении учетных записей пользователей всегда следует быть осторожными, особенно при использовании опции -r, так как она безвозвратно удаляет все файлы и каталоги, принадлежащие пользователю.