Linux에서 사용자를 삭제하고 모든 추적을 제거하는 방법

0
674

Linux 컴퓨터의 터미널 창에있는 쉘 프롬프트.
Fatmawati Achmad Zaenuri / 셔터 스톡

Linux에서 사용자를 삭제하려면 생각보다 많은 것이 필요합니다. 시스템 관리자 인 경우 계정의 모든 흔적과 시스템 액세스 권한을 제거해야합니다. 수행 할 단계를 보여 드리겠습니다.

시스템에서 사용자 계정을 삭제하려고하는데 실행중인 프로세스 및 기타 정리 작업을 종료하지 않으려면 아래 “사용자 계정 삭제”섹션의 단계를 따르십시오. 당신은 필요합니다 deluser 데비안 기반 배포판과 userdel 다른 리눅스 배포판에서 명령.

Linux의 사용자 계정

1960 년대 초에 최초의 공유 시스템이 등장하여 여러 사용자가 단일 컴퓨터에서 작업 할 수있는 기능을 제공 한 이후 각 사용자의 파일과 데이터를 다른 모든 사용자와 분리하고 구획화해야했습니다. 따라서 사용자 계정과 암호가 만들어졌습니다.

사용자 계정에는 관리 오버 헤드가 있습니다. 사용자가 처음 컴퓨터에 액세스해야 할 때 작성해야합니다. 액세스가 더 이상 필요하지 않은 경우 제거해야합니다. Linux에는 컴퓨터에서 사용자, 파일 및 계정을 정확하고 체계적으로 제거하기 위해 따라야하는 일련의 단계가 있습니다.

시스템 관리자라면 책임은 귀하에게 있습니다. 방법은 다음과 같습니다.

우리의 시나리오

계정을 삭제해야하는 이유는 여러 가지가 있습니다. 직원이 다른 팀으로 이사하거나 회사를 떠나는 경우가 있습니다. 다른 회사의 방문자와의 단기 협업을 위해 계정이 설정되었을 수 있습니다. 연구 프로젝트는 부서, 다른 대학 및 상업 기관에 이르기까지 학계에서 일반적으로 이루어집니다. 프로젝트가 끝나면 시스템 관리자는 하우스 키핑을 수행하고 불필요한 계정을 제거해야합니다.

최악의 시나리오는 경범죄 때문에 누군가가 구름 아래 떠날 때입니다. 이러한 사건은 대개 거의 경고없이 발생합니다. 따라서 시스템 관리자는 폐쇄 후 포렌식에 필요할 경우를 대비하여 사용자 파일의 복사본을 백업하여 계획을 세우는 데 시간이 거의없고 계정을 잠 그거나 닫고 삭제해야 할 시급한 시간을 갖게됩니다.

이 시나리오에서는 Eric 사용자가 구내에서 즉시 제거 할 수있는 조치를 취한 것으로 가장합니다. 현재 그는이를 인식하지 못하고 있으며 여전히 작업 중이며 로그인했습니다. 보안에 끄덕이 자마자 건물에서 호위됩니다.

모든 것이 설정되었습니다. 모든 눈이 당신 위에 있습니다.

로그인 확인

그가 실제로 로그인했는지, 그렇다면 로그인 한 세션 수를 보도록하겠습니다. 그만큼 who 명령은 활성 세션을 나열합니다.

who

터미널 창에서 누가

Eric이 한 번 로그인했습니다. 그가 어떤 프로세스를 실행 중인지 봅시다.

사용자 프로세스 검토

우리는 사용할 수 있습니다 ps 이 사용자가 실행중인 프로세스를 나열하는 명령입니다. 그만큼 -u (사용자) 옵션으로 알려줍니다 ps 해당 사용자 계정의 소유권으로 실행되는 프로세스로 출력을 제한합니다.

ps -u eric

터미널 창에서 ps -u eric

더 많은 정보를 사용하여 동일한 프로세스를 볼 수 있습니다. top 명령. top 또한 -U (user) 옵션은 단일 사용자가 소유 한 프로세스로 출력을 제한합니다. 이번에는 대문자“U”입니다.

top -U eric

터미널 창의 top -U eric

각 작업의 메모리 및 CPU 사용량을 볼 수 있으며 의심스러운 활동이있는 항목을 빠르게 찾을 수 있습니다. Google은 모든 프로세스를 강제로 종료하려고하므로 프로세스를 신속하게 검토하고 사용자 계정을 종료 할 때 다른 사용자가 불편하지 않도록 확인하는 것이 가장 안전합니다 eric프로세스.

터미널 창에서 상단 -U eric의 출력

