본문으로 바로가기

리눅스에서 새로운 사용자를 추가할때 참조하게 되는 구성파일들을 살펴봅니다.

useradd 환경 설정 구성 파일들

  • /etc/default/useradd
  • /etc/login.defs
  • /etc/skel/

/etc/default/useradd

useradd의 기본파일로서, useradd로 계정 생성시에 어떤 환경과 어떤 파일들을 참조하여 새로운 계정을 생성할 것인가에 대하여 정의되어 있다.

cat /etc/default/useradd

  # 기본 소속 그룹 GID=users
  GROUP=100 

  # 홈디렉토리 경로
  HOME=/home

  # 패스워드 종료일 이후의 유효(기간)여부 설정 (0, -1, 1 이상의 숫자)   
  INACTIVE=-1    

  # 계정 만료기간
  EXPIRE=    

  # 기본쉘
  SHELL=/bin/bash  

  # 홈디렉토리 생성시 함께 생성되는 skel 디렉토리 경로 
  SKEL=/etc/skel    

  # 계정 생성시 메일함 생성 여부 
  CREATE_MAIL_SPOOL=yes  

INACTIVE 의 값

  • 1이상의 숫자 : 10을 지정하면 패스워드 만료기간이 된 이후에 10일 동안은 패스워드가 유효
  • 0 : 패스워드 만료기간이 되자마자 바로 패스워드를 잠궈버림
  • -1 : 이 기능자체를 비활성화 함

/etc/login.defs

useradd 가 새로운 계정을 생성할때 반드시 참조하는 파일이다.

cat /etc/login.defs

  # 메일 디렉토리 위치지정 /var/spool/mail/사용자명
  MAIL_DIR        /var/spool/mail 

  # 패스워드 만료일
  PASS_MAX_DAYS   99999

  # 패스워드변경 후 다시 변경할 수 있는 최소일자, 0 이면 즉시 재변경 가능
  PASS_MIN_DAYS   0 

  # 패스워드 최소길이(영문자 5, 혹은 5bytes)
  PASS_MIN_LEN    5 

  # 패스워드 사용일자가 종료되기 7 일전부터 경고 메세지
  PASS_WARN_AGE   7

  # 새로 생성되는 사용자에게 할당 할 수 있는 UID 시작번호, 500번 부터 자동할당
  UID_MIN                   500 

  # 새로 생성되는 사용자에게 할당 할 수 있는 최대 UID 번호
  UID_MAX                 60000

  # 새로 생성되는 그룹의 GID 시작번호를 지정
  GID_MIN                   500

  # 새로 생성되는 그룹의 최대 GID 번호
  GID_MAX                 60000 

  # 사용자를 삭제할때 실행될 커맨드 지정
  #USERDEL_CMD    /usr/sbin/userdel_local

  # 홈디렉토리 생성여부
  CREATE_HOME     yes

  # UMASK 값, 지정하지 않으면 기본값으로 022 가 적용
  UMASK           077

  # userdel 실행시에 멤버가 없는 그룹도 삭제
  USERGROUPS_ENAB yes 

  # 암호화 방법
  ENCRYPT_METHOD SHA512         

/etc/skel/

useradd가 새로운 계정을 생성할때 /etc/skel/ 디렉토리의 내용들이 사용자의 홈디렉토리로 자동 복사된다.

ls -al /etc/skel

  합계 20
  drwxr-xr-x.  2 root root 4096 2013-05-28 01:54 .
  drwxr-xr-x. 61 root root 4096 2013-06-02 08:03 ..
  -rw-r--r--.  1 root root   18 2013-02-22 06:09 .bash_logout
  -rw-r--r--.  1 root root  176 2013-02-22 06:09 .bash_profile
  -rw-r--r--.  1 root root  124 2013-02-22 06:09 .bashrc

웹호스팅을 위한 /etc/skel/ 디렉토리

  • 홈페이지디렉토리 - /etc/skel/public_html
  • 로그디렉토리 - /etc/skel/error_log
  • 초기안내파일 - /etc/skel/public_html/index.html

여분의 skel 디렉토리를 만들어 두고 용도에 맞게 불러들일 수 있다. 아래는 paul 사용자를 생성하면서 /etc/skel_ex를 불러들인다.

useradd -m -k /etc/skel_ex paul