В качестве системного администратора иногда вам может потребоваться удалить пользователей из вашей системы Ubuntu Linux.
Такие случаи включают, когда пользователи покидают компанию или когда их учетные записи становятся бездействующими долгое время.
В этом уроке я покажу вам, как удалить пользовательский и домашний каталог на Ubuntu 18.04.
Но сначала мы выполним некоторые предварительные задачи перед удалением пользователя и домашнего каталога.
Эти задачи будут включать в себя:
1) Блокировка учетной записи пользователя
2) Убивание любых процессов, связанных с пользователем
3) Резервное копирование домашней директории пользователя
4) Удаление любых заданий cron / print
5) Удаление / ремув учетных записей пользователей
1) Заблокировать учетную запись пользователя
Начните с первой блокировки учетной записи пользователя, чтобы лишить его входа в систему.
Синтаксис для этого будет такой:
passwd -l {username}
Например
passwd -l alice
Вывод
Locking password for user alice. passwd: Success
2) Убить все запущенные процессы Пользователя
После успешной блокировки учетной записи вам необходимо найти все запущенные процессы, подключенные к учетной записи пользователя, и «убить» их с помощью PID (идентификаторы процессов)
Используя команду ps, синтаксис:
ps -u {username}
Например
ps -u alice
Вывод
PID TTY TIME CMD 6561 pts/0 00:00:00 bash 6586 pts/0 00:00:00 ps
Используя команду top
top -U {username}
Например
top -U alice
Вывод
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 6561 alice 20 0 21196 5000 3224 S 0.0 0.5 0:00.03 bash 6595 alice 20 0 40540 3748 3148 R 0.0 0.4 0:00.01 top
Чтобы завершить или «убить» все запущенные процессы, используйте команду killall, как показано
killall -9 -u {username}
В нашем случае:
killall -9 -u alice
- -9 – это команда SIGKILL. Он сообщает системе о прекращении процессов без очистки.
- флаг -u определяет имя пользователя
3) Резервное копирование данных пользователя перед удалением
Это необязательный шаг, но он настоятельно рекомендуется, если возникнет необходимость в просмотре учетной записи пользователя или файлов.
Я решил использовать утилиту tar для выполнения резервного копирования. Синтаксис был бы такой\
tar cvjf backup.tar.bz /home/username
Например
tar cvjf backup.tar.bz /home/alice
Пример вывода
tar: Removing leading `/' from member names /home/alice/ /home/alice/.bash_history /home/alice/.profile /home/alice/.bashrc /home/alice/.bash_logout
4) Удалить задания пользователя cron
Чтобы удалить задания cron пользователя, выполните
crontab -r -u alice
Чтобы удалить задания на печать
lprm alice
5) Удалить учетную запись пользователя и файлы
Наконец, мы достигли последней стадии удаления или стирания учетных записей пользователей из системы.
Вышеприведенная команда удалит как учетную запись пользователя, так и домашний каталог.
userdel -r alice
В этом случае пользователь «alice» вместе с домашним каталогом будет удален. Это связано с тем, что мы использовали флаг -r.
Чтобы удалить пользователя и сохранить домашний каталог, просто запустите:
userdel alice