그가 많이하는 것처럼 보이지 않고 그냥 less 파일을 볼 수 있습니다. 계속해도 안전합니다. 그러나 프로세스를 종료하기 전에 비밀번호를 잠그면 계정이 정지됩니다.

관련 : ps 명령을 사용하여 Linux 프로세스를 모니터링하는 방법

계정 잠금

프로세스를 종료하면 사용자가 로그 아웃되므로 프로세스를 종료하기 전에 계정을 잠급니다. 이미 비밀번호를 변경 한 경우 다시 로그인 할 수 없습니다.

암호화 된 사용자 비밀번호는 /etc/shadow 파일. 일반적으로 다음 단계를 방해하지 않지만 다음 단계에서 어떤 일이 발생하는지 확인할 수 있습니다. /etc/shadow 계정을 잠그면 파일이 약간 우회합니다. 다음 명령을 사용하여 항목의 처음 두 필드를 볼 수 있습니다. eric 사용자 계정.

sudo awk -F: '/eric/ {print $1,$2}' /etc/shadow

sudo awk -F : 터미널 창에서 '/ eric / {print $ 1, $ 2}'/ etc / shadow

awk 명령은 텍스트 파일에서 필드를 구문 분석하고 선택적으로 조작합니다. 우리는 -F (필드 구분 기호) 옵션 awk 파일이 콜론을 사용하고 : ”필드를 구분합니다. 패턴이 “eric”인 라인을 검색합니다. 일치하는 줄을 위해 첫 번째와 두 번째 필드를 인쇄합니다. 계정 이름과 암호화 된 비밀번호입니다.

사용자 계정 eric에 대한 항목이 우리를 위해 인쇄되었습니다.

계정을 잠 그려면 passwd 명령. 우리는 -l (잠금) 옵션을 선택하고 잠글 사용자 계정의 이름을 입력하십시오.

sudo passwd -l eric

터미널 창에서 sudo passwd -l eric

우리가 확인하면 /etc/passwd 다시 제출하면 무슨 일이 있었는지 볼 수 있습니다.

sudo awk -F: '/eric/ {print $1,$2}' /etc/shadow

sudo awk -F : 터미널 창에서 '/ eric / {print $ 1, $ 2}'/ etc / shadow

암호화 된 비밀번호의 시작 부분에 느낌표가 추가되었습니다. 첫 글자를 덮어 쓰지 않고 단지 비밀번호의 시작 부분에 추가됩니다. 사용자가 해당 계정에 로그인 할 수 없도록하는 데 필요한 전부입니다.

이제 사용자가 다시 로그인하지 못하게되었으므로 프로세스를 종료하고 로그 아웃 할 수 있습니다.

프로세스 살해

사용자의 프로세스를 종료하는 방법은 여러 가지가 있지만 여기에 표시된 명령은 광범위하게 사용할 수 있으며 일부 대안보다 더 현대적인 구현입니다. 그만큼 pkill 명령은 프로세스를 찾아서 종료합니다. KILL 신호를 전달하고 -u (사용자) 옵션.

sudo pkill -KILL -u eric

터미널 창에서 sudo pkill -KILL -u eric

결정적인 안티 클라이밍 방식으로 명령 프롬프트로 돌아갑니다. 무슨 일이 있었는지 확인하기 위해 확인하자 who 다시:

who

터미널 창에서 누가

그의 회의는 끝났다. 그는 로그 오프되었고 프로세스가 중지되었습니다. 상황의 긴급 성 중 일부를 취했습니다. 보안 부서가 에릭의 책상으로 걸어 가면서 이제 우리는 휴식을 취하고 나머지 사람들과 함께 계속할 수 있습니다.

관련 : 리눅스 터미널에서 프로세스를 종료하는 방법

사용자의 홈 디렉토리 보관

이와 같은 시나리오에서 향후 사용자 파일에 대한 액세스가 필요하다는 것은 의심의 여지가 없습니다. 조사의 일부로서 또는 단순히 교체품이 이전 작업을 다시 참조해야 할 수도 있기 때문에. 우리는 tar 전체 홈 디렉토리를 아카이브하는 명령입니다.

우리가 사용하는 옵션은 다음과 같습니다.

  • : 아카이브 파일을 작성하십시오.
  • 에프: 아카이브 이름으로 지정된 파일 이름을 사용하십시오.
  • 제이: bzip2 압축을 사용하십시오.
  • V: 아카이브가 생성 될 때 자세한 출력을 제공합니다.
sudo tar cfjv eric-20200820.tar.bz /home/eric

터미널 창에서 sudo tar cfjv eric-20200820.tar.bz / home / eric

