ITEASY

닫기

추천 검색어
# 클라우드
# VPN
# 무료서비스
# 호스팅
# 이벤트

이전 단계

기술문서

리눅스 개별 사용자 생성 및 삭제

2007. 09. 06

사용자 계정생성 및 삭제 


서버관리자의 주된 업무중에 한가지가 사용자의 계정관리이다. 사용자의 계정을 생성해 주거나 불필요하게 된 계정을 삭제하는 등의 일은 다음과 같은 명령어로 할 수 있다. 


● 사용자의 계정생성 


시스템에서 한 사용자를 생성한다는 의미는 수용되는 시스템에서 사용자가 사용할 수 있는 모든 설정들을 해줘야 하며 단순히 ID와 패스워드 생성외에도 다음과 같은 작업을 해야한다. 



① /etc/passwd 파일에 사용자의 계정(ID 및 패스워드)생성 


② /etc/group파일에 사용자의 그룹생성 


③ /home에 사용자의 홈디렉토리 생성 


④ 사용자의 로그인정보 및 환경설정 


⑤ 사용자의 디렉토리 및 파일 소유권 변경 및 확인 


⑥ DB 사용을 위한 환경설정 및 응용프로그램사용을 위한 환경설정 


⑦ 기타 응용 소프트웨어 사용을 위한 설정등 


리눅스에서 새로운 사용자의 계정을 생성할때는 useradd나 adduser라는 명령어를 사용한다. useradd로 사용자를 생성할때는 다소 복잡한 과장을 거쳐서 작업이 되는데 시스템관리자라면 어떤 작업들이 이루어 지는가를 확실히 알고 있어야 한다. 


우선 useradd로 사용자를 생성해 보도록 하자. 


[root@ciss9 /]# useradd testuser 



이 작업이 정상적으로 종료가 되면 아무런 메시지없이 쉘프롬프트가 나오며 작업의 결과 /etc/passwd에 계정등록과 /home/testuser의 홈디렉토리의 생성된다. 


다음은 위의 작업결과의 내용을 확인한 것이다. 


[root@ciss9 testuser]# grep testuser /etc/passwd 

testuser:x:512:512::/home/testuser:/bin/bash 

[root@ciss9 testuser]# pwd 

/home/testuser 

[root@ciss9 testuser]# ls -al 

total 40 

drwx------ 4 testuser testuser 4096 Oct 13 16:59 . 

drwxr-xr-x 15 root root 4096 Oct 13 16:59 .. 

-rw-r--r-- 1 testuser testuser 1422 Oct 13 16:59 .Xdefaults 

-rw-r--r-- 1 testuser testuser 24 Oct 13 16:59 .bash_logout 

-rw-r--r-- 1 testuser testuser 230 Oct 13 16:59 .bash_profile 

-rw-r--r-- 1 testuser testuser 124 Oct 13 16:59 .bashrc 

drwxr-xr-x 3 testuser testuser 4096 Oct 13 16:59 .kde 

-rw-r--r-- 1 testuser testuser 966 Oct 13 16:59 .kderc 

-rw-rw-r-- 1 testuser testuser 3505 Oct 13 16:59 .screenrc 

drwxr-xr-x 5 testuser testuser 4096 Oct 13 16:59 Desktop 

[root@ciss9 testuser]# 



그럼, 어떻게 이런 작업이 시스템 내부적으로 이루어 지는가에 대해서 자세히 알아보도록 하자. 


useradd로 사용자 생성명령을 내리면 /etc/login.defs의 조건이 적용되어 /etc/default/useradd에 있는 기본값으로 사용자를 생성되며 /etc/skel디렉토리에 있는 내용들이 기본설정파일로 사용자의 홈디렉토리로 복사되어 들어가게 된다는 것이다. 


이 사실을 분명히 이해해야 한다. 따라서 이 파일들의 변경을 통하여 useradd로 생성되는 기본값을 변경할 수도 있다. useradd로 생성되는 기본값의 확인은 다음과 같이 한다. 


[root@ciss9 /]# useradd -D 

GROUP=100 : GID 

HOME=/home : 홈디렉토리의 위치 

INACTIVE=-1 

EXPIRE= : 계정종료 일자지정 

SHELL=/bin/bash : 사용할 쉘지정 

SKEL=/etc/skel : 복사될 내용지정 



위와 같이 ""useradd -D"란 명령어를 입력하면 /etc/default/useradd의 내용을 그대로 보여준다. 특히 마지막 라인에 있는 "SKEL=/etc/skel"은 사용자의 환경을 위해 /home/ID로 생성된 사용자의 홈디렉토리에 복사되어 진다. 


그 내용은 다음과 같다. 


[root@ciss9 skel]# pwd 

/etc/skel 

[root@ciss9 skel]# ls -al 

total 40 

drwxr-xr-x 4 root root 4096 Aug 12 05:42 . 

drwxr-xr-x 37 root root 4096 Oct 13 16:59 .. 

-rw-r--r-- 1 root root 1422 Mar 30 1999 .Xdefaults 

-rw-r--r-- 1 root root 24 Jul 14 1994 .bash_logout 

-rw-r--r-- 1 root root 230 Aug 23 1998 .bash_profile 

-rw-r--r-- 1 root root 124 Aug 24 1995 .bashrc 

drwxr-xr-x 3 root root 4096 Aug 12 05:41 .kde 

-rw-r--r-- 1 root root 966 Apr 17 05:45 .kderc 

-rw-rw-r-- 1 root root 3505 Apr 8 1999 .screenrc 

drwxr-xr-x 5 root root 4096 Aug 12 05:41 Desktop 




또한 "useradd -D"의 내용을 변경할 수 있다. 


[root@ciss9 default]# useradd -D -b /user/student 

[root@ciss9 default]# useradd -D -s /bin/csh 

[root@ciss9 default]# 

[root@ciss9 default]# useradd -D 

GROUP=100 

HOME=/user/student 

INACTIVE=-1 

EXPIRE= 

SHELL=/bin/csh 

SKEL=/etc/skel 



이 예는 useradd로 새로 생성되는 사용자의 홈디렉토리의 위치를 변경했으며 사용하게될 쉘(Shell)을 C쉘로 변경하였다. 


이후부터 생성되는 사용자의 홈디렉토리는 /user/student/ID가 될 것이며 사용쉘 또한 /bin/csh가 될 것이다. 


참고로 /etc/login.defs의 내용을 살펴보도록 하자. 


MAIL_DIR/var/spool/mail : 메일 스풀디렉토리 지정 

PASS_MAX_DAYS 99999 : 패스워드의 변경없이 사용할 수 있는 최대일자. 

PASS_MIN_DAYS 0 : 패스워드의 변경없이 사용할 수 있는 최소일자. 

PASS_MIN_LEN 5 : 패스워드 최소바이트 수 

PASS_WARN_AGE 7 

UID_MIN 500 : 새로 생성되는 사용자의 UID 시작번호 

UID_MAX 60000 : 최대로 생성될 수 있는 UID개수, 즉 최대수용 사용자수 

GID_MIN 500 : 새로 생성되는 그룹의 GID 시작번호 

GID_MAX 60000 : 최대로 생성될 수 있는 GID개수. 

CREATE_HOME yes : 홈디렉토리를 자동으로 생성할 것인가의 여부 



이상으로 사용자의 생성에 대해서 알아보았다. 다소 이해가 어렵더라도 확실히 이해하고 넘어가야 할 부분이다. 


서버관리의 시작이 사용자의 계정생성 및 환경설정에서부터 출발한다고 할 수 있다는 측면에서 이에대한 이해또한 무엇보다 중요하기 때문이다. 




● 사용자의 계정삭제 


시스템에서 사용자의 계정과 정보를 삭제할때는 지금까지 작업되어 있는 사용자의 모든정보와 환경들을 모두 삭제해야 한다는 의미인데 이는 단순히 ID와 패스워드 및 홈디렉토리를 삭제한다는 의미를 넘어서 데이터베이스를 사용한 경우에는 이에 대한 정보도 함께 삭제를 해야하며 응용소프트웨어, 예를 들어 삼바같은 소프트웨어를 사용했다면 ID와 패스워드가 생성이 되어 있을 것이므로 이에 대한 정보들도 모두 삭제를 해줘야 한다. 


따라서 시스템에서 새로운사용자 생성하는 작업은 삭제하는 작업보다도 더 신중함을 요하며 효율적인 시스템사용과 관리를 위하여 삭제되는 사용자의 정보를 꼼꼼이 챙겨서 모두 삭제를 해 줘야한다. 


그리고 잊지 말아야 할 것은 삭제를 하기전에 반드시 백업을 받아 두어야 한다는 것이다. 가입해지를 했던 사용자가 자기의 홈페이지등을 백업해두지 않아서 서버관리자에게 복구를 요청하는 것은 상용서버를 운용해 본 경험이 있으신 분들은 아마도 한번 이상의 경험이 있으리라 생각한다. 


삭제하기 전엔 반드시 백업을 염두에 두기 바란다. 사용자는 삭제할 때에는 다음과 같은 작업들을 해야한다. 


① /etc/passwd 파일에 사용자의 계정(ID 및 패스워드)삭제 


② /etc/group파일에 사용자의 그룹삭제 


③ /home에 사용자의 홈디렉토리 삭제 


④ /var/spool/mail에서 사용자의 메일삭제 


⑤ 오라클등 DB등에서 사용자의 ID 및 패스워드 삭제 


⑥ 기타 응용 프로그램에서 사용자의 정보 삭제 



[root@ciss9]# useradel testuser 



다음의 예를 보자. 

/etc/passwd내의 사용자 정보(ID, Password등)가 삭제된다. 


[root@ciss9]# userdel -r testuser 




/etc/passwd내 정보와 /home/testuser이하의 홈디렉토리까지 삭제된다. 


또한 다음과 같이 스풀디렉토리에 있는 사용자의 메일도 삭제를 해야한다. 


[root@ciss9 /]# rm /var/spool/mail/testuser 



출처 한국소프트웨어진흥원

이전 글 여러개의 파일을 하나의 파일로 합치기

2007. 09. 06

다음 글 그룹 생성 및 삭제하기

2007. 09. 06

목록

무엇이든 물어보세요

아이티이지 전문가가 궁금하신 점을 쉽고 빠르게 해결해 드리겠습니다.

고객센터 1600-8324
내선번호
  • 내선 1 서버 / IDC

  • 내선 2 클라우드

  • 내선 3 관리대행 / ITO

  • 내선 4 도메인

  • 내선 5 보안 서비스 문의

  • 내선 6 문자 / 카카오비즈메시지

  • 내선 7 Microsoft365

  • 내선 8 마케팅/서비스 제휴

  • 내선 9 홈페이지 제작

  • 내선 0 기타서비스

  • 내선 11 긴급 장애

휴일 긴급 연락처010-3124-8320

평일 9:00~18:00 (IDC 긴급 장애처리 24시간 운영)

FAX 02-6264-8321

문의하기