강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

사용자및그룹관리2편 : 불필요한 사용자 삭제하기 (userdel)

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

사용자및그룹관리2: 불필요한 사용자 삭제하기 (userdel)

 

 

userdel은 시스템사용자를 삭제하는 명령어입니다. 

 

 , 이미 존재하고 있는 계정정보를 삭제합니다. 

 

  계정을 삭제하게 되면 계정명만 삭제되는 것이 아니라 그 계정이 시스템내에서 사용하고 있는 자원들(데이터, 설정정보등)이 모두 삭제 됩니다. 

 

  ,  삭제되는 계정사용자의 /etc/passwd내의 계정내용, /etc/shadow내의 패스워드 내용, /etc/group파일내의 그룹정보내용이 삭제됩니다. 

 

  

 

사용형식   :  userdel [-r] 계정명

 

그리고 무엇보다 중요한 것은 -r옵션을 사용하여 계정을 삭제하면 /var/spool/mail/디렉토리에 있는 메일파일과 그 계정의 홈디렉토리 내용들이 모두 삭제된다는 점입니다. 

 

 

 

그리고 userdel명령에서도 계정이 삭제될 때에 시스템내에서 어떤 작업들이 이루어지는가를 정확하게 아는 것이 무엇보다 중요하므로 다음 내용을 확인하시고 userdel명령어로 특정 계정이 삭제될 때의 시스템내부 삭제메커니즘에 대해서 이해하시기 바랍니다. 

 

 

 

userdel 사용시 중요한 것은 -r옵션을 사용하는 것과 사용하지 않는 것의 차이점 입니다. 

 

  이 차이점을 간단히 정리하면 다음과 같습니다. 

 

 

 

-r옵션을 사용하지 않고 삭제할 때에는

   . /etc/passwd
파일 내의 계정정보행이 삭제된다.
   . /etc/shadow
파일 내의 패스워드정보행이 삭제된다.
   . /etc/group
파일 내의 그룹정보행이 삭제된다.



-r옵션을 사용하여 삭제했을 때에는

   . /etc/passwd
파일 내의 계정정보행이 삭제된다.
   . /etc/shadow
파일 내의 패스워드정보행이 삭제된다.
   . /etc/group
파일 내의 그룹정보행이 삭제된다.
   . /var/spool/mail
내의 메일파일이 삭제된다.
   .
홈디렉토리의 내용이 모두 삭제된다.

 

위와 같이 -r옵션을 사용했을 때와 사용하지 않았을 때의 차이점을 분명히 알고 계셔야합니다. 

 

 

 


userdel로 특정 사용자 삭제하기

 

먼저, userdel의 간단한 예부터 보도록 하겠습니다. 

 

  아래의 예는 sspark1이라는 계정을 삭제한 예입니다. 

 

 

[root@host3 root]# userdel sspark1
[root@host3 root]#

 

위의 결과 특별한 결과메시지는 출력되지 않았지만 시스템 내부에서는 sspark1이라는 계정에 대한 /etc/passwd, /etc/shadow, /etc/group파일내에 sspark1계정 관련 정보들이 모두 삭제 되었습니다. 

 

 이 부분에 대해서 이해하시기 바랍니다. 

 

 

 

하지만 아래와 같이 sspark1의 홈디렉토리와 메일파일은 그대로 존재하고 있음을 알 수 있습니다. 

 

 

[root@host3 root]# ls -al /home/sspark1
합계 32
drwx------    3 600      600          4096  9
19 11:46 .
drwxr-xr-x    9 root     root         4096  9
19 11:52 ..
-rw-r--r--    1 600      600            24  9
19 11:46 .bash_logout
-rw-r--r--    1 600      600           191  9
19 11:46 .bash_profile
-rw-r--r--    1 600      600           124  9
19 11:46 .bashrc
-rw-r--r--    1 600      600           854  9
19 11:46 .emacs
-rw-r--r--    1 600      600           120  9
19 11:46 .gtkrc
drwxr-xr-x    3 600      600          4096  9
19 11:46 .kde
[root@host3 root]#
[root@host3 root]# ls -l /var/spool/mail/sspark1
-rw-rw----    1 600      600             0  9
19 11:46 /var/spool/mail/sspark1
[root@host3 root]#

 

이 경우에는 홈디렉토리와 메일파일을 확인하고 관리자가 직접 찾아서 삭제해야 합니다. 

 

 

 

 

userdel로 특정 계정의 모든 시스템정보 삭제하기

 

앞의 예에서도 보셨듯이 아무런 옵션없이 userdel로 특정 계정을 삭제하면 그 계정의 홈디렉토리와 메일스풀데이터는 삭제되지 않습니다. 

 

 물론 그외의 정보들은 삭제가 됩니다. 

 

  만약 -r옵션을 사용하신다면 삭제되는 계정의 홈디렉토리 데이터와 메일 스풀데이터까지 모두 삭제합니다. 

 

 

 

, 이번에는 -r옵션을 사용하여 bible3이라는 계정을 삭제 하였습니다. 

 

  설명드린 바와 같이 /etc/passwd, /etc/shadow, /etc/group내의 bible3에 관한 설정행들과 /var/spool/mail에 있는 메일파일, 그리고 bible3의 홈디렉토리내용이 모두 삭제 되었습니다. 

 

 

[root@host3 root]# userdel -r bible3
[root@host3 root]#

 

아래는 bible3의 홈디렉토리가 삭제되었으므로 당연히 확인이 되지않음을 보여주고 있습니다. 

 

 

[root@host3 root]# ls -al /home/bible3
ls: /home/bible3:
그런 파일이나 디렉토리가 없음
[root@host3 root]#


userdel
명령어는 useradd명령어와 함께 익혀두기 바랍니다. 

 

  이 둘은 반대명령어이며 관련된 명령어와 함께 알아두시면 실무활용에 큰 도움이 됩니다. 

 

  그리고 useradd userdel에서 중요한 것은 계정이 생성되고 삭제될 때 어떤 파일들의 내용이 삭제가 되는가? 그리고 서버내부에서 어떤 파일들이 참조가 되는가를 정확하게 알고 있는것이 매우 중요합니다. 

 

 , 이번에는 계정정보를 변경하는 usermod에 대해서 살펴보도록 하겠습니다. 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,033 명
  • 현재 강좌수 :  35,781 개
  • 현재 접속자 :  122 명