Поиск по сайту:

Как удалить учетные записи пользователей с домашним каталогом в Linux


В этом уроке я расскажу вам, как удалить учетную запись пользователя вместе с его/ее домашним каталогом в системе Linux.

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

  1. 15 примеров команды «useradd» для управления учетными записями пользователей в Linux
  2. 15 примеров команды «usermod» для изменения/изменения имен учетных записей пользователей в Linux
  3. Как управлять пользователями и группами с помощью прав доступа к файлам в Linux

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

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

Удаление/удаление учетной записи пользователя с его/ее домашним каталогом

1. В демонстрационных целях сначала я начну с создания двух учетных записей пользователей в моей системе: пользователя tecmint и пользователя linuxsay с их домашними каталогами. /home/tecmint и /home/linusay соответственно с помощью команды adduser.

adduser tecmint
passwd tecmint

adduser linuxsay
passwd linuxsay

На снимке экрана выше я использовал команду adduser для создания учетных записей пользователей в Linux. Вы также можете использовать команду useradd, обе они одинаковы и выполняют одну и ту же работу.

2. Теперь давайте двинемся дальше и посмотрим, как удалять учетные записи пользователей в Linux с помощью deluser (для Debian и его производных) и userdel ( Для систем на базе RedHat/CentOS).

Директивы внутри файла конфигурации для команд deluser и userdel определяют, как он будет обрабатывать все пользовательские файлы и каталоги при запуске команды.

Давайте посмотрим на файл конфигурации для команды deluser, который называется /etc/deluser.conf в производных Debian, таких как Ubuntu, Kali, Mint и для RHEL/CentOS/Fedora. пользователи, вы можете просмотреть файлы /etc/login.defs.

Значения в этой конфигурации являются значениями по умолчанию и могут быть изменены в соответствии с вашими потребностями.

vi /etc/deluser.conf         [On Debian and its derivatives]
vi /etc/login.defs           [On RedHat/CentOS based systems]

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

Блокировка учетных записей пользователей в Linux

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

Команда passwd, включающая параметр –lock, может помочь вам в этом:

# passwd --lock tecmint

Locking password for user tecmint.
passwd: Success

Найти и уничтожить все запущенные процессы пользователя

Затем найдите все запущенные процессы учетной записи пользователя и завершите их, определив PID (Идентификаторы процессов) процессов, принадлежащих пользователю, используя:

# pgrep -u tecmint

1947
1959
2091
2094
2095
2168
2175
2179
2183
2188
2190
2202
2207
2212
2214

Затем вы можете перечислить процессы с точки зрения имени пользователя, PID, PPID (идентификаторы родительских процессов), используемого терминала, состояния процесса, пути к команде в стиле полного форматирования с помощью следующей команды, как показано:

# ps -f --pid $(pgrep -u tecmint)

UID        PID  PPID  C STIME TTY      STAT   TIME CMD
tecmint   1947     1  0 10:49 ?        SLl    0:00 /usr/bin/gnome-keyring-daemon --daemonize --login
tecmint   1959  1280  0 10:49 ?        Ssl    0:00 mate-session
tecmint   2091  1959  0 10:49 ?        Ss     0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/im-launch mate-session
tecmint   2094     1  0 10:49 ?        S      0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/im-launch mate-session
tecmint   2095     1  0 10:49 ?        Ss     0:00 //bin/dbus-daemon --fork --print-pid 6 --print-address 9 --session
tecmint   2168     1  0 10:49 ?        Sl     0:00 /usr/lib/dconf/dconf-service
tecmint   2175  1959  0 10:49 ?        Sl     0:02 /usr/bin/mate-settings-daemon
tecmint   2179  1959  0 10:49 ?        Sl     0:47 marco
tecmint   2183     1  0 10:49 ?        Sl     0:00 /usr/lib/gvfs/gvfsd
tecmint   2188  1959  0 10:49 ?        Sl     0:00 mate-panel
tecmint   2190     1  0 10:49 ?        Sl     0:00 /usr/lib/gvfs/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes
tecmint   2202     1  0 10:49 ?        S<l    0:20 /usr/bin/pulseaudio --start --log-target=syslog
tecmint   2207  1959  0 10:49 ?        S      0:00 /bin/sh /usr/bin/startcaja
tecmint   2212     1  0 10:49 ?        Sl     0:03 /usr/bin/python /usr/lib/linuxmint/mintMenu/mintMenu.py
tecmint   2214     1  0 10:49 ?        Sl     0:11 /usr/lib/mate-panel/wnck-applet
....

Как только вы найдете все запущенные процессы пользователя, вы можете использовать команду killall, чтобы завершить эти запущенные процессы, как показано.

killall -9 -u tecmint

-9 — это номер сигнала для сигнала SIGKILL или используйте -KILL вместо -9 и . >-u определяет имя пользователя.

Примечание. В последних выпусках версий RedHat/CentOS 7.x и Fedora 21+ вы получите сообщение об ошибке следующего вида:

-bash: killall: command not found

Чтобы исправить такую ошибку, вам необходимо установить пакет psmisc, как показано:

yum install psmisc       [On RedHat/CentOS 7.x]
dnf install psmisc       [On Fedora 21+ versions]

Резервное копирование пользовательских данных перед удалением

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

Я использовал утилиты tar для создания резервной копии домашнего каталога пользователей следующим образом:

tar jcvf /user-backups/tecmint-home-directory-backup.tar.bz2 /home/tecmint

Удалить/удалить учетную запись пользователя и файлы

Теперь вы можете безопасно удалить пользователя вместе с его/ее домашним каталогом. Чтобы удалить все пользовательские файлы в системе, используйте параметр --remove-all-files в приведенной ниже команде:

deluser --remove-home tecmint      [On Debian and its derivatives]
userdel --remove tecmint           [On RedHat/CentOS based systems]

Краткое содержание

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