리눅스에서 시스템 관리자로서, 사용자 계정이 오랫동안 휴면 상태가 되거나, 사용자가 조직이나 회사를 떠날 수 있기 때문에 언젠가는 사용자 계정을 제거해야 할 수도 있습니다.
리눅스 시스템에서 사용자 계정을 제거할 때, 저장 장치의 공간을 새로운 시스템 사용자나 기타 서비스를 위해 확보하기 위해 해당 사용자의 홈 디렉토리도 제거하는 것이 중요합니다.
이 튜토리얼에서는 리눅스 시스템에서 사용자 계정과 그 사용자의 홈 디렉토리를 함께 삭제하는 단계를 안내해 드리겠습니다.
리눅스 시스템에서 사용자 계정을 생성하고 관리하는 방법을 배우려면 아래 링크에서 다음 기사를 읽어보세요:
홈 디렉토리와 함께 사용자 계정 삭제하는 방법
데모를 위해 먼저 시스템에서 사용자 tecmint와 사용자 linuxsay의 계정을 생성하고 각각의 홈 디렉토리 /home/tecmint 및 /home/linusay를 adduser 명령어를 사용하여 생성합니다.
adduser tecmint passwd tecmint adduser linuxsay passwd linuxsay

위의 스크린샷에서 볼 수 있듯이 리눅스에서 사용자 계정을 생성하기 위해 adduser 명령어를 사용했습니다. 또한 useradd 명령어를 사용할 수 있으며, 이 두 명령어는 동일하지만 주된 차이점은 의도된 사용 및 사용자 인터페이스에 있습니다.
“adduser” 명령어는 시스템에 사용자를 추가하기 위한 고급 인터페이스로, 필요한 설정을 수행하고 기본 설정을 사용하여 사용자의 홈 디렉토리를 생성합니다.
반면에, “useradd“는 시스템에 사용자를 추가하고 사용자 정보를 업데이트하기 위한 저급 유틸리티로, 기본적으로 사용자의 홈 디렉토리를 생성하지 않으며 관리자가 수동으로 추가 옵션을 지정해야 합니다.
이제 deluser (Debian 및 그 유사 시스템용) 및 userdel (RedHat 기반 시스템용) 명령어를 사용하여 리눅스에서 사용자 계정을 삭제하거나 제거하는 방법을 살펴보겠습니다.
sudo deluser --remove-home username sudo userdel -r username
위의 명령어는 사용자의 계정과 함께 사용자의 홈 디렉토리를 삭제합니다.
구성 파일 내의 지시문은 deluser 및 userdel 명령어가 어떻게 사용자 파일 및 디렉토리를 처리할지 결정합니다. 명령어를 실행할 때입니다.
Debian 계열의 우분투, 칼리, 민트에서는 /etc/deluser.conf
파일을 통해 deluser 명령어의 구성 파일을 살펴볼 수 있으며, RHEL/CentOS/Fedora 사용자는 /etc/login.defs
파일을 확인할 수 있습니다.
이 구성의 값은 기본값이며 필요에 따라 변경할 수 있습니다.
vi /etc/deluser.conf [On Debian and its derivatives] vi /etc/login.defs [On RedHat/CentOS based systems]

홈 디렉토리가 있는 사용자를 삭제하려면 Linux 서버 머신에서 다음 단계를 수행하여 고급 방법을 사용할 수 있습니다. 사용자가 서버에 로그온하여 서비스를 사용하고 다양한 프로세스를 실행합니다. 사용자가 서버에 로그온하지 않았을 때만 효과적으로 삭제할 수 있다는 점에 유의해야 합니다.
Linux에서 사용자 계정을 잠글 수 있는 방법
Linux에서 사용자 계정을 잠그려면 passwd 명령어 다음에 -l 또는 --lock
옵션과 사용자 이름을 입력하십시오. 사용자 계정을 잠그면 사용자가 로그인할 수 없지만 계정과 관련 파일은 유지됩니다.
sudo passwd -l username OR sudo passwd -lock username

계정을 잠금 해제하려면 passwd 명령어를 다시 사용하고 -u
옵션을 사용하십시오.
sudo passwd -u username
Linux에서 사용자의 실행 중인 프로세스를 찾아 죽이는 방법
리눅스에서 사용자가 실행 중인 프로세스를 찾아서 종료하려면 ps 명령어를 사용하여 특정 사용자와 관련된 프로세스를 찾고, kill 명령어를 사용하여 그 프로세스를 종료할 수 있습니다.
사용자 프로세스 찾기
ps 명령어와 -u
플래그를 사용하여 특정 사용자의 프로세스를 나열합니다.
ps -u username
그런 다음 다음 명령어를 사용하여 사용자명, PID, PPID(부모 프로세스 ID), 사용된 터미널, 프로세스 상태 및 명령어 경로를 포맷팅 스타일로 나열할 수 있습니다.
ps -f --pid $(pgrep -u tecmint)

사용자 프로세스 종료
사용자의 모든 실행 중인 프로세스를 찾은 후 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]
프로세스 삭제 전 사용자 데이터 백업 방법
리눅스 시스템에서 사용자 계정을 삭제하기 전에 사용자 데이터를 백업하려면 다음 명령어를 따르세요.
sudo mkdir /backup sudo cp -r /home/username /backup
선택적으로 사용자의 데이터를 압축 아카이브로 만들어 저장 공간을 절약할 수 있습니다. 아래와 같이 tar 명령어를 사용하여 사용자 홈 디렉토리의 백업을 생성했습니다.
sudo tar -zcvf /backup/username_backup.tar.gz /backup/username

리눅스에서 사용자 파일 삭제/제거 방법
이제 아래 명령에서 --remove-all-files
옵션을 사용하여 사용자와 그/그녀의 홈 디렉토리를 안전하게 제거할 수 있습니다.
deluser --remove-home tecmint [On Debian and its derivatives] userdel --remove tecmint [On RedHat/CentOS based systems]

요약
리눅스 시스템에서 사용자와 그들의 홈 디렉토리를 제거하는 데 관한 모든 것입니다. 가이드가 충분히 이해하기 쉬울 것이라 믿지만, 걱정이나 추가적인 아이디어를 댓글로 남겨주세요.
Source:
https://www.tecmint.com/delete-remove-a-user-account-with-home-directory-in-linux/