Как удалить учетные записи пользователей с домашним каталогом в Linux
В этом уроке я расскажу вам, как удалить учетную запись пользователя вместе с его/ее домашним каталогом в системе Linux.
Чтобы узнать, как создавать учетные записи пользователей и управлять ими в системах Linux, прочитайте следующие статьи по ссылкам ниже:
- 15 примеров команды «useradd» для управления учетными записями пользователей в Linux
- 15 примеров команды «usermod» для изменения/изменения имен учетных записей пользователей в Linux
- Как управлять пользователями и группами с помощью прав доступа к файлам в 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. Я считаю, что руководство достаточно простое для понимания, но вы можете выразить беспокойство или добавить дополнительную идею, оставив комментарий.