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

리눅스마스터1급 : 리눅스 사용자관리 관리 실무 useradd

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: 리눅스 사용자관리 관리 실무 useradd

 

 

useradd

 

 

시스템 사용자 생성을 위한 기본적인 작업들은 useradd 또는 adduser 명령을 사용하여 수행할 수 있다.

 

 

 

Fedora, CentOS, Asianux, SULinux 등의 리눅스 배포판에서 adduser 명령은 useradd 명령에 링크되어 있는데, 리눅스 배포판에 따라 사용자 추가를 위한 스크립트로서 제공되기도 한다.

 

 

 

 

 

시스템 관리에서 사용자들을 어떻게 관리하느냐도 시스템의 안전과 효율적인 관리를 위해 중요한 부분이다.

 

 

 

한편, useradd 명령어로 사용자가 생성될 때에 시스템에서는 어떤 작업들이 자동으로 이루어지는가를 알아야 하며 생성되는 사용자를 위한 시스템 환경 설정이 어떻게 이루어지는가를 정확하게 알고 있어야 한다.

 

 

 

 

 

1) 개요

 

 

 

 

 

useradd [-u uid [-o]] [-g group] [-G group, ...]

[-d home] [-s shell] [-c comment] [-m [-k template]]

[-f inactive] [-e expire] [-n] [-r] username

useradd D

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

 

 

 

 

 

 

2) 옵션

 

useradd 명령에 사용되는 옵션들은 다음과 같다.

 

 

 

 

-u :

 

사용자의 UID를 지정한다.

 

 

 

 

-g :

 

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

 

 

 

 

-G :

 

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

 

 

 

 

-d :

 

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

 

 

 

기본 설정된 홈디렉토리 대신에 여기에 사용자 디렉토리를 만들게 된다.

 

 

 

 

-s :

 

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

 

 

 

 

-c :

 

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

 

 

 

 

-m :

 

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

 

 

 

 

-f :

 

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

 

 

 

 

-e :

 

만기일자를 지정한다.

 

 

 

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

 

 

 

 

-n :

 

레드햇 리눅스에 기반한 리눅스 배포판에서 특별히 기본 그룹을 지정하지 않는 경우에 사용자명과 동일한 그룹이 생성되고 생성된 사용자가 이에 소속되는데, 이것 대신에 /etc/default/useradd에 정의된 그룹에 속하도록 한다.

 

 

 

기본 그룹이 정의되어 있지 않으면 그룹 1이 사용된다.

 

 

 

 

-c :

 

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

 

 

 

 

-D : /etc/default/useradd의 기본 설정값을 출력한다.

 

 

 

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

 

 

 

 

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

 

 

 

 

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

 

 

 

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

 

 

 

 

-f :

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

 

 

-s :

 

기본쉘을 변경한다

 

 

-e :

 

만기일자를 변경한다

 

 

 

3) 설명

 

 

사용자를 생성하기 위한 기본 문법은 “useradd <username>” 의 형태로 <username>에 지정된 사용자를 /etc/default/useradd 파일을 참조하여 생성한다

 

(물론, 사용자를 생성한 후에는 passwd 명령으로 패스워드를 설정한다).

 

 

 

 

 

 

 

# useradd sulinuxer

 

 

 

 

 

 

생성되는 사용자의 그룹이나 홈 디렉토리의 위치 등은 /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:

 

 

 

 

 

 

 

다음으로 /etc/shadow 파일에서 만기일자와 패스워드 비활성화 기간이 설정된 것을 확인할 수 있다.

 

 

 

 

 

 

 

 

 

 

# grep master /etc/shadow

master:!!:16018:0:99999:7:10:16769:

 

 

 

 

 

 

 

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

 

 

 

 

 

우선 다음과 같이 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 옵션 뒤에 추가 옵션을 붙여서 기본 설정을 바꾸어 준 것이다.

 

 

 

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

 

 

 

 

 

 

 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,056 명
  • 현재 강좌수 :  35,910 개
  • 현재 접속자 :  216 명