터미널 화면에서 많은 화면 출력이 스크롤됩니다. 아카이브가 생성되었는지 확인하려면 ls 명령. 우리는 -l (긴 형식) 및 -h (사람이 읽을 수있는) 옵션.

ls -lh eric-20200802.tar.bz

터미널 창에서 sudo tar cfjv eric-20200820.tar.bz / home / eric

722MB의 파일이 생성되었습니다. 나중에 검토 할 수 있도록 안전한 곳에 복사 할 수 있습니다.

크론 작업 제거

우리는 경우에 더 나은 확인 cron 사용자 계정으로 예약 된 작업 eric. ㅏ cron job은 지정된 시간 또는 간격으로 트리거되는 명령입니다. 우리는 어떤 것이 있는지 확인할 수 있습니다 cron 이 사용자 계정에 대해 예약 된 작업 ls:

sudo ls -lh /var/spool/cron/crontabs/eric

터미널 창에서 sudo ls -lh / var / spool / cron / crontabs / eric

이 위치에 존재하는 것이 있으면 cron 해당 사용자 계정에 대기중인 작업 이것으로 삭제할 수 있습니다 crontab 명령. 그만큼 -r (제거) 옵션은 작업을 제거하고 -u (사용자) 옵션이 알려줍니다 crontab 제거 할 작업

sudo crontab -r -u eric

터미널 창에서 sudo crontab -r -u eric

작업이 자동으로 삭제됩니다. 에릭이 추방 될 것으로 의심되는 경우 악의적 인 작업을 예약했을 수 있습니다. 이 단계는 모범 사례입니다.

인쇄 작업 제거

사용자가 인쇄 작업을 보류 중 이었습니까? 사용자 계정에 속하는 작업의 인쇄 대기열을 제거 할 수 있습니다. eric. 그만큼 lprm 명령은 인쇄 대기열에서 작업을 제거합니다. 그만큼 -U (사용자 이름) 옵션을 사용하면 명명 된 사용자 계정이 소유 한 작업을 제거 할 수 있습니다.

lprm -U eric

터미널 창에서 lprm -U eric

작업이 제거되고 명령 행으로 돌아갑니다.

사용자 계정 삭제

우리는 이미 파일을 백업했습니다 /home/eric/ 계속해서 사용자 계정을 삭제하고 /home/eric/ 동시에 디렉토리.

사용할 명령은 사용중인 Linux 배포에 따라 다릅니다. 데비안 기반 리눅스 배포판의 경우, 명령은 deluser나머지 Linux 세계에서는 userdel.

실제로 우분투에서는 두 명령을 모두 사용할 수 있습니다. 나는 하나가 다른 하나의 별칭이라고 반쯤 기대했지만 그것들은 별개의 바이너리입니다.

type deluser
type userdel

터미널 창에 deluser를 입력하십시오

둘 다 사용할 수 있지만 권장 사항은 deluser 데비안 파생 배포판에서 :

userdel 사용자를 제거하기위한 저수준 유틸리티입니다. 데비안에서 관리자는 보통 deluser(8) 대신에.”

충분히 명확하므로이 우분투 컴퓨터에서 사용하는 명령은 deluser. 우리는 또한 그들의 홈 디렉토리를 제거하기를 원하기 때문에 --remove-home 깃발:

sudo deluser --remove-home eric

터미널 창에서 sudo deluser --remove-home eric

비 데비안 배포판에서 사용하는 명령은 userdel, 와 더불어 --remove 깃발:

sudo userdel --remove eric

모든 사용자 계정 추적 eric 지워졌습니다. 우리는 확인할 수 있습니다 /home/eric/디렉토리가 제거되었습니다 :

ls /home

터미널 창에서 ls / home

그만큼 eric 사용자 계정으로 인해 그룹도 삭제되었습니다. eric 그것의 유일한 항목이었다. 우리는 내용을 파이핑하여 이것을 쉽게 확인할 수 있습니다. /etc/group …을 통하여 grep:

sudo less /etc/group | grep eric

sudo less / etc / group | 터미널 창에서 grep eric

랩이야

그의 죄 때문에 에릭은 사라졌습니다. 보안은 여전히 ​​그를 건물 밖으로 걸어 가고 있으며 이미 파일을 보호 및 보관하고 계정을 삭제했으며 나머지 시스템을 제거했습니다.

정확도는 항상 속도를 능가합니다. 취하기 전에 각 단계를 고려해야합니다. 누군가 책상 위로 걸어 가서“아니요, 다른 에릭”이라고 말하는 것을 원하지 않습니다.