useradd 명령어를 통해 계정을 생성했습니다. 생성한 계정이 필요가 없어져 삭제를 해야 합니다. 이때 사용하게 되는 명령어가 userdel 명령어 입니다. 이 명령어를 통해 계정을 삭제할 수 있습니다.
[root@FC10VM /]# userdel testUserdel |
[표 1. userdel testUserdel]
위 표와 같이 userdel 명령어 뒤에 삭제할 계정을 넣으면 해당 계정이 삭제 됩니다. 하지만 여기서 문제가 발생하게 됩니다. 아무런 옵션없이 계정을 삭제하면 다음 그림과 같이 사용자에 모든 자원이 삭제되지 않는다는 점 입니다.
[그림 1. userdel testUserdel]
위 그림과 같이 /etc/passwd, /etc/shadow, /etc/group 파일에서 사용자 정보는 삭제가 되었지만 홈 디렉토리와 /var/spool/mail 디렉토리에 메일파일은 삭제가 되지않고 남아있습니다. 그래서 동일한 계정을 새로 등록하게되면 다음과 같은 에러메시지를 볼 수 있습니다.
[그림 2. useradd testUserdel error]
그림 2 에서는 useradd 경고가 3줄이 나왔지만 그림 3과 같이 한줄로 "useradd: 사용자 testUserdel이(가) 이미 있습니다"와 같은 에러가 출력 될수도 있습니다.
[그림 3. userdel testUserdel error]
그림 3 에서 userdel 명령의 에러를 보고 지워지지 않은 /var/spool/mail 디렉토리에 testUserdel파일과 /home 디렉토리에 testUserdel 디렉토리를 찾아 삭제한 후 다시 useradd 명령으로 testUserdel 계정을 등록한 화면입니다.
그림 2, 그림 3번과 같은 오류 메시지를 보지 않기 위해서는 계정을 삭제할때 확실하게 삭제해야 하는대 그 방법은 userdel 명령어 뒤에 -r 옵션으로 가능합니다. userdel 명령어에는 -f 옵션도 있는대 이 옵션은 강제종료 옵션으로 해당 계정이 사용중 이라도 강제로 삭제시켜 버리는 옵션입니다. -r 옵션에 사용 유무에 따른 결과는 다음 표와 같습니다.
옵션 | 설명 |
/etc/passwd 파일에서 계정 정보 삭제 | |
/etc/shadow 파일에서 계정 정보 삭제 | |
/etc/group 파일에서 계정 정보 삭제 | |
-r | /etc/passwd 파일에서 계정 정보 삭제 |
/etc/shadow 파일에서 계정 정보 삭제 | |
/etc/group 파일에서 계정 정보 삭제 | |
/var/spool/mail 디렉토리에서 계정이름을 가진 메일파일 삭제 | |
홈 디렉토리 삭제 |
[표 2. 옵션에 사용 유무]
하지만 계정 사용중 홈 디렉토리 경로를 변경했다면 -r 옵션으로 삭제를 실행해도 홈 디렉토리를 삭제되지 않을 수 있습니다.