리눅스마스터2급강좌 : 사용자 생성3
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,923 조회
- 0 추천
- 목록
본문
리눅스마스터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라는 사용자를 생성하면서 UID를 510으로, 부속 그룹을 기존에 존재하는 500과 501로, 홈디렉토리를 /home/master-1로, 만료일자를 2015년 11월 30일로, 기본쉘을 /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 옵션 뒤에 추가 옵션을 붙여서 기본 설정을 바꾸어 준 것이다.
group의 gid 설정을 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 |
|
|
|
|
관련자료
-
이전
-
다음