2013년 12월 19일 목요일

Useradd -사용자계정 생성


사용자를 생성하기 위해서 useradd 나 adduser 명령을 사용한다.
두명령어는 이름만 다를 뿐 동일한 기능을 수행 한다.
사용자 계정 생성은 반드시 시스템 관리자권한으로 해야 생성된다.

1.사용법

useradd   [option]   ID


2.옵션 정리


옵션
상세 내용
비고
-u
사용자의 UID정보를 임의로 변경
지정하지 않으면 시스템의 설정을 따른다.
-g
사용자의 기본그룹 지정시 사용
-G
사용자의 공유그룹 지정시 사용
지정하지 않으면 기본 그룹에만 속하게 된다.
-c
사용자에게 설명 부여
-d
사용자의 홈 디렉토리를 지정한다.

-s
사용자가 이용할 쉘을 지정한다.
지정하지 않으면 Bash Shell로 지정된다.
-m,-k
사용자의 홈 디렉토리를 옴기고 skel 경로를 옮긴다.
 

3.실무적인 매커니즘 이해

  리눅스 서버관리자라면 초보자라 하더라도 useradd라는 명령어를 사용하여 새로운 사용자를 생성하는 방법은 알고 계실 것이라 생각합니다. 하지만 useradd라는 새로운 사용자가 생성될때 시스템에서는 어떤 작업들이 자동으로 이루어져 새로 생성되는 사용자의 시스템 사용을 하도록 하는가에 대한 정확한 시스템의 실무 매커니즘을 이해하고 계신분은 드물 것이라 생각합니다.

즉  useradd라는 명령어를 사용하는 방법을 익히는 것도 중요하지만 유능한 서버관리자가 되려면 useradd명령어의 실행으로 서버에서 어떤 작업들이 실제로 이루어지는 가를 알아야 하며 생성되는 사용자를 위한 시스템 환경설정이 어떻게 이루어 지는가를 정확하게 알고 있어야 한다고 생각합니다/.

즉 이번 예에서는 서버관리자가 useradd라는 명령어를 사용하여 새로운 계정 사용자를 생성하였을 겅우에 서버 내부에서 작업되는 여려가지 실무적인 매커니즘을 설명하고자 합니다.


▣ 준 비 작 업   

- test라는 계정 생성

#useradd test                                                          

- test 패스워드 생성

#passwd test 
Changing password for user test.
New password: ********
Retype new password: ********
passwd: all authentication tokens updated successfully.

#                                                   

지금부터 useradd로 test라는 계정사용자를 생성한 후에 시스템에서 어떠한 작업딜이 이루어 졌는가를 살펴보겠습니다.

- /etc/passwd내에 test의 계정사용 정보 등록

#tail /etc/passwd | grep test
sspark:x:505:506::/home/sspark:/bin/bash                              

, /etc/passwd파일에 sspark이라는 계정사용자의 ID,암호필드, UID, GID,이름, 홈디렉토리위치, 사용쉘이 차례대로 등록되어 있음을 알 수 있습니다.


 - sspark의 홈디렉토리 생성및 환경파일 생성

# ls -al /home/sspark/
합계 32
drwx------  3 test  test      4096  9
19 10:47 .
drwxr-xr-x   7 root  root     4096  9
19 10:47 ..
-rw-r--r--    1 test  test         24  9
19  10:47bash_logout                            
-rw-r--r--    1 test  test       191  9
19 10:47 .bash_profile
-rw-r--r--    1 test  test       124  9
19 10:47 .bashrc#

위의 파일들은 /etc/skel/디렉토리내에 존재하는 파일들이 모두 복사되어 들어간 것입니다.   아래 "useradd가 참조하는 파일 : /etc/skel/디렉토리내의 모든 파일들"설명을 참조하시기 바랍니다.

- useradd가 참조하는 파일 : /etc/login.defs

  •   MAIL_DIR : 메일 디렉토리 지정
  •   PASS_MAX_DAYS : 패스워드 변경없이 사용할 수 있는 최대일자
  •   PASS_MIN_DAYS : 패스워드 변경없이 사용할 수 있는 최소일자
  •   PASS_MIN_LEN : 패스워드의 최소바이트 수
  •   PASS_WARN_AGE
  •   UID_MIN : 생성할 수 있는 UID 시작번호
  •   UID_MAX : 생성할 수 있는 최대 GID 번호 
  •   GID_MIN : 새로 생성되는 그룹의 GID 시작번호
  •   GID_MAX : 새로 생성되는 그룹에서 지정 할 수 있는 최대 GID번호
  •   CREATE_HOME : 홈디렉토리를 생성할 것인가의 여부

 (, UID_MAX에서 UID_MIN를 빼고 1을 더한 수만큼의 새로운 계정을 생성할 수 있음을 알 수 있다.)


 - useradd가 참조하는 파일
   /etc/skel/디렉토리 내의 모든 파일들

      test의 홈디렉토리로 /home/test이 생성이 되었으며 로그인 후에 서버사용을 위한 기본 설정파일들이 위와 같이 있습니다.  여기서 중요한 것은 계정이 생성되고 난 후에 /etc/skel/디렉토리에 존재하는 모든 파일들이 새로 생성된 사용자의 홈디렉토리로 복사되었다는 점입니다.  
 



# ls -al /etc/skel/
합계 36
drwxr-xr-x    3 root     root         4096  8
28 03:08 .
drwxr-xr-x   62 root     root         8192  9
19 10:47 ..
-rw-r--r--    1 root     root           24  8
24  2002 .bash_logout
-rw-r--r--    1 root     root          191  8
24  2002 .bash_profile
-rw-r--r--    1 root     root          124  8
24  2002 .bashrc
#
     
Categories:

0 개의 댓글:

댓글 쓰기

Subscribe to RSS Feed Follow me on Twitter!