Linux에서 홈 디렉토리가 있는 사용자 계정을 삭제하는 방법
이 튜토리얼에서는 Linux 시스템에서 사용자 계정과 홈 디렉터리를 삭제하는 데 사용할 수 있는 단계를 안내해 드리겠습니다.
Linux 시스템에서 사용자 계정을 생성하고 관리하는 방법을 알아보려면 아래 링크에서 다음 문서를 읽어보세요.
- Linux에서 사용자 계정을 관리하기 위한 15가지 "useradd" 명령 예
- Linux에서 사용자 계정 이름을 변경/수정하기 위한 15가지 "usermod" 명령 예
- Linux에서 파일 권한으로 사용자 및 그룹을 관리하는 방법
Linux의 시스템 관리자는 사용자 계정이 오랫동안 휴면 상태가 되거나 사용자가 조직이나 회사를 떠나거나 기타 이유로 인해 사용자 계정을 제거해야 할 수도 있습니다.
Linux 시스템에서 사용자 계정을 제거할 때 홈 디렉터리를 제거하여 새 시스템 사용자나 기타 서비스를 위해 저장 장치의 공간을 확보하는 것도 중요합니다.
홈 디렉토리가 있는 사용자 계정 삭제/제거
1. 시연을 위해 먼저 내 시스템에 두 개의 사용자 계정(tecmint 사용자 및 linuxsay 사용자)을 홈 디렉토리에 생성하는 것부터 시작하겠습니다. adduser 명령을 사용하여 각각 /home/tecmint 및 /home/linusay.
adduser tecmint
passwd tecmint
adduser linuxsay
passwd linuxsay
위 스크린샷에서 adduser 명령을 사용하여 Linux에서 사용자 계정을 만들었습니다. useradd 명령을 사용할 수도 있습니다. 둘 다 동일하고 동일한 작업을 수행합니다.
2. 이제 deluser(Debian 및 그 파생 제품의 경우) 및 userdel( RedHat/CentOS 기반 시스템의 경우) 명령.
deluser 및 userdel 명령에 대한 구성 파일 내의 지시문은 명령을 실행할 때 모든 사용자 파일과 디렉터리를 처리하는 방법을 결정합니다.
Ubuntu, Kali, Mint 및 RHEL/CentOS/Fedora와 같은 Debian 파생 제품의 /etc/deluser.conf
인 deluser 명령에 대한 구성 파일을 살펴보겠습니다. 사용자는 /etc/login.defs
파일을 볼 수 있습니다.
이러한 구성의 값은 기본값이며 필요에 따라 변경할 수 있습니다.
vi /etc/deluser.conf [On Debian and its derivatives]
vi /etc/login.defs [On RedHat/CentOS based systems]
3. 홈 디렉토리가 있는 사용자를 삭제하려면 Linux 서버 시스템에서 다음 단계에 따라 고급 방법을 사용할 수 있습니다. 사용자는 서버에 로그온하면 서비스를 사용하고 다른 프로세스를 실행합니다. 사용자는 서버에 로그온하지 않은 경우에만 효과적으로 삭제할 수 있다는 점에 유의하는 것이 중요합니다.
Linux에서 사용자 계정 잠금
사용자가 시스템에 액세스할 수 없도록 사용자 계정 비밀번호를 잠그는 것부터 시작하십시오. 이렇게 하면 사용자가 시스템에서 프로세스를 실행하는 것을 방지할 수 있습니다.
–lock 옵션이 포함된 passwd 명령은 이를 달성하는 데 도움이 될 수 있습니다.
# passwd --lock tecmint
Locking password for user tecmint.
passwd: Success
사용자의 실행 중인 모든 프로세스를 찾아 종료합니다.
다음으로 사용자 계정에서 실행 중인 모든 프로세스를 찾아내고 다음을 사용하여 사용자가 소유한 프로세스의 PID(프로세스 ID)를 확인하여 해당 프로세스를 종료합니다.
# pgrep -u tecmint
1947
1959
2091
2094
2095
2168
2175
2179
2183
2188
2190
2202
2207
2212
2214
그런 다음 표시된 대로 다음 명령을 사용하여 사용자 이름, PID, PPID(상위 프로세스 ID), 사용된 터미널, 프로세스 상태, 명령 경로의 프로세스 기간을 전체 형식 스타일로 나열할 수 있습니다.
# 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 신호의 신호 번호이거나 -9 및 대신 -KILL을 사용합니다. >-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 시스템에서 사용자와 해당 홈 디렉터리를 제거하는 것과 관련된 모든 것입니다. 이 가이드는 따라하기가 충분히 쉽다고 생각합니다. 하지만 의견을 남겨서 우려 사항을 표명하거나 더 많은 아이디어를 추가할 수 있습니다.