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

리눅스마스터2급강좌 : 사용자 생성3

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터2급강좌 : 사용자 계정 생성3

사용자 생성 : useradd

사용자 생성을 위한 기본적인 작업들은 useradd 또는 adduser 명령을 사용하여 수행할 수 있다(adduser 명령은 useradd 명령에 링크되어 있으며, 리눅스 배포판에 따라 사용자 추가를 위한 스크립트로서 제공되기도 한다). 이외에도 X 윈도우 환경에서 사용할 수 있는 GUI 프로그램도 존재한다.

 

 

 

 

 

 

사용자 생성을 위해서 “useradd <username>” 의 형태로 명령을 내리면 된다.

 

 

 

 

이 명령을 내리면 /etc/default/useradd 파일의 기본 설정을 적용하여 사용자를 생성한다.

 

 

 

 

 

 

 

 

 

 

# useradd sulinuxer

 

 

 

 

 

만약 기본 설정을 변경하여 사용자를 생성하려면 다음과 같은 형식으로 옵션을 주어 useradd 명령을 내리면 된다.

 

 

 

 

 

useradd [-u uid [-o]] [-g group] [-G group, ...][-d home] [-s shell] [-c comment] [-m [-k template]][-f inactive] [-e expire] [-n] [-r] username

 

 

 

 

 

옵 션

기 능

-u

사용자의 UID를 지정한다.

-g

사용자가 속할 사용자의 그룹을 지정한다.

-G

사용자가 속할 부속 그룹을 지정한다.

-d

사용자의 홈디렉토리를 지정한다.

 

 

 

 

 

-s

사용자의 기본쉘(로그인쉘)을 지정한다.

-c

사용자에 대한 설명을 추가한다.

-m

사용자의 홈디렉토리가 없다면 생성하고, 이곳에 /etc/skel의 내용을 복사한다.

-f

패스워드 비활성화 기간, 즉 패스워드가 유효기간 종료 이후에 계정이 비활성화될 일 수를 지정한다.

-e

만료일자를 지정한다.

 

 

 

 

YYYY-MM-DD의 형식으로 일자를 지정하면, 이 날짜 이후에는 사용 불가능해 진다.

-n

사용자가 사용자명과 동일한 그룹이 아니라 /etc/default/useradd에 정의된 그룹에 속하도록 한다.

 

 

 

 

 

-c

시스템 계정을 생성하기 위해서 사용된다.

 

예를 들어 생성되는 사용자의 그룹이나 홈 디렉토리의 위치 등은 /etc/default/useradd에 설정된 기본값으로 지정된다.

 

 

 

 

그렇지만 사용자 생성 시에 useradd 뒤에 다양한 옵션을 넣어서 사용자에 대한 구체적인 설정을 할 수 있다.

 

 

 

 

이와 같이 사용자를 생성하면 상기한 설정 파일들, /etc/passwd, /etc/shadow /etc/group에 해당 사용자에 대한 정보들이 기록된다.

 

 

 

 

 

 

다음은 이에 대한 간단한 예제이다.

 

 

 

 

 

 

 

 

 

 

# useradd -u 510 -G500,501 -d /home/master-1 -e 2015-11-30 -s /bin/sh -f 10 master

 

 

 

 

 

이 예제는 master라는 사용자를 생성하면서 UID510으로, 부속 그룹을 기존에 존재하는 500501, 홈디렉토리를 /home/master-1, 만료일자를 20151130일로, 기본쉘을 /bin/sh, 패스워드 비활성화 기간을 10일로 지정하였다.

 

우선 /etc/passwd 파일에서 관련 사항을 확인할 수 있다.

 

 

 

 

홈디렉토리가 제대로 생성되었는지는 “ls al /home/master-1” 명령으로 확인이 가능하다.

 

 

 

 

 

 

 

 

 

 

# grep master /etc/passwd

master:x:510:510::/home/master-1:/bin/sh

 

 

 

 

 

그리고 /etc/group 파일에서 1개의 기본 그룹에 더해 지정한 2개의 부속 그룹에 속하게 된 것을 알 수 있다.

 

 

 

 

 

# grep master /etc/group

sulinuxer:x:500:master

test:x:501:master

master:x:510:

 

 

 

 

 

한편 다음과 같이 useradd 뒤에 D 옵션을 붙여서 명령을 내리면 /etc/default/useradd라는 파일에 저장된 사용자 생성에 관한 기본 설정값이 출력되고, -D 옵션 뒤에 추가적인 옵션을 붙여서 명령을 내리면 해당 기본 설정값을 수정할 수 있다.

 

 

 

 

 

useradd D

useradd D [-g group] [-b base] [-s shell] [-f inactive] [-e expire]

 

 

 

 

 

우선 다음과 같이 useradd -D 라고만 입력해 보자.

 

 

 

 

 

# useradd -D

GROUP=100 ----

HOME=/home ----

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash ----

SKEL=/etc/skel ----

CREATE MAIL SPOOL=yes

 

 

 

 

 

위의 예에서 주요한 사항들은 다음과 같다.

 

사용자를 추가할 때 기본적으로 100이라는 GID(그룹을 구분하기 위해 사용되는 그룹별로 주어지는 숫자)를 가지는 그룹으로 지정한다.

 

 

 

 

다만, 이것은 useradd 명령에 n 옵션을 주었을 때에만 적용된다.

 

 

 

 

홈 디렉토리는 /home 디렉토리 아래에 사용자 이름의 디렉토리를 만들도록 설정되어 있다.

 

 

 

사용자의 기본 쉘은 bash로 설정되어 있다.

 

 

 

필요한 기본 설정 파일은 /etc/skel 디렉토리에서 가져오도록 지정되어 있다.

 

 

 

 

 

 

다음은 -D 옵션 뒤에 다음 추가 옵션을 붙여서 설정하면 기본 설정값이 변경된다.

 

옵 션

기 능

-g

기본 설정 그룹을 변경한다.

-b

새로 사용자를 추가할 때 홈 디렉토리의 위치를 변경한다.

 

 

 

 

차후 새로운 사용자를 추가하면, 사용자의 홈 디렉토리는 -b 옵션에 지정된 디렉토리의 하위 디렉토리로 생성된다.

-f

패스워드 비활성화 기간을 변경한다,

-s

기본쉘을 변경한다

-e

만기일자를 변경한다

 

다음 예제는 D 옵션 뒤에 추가 옵션을 붙여서 기본 설정을 바꾸어 준 것이다.

 

 

 

 

groupgid 설정을 100에서 500으로 바꾸어 주었다.

 

 

 

 

 

# useradd -D -g 500

# useradd -D

GROUP=500

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

CREATE MAIL SPOOL=yes

 

 

 

 

 

다음은 생성되는 사용자의 홈디렉토리에 복사될 /etc/skel 파일 이하의 파일들이다.

 

 

 

 

 

# ls -a /etc/skel

. .. .bash_logout .bash_profile .bashrc .mozilla

 

 

 

 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,807 개
  • 현재 접속자 :  113 명