본문 바로가기
기록하는 중/UNIX

[Unix] 사용자 계정 만들기

by 성장하는 요롱이 2023. 11. 26.
useradd 명령 - 1

 

1. 사용자 계정을 만드는 관리자 명령

useradd [option] username

- useradd -c 'gildong Hong'  gdHong은 gdHong이란 계정을 만듬

-  -c옵션은 계정의 설명을 주기 위한 것

- passwd [username]명령으로 비밀번호를 설정할 수 있음

 

useradd -D [option]

- useradd -D명령은 계정을 생성할 때 사용되는 홈 디렉터리, 주그룹, 만료일, 기본 셸 등에 관한 기본 설정을 보여줌

- 다른 옵션을 함께 사용하여 기본 설정을 변경 할 수 있음

 

 

useradd 명령 - 2

 

옵션 설명
-d home-dir 새로운 계정의 홈 디렉터리를 설정함. 이옵션을 사용하지 않을 때
기본 홈 디렉터리는 /home/username
-D [option] -D만 사용하면 사용자 계정 생성 시 사용되는 현재의 환경설정을 보여줌
옵션에 
-b : 디렉터리의 위치
-e : 만료 날짜
-g : 주 그룹 
-s : 기본 셸
등의 기본 설정 변경 가능
-e expire_date 계정의 만료일을 설정.
ex : -e 2024-12-31과 같이 작성
기본값은 /etc/default/useradd파일에서 EXPIRE 변수의 값은 보통 무기한(빈 문자열)임.
-g group 계정이 속한 주 그룹을 지정.
그룹은 /etc/group 파일에 이미 존재해야함.
기본적으로 사용자 계정 및 UID와 같은 값을 가지는 그룹계정과 GID가 만들어짐
-G group_list 계정이 속한 부 그룹 지정
여러개 지정하려면 ,(콤마)로 구분하여 설정
-s shell 사요자의 기본 셸을 설정
ex : -s /bin/bash
-u user_id 사용자의 UID를 수동으로 설정
기본적으로 다음으로 가용한 UID가 자동으로 지정됨

 

 

 

사용자 계정의 생성 절차

1. /etc/login defs 파일과 /etc/default/useradd 파일을 읽어서 사용자 계정 생성과 관련된 기본값을 확인

2. useradd 명령어에서 주어진 옵션을 검사하여 기본값을 대체할 것인지 확인

3. /etc/passwd 파일과 /etc/shadow 파일에 새로운 사용자 계정에 해당하는 항목을 생성

4. /etc/group 파일에 새로운 그룹에 해당하는 항목을 추가

5. /home/디렉터리 파일에서 사용자 계정의 홈 디렉터리 /home/username를 생성

6. /etc/skel/디렉터리에 있는 파일을 사용자 계정의 홈 디렉터리에 복사

 

/etc/passwd 파일

1. 사용자 계정에 관한 정보를 가진 텍스트 파일

 - 라인별로 저장

 - 직접 수정은 좋지 않음

2. 각 라인은 콜론(:)으로 구분되는 7개의 필드를 가짐

3. 사용자계정:암호:UID:GID:설명:홈 디렉터리:기본셸

  -kdhong:x:1000:1000:kildong Hong:/home/kdhong:bin/bash

 

/etc/skel디렉터리

 1. 사용자 홈 디레거리에복사되는 파일들을 가짐

 2. bash_profile, bashrc, bash_logout 등

 

/etc/shadow 파일

1. 사용자 계정의 암호 정보와 '패스워드 에이징'정보를 가짐

2. 각 라인은 아래와 같은 라인을 가짐

  - kdhong:$6$w8j<중간생략>:19585:0:100:7:10:19722:

3. 필드의 의미

 - 사용자 계정:암호화된 비밀번호:최종비빌번호변경일:

 - 0 : 비밀번호 변경 후 바꿀 수 없는 기간(minimun password age)

 - 100 : 비밀번호 변경 후 다시 변경하지 않고 사용할 수 있는 기간, 최대기간(maximun password age)은 99999

 - 7 : 비밀번호 만료일 전에 경고를 보내는 날짜 수(password warning period)

 - 10 : 비밀번호의 만료 후 로그인이 가능한 날짜 수(password inactivity period)

 - 사용자 계정의 만료일(account expiration date)로 빈 값은 계정이 만료되지 않는다는 것

 - 예약 필드

 

chage 명령

1. 사용자의 비밀번호 만료에 대한 정보를 변경하는 관리자 명령

chage [option] username

 - chage -l username : 계정의 패스워드 에이징 정보를 확인함

옵션 설명
-l days 비밀번호 만료 후 비활성화 되기 전까지의 날짜 수 (-1은 사용하지 않음)
-m days 비밀번호의 최소(0은 즉시 수정 가능)
-M days 최대 사용 날짜 수(99999는 최대 날짜 수)
-d date 비밀번호의 마지막 변경 날짜 수정
-E date 사용자 계정의 만료일을 지정(-1은 사용하지 않음

 

 

사용자 계정의 기본 설정 - 1

1. 사용자 계정을 생성할 때 필ㅇ한 기본값을 정의한 파일이 있음

2. /etc/login.defs 파일

 - 각 라인은 키워드와 값으로 구성

 - UID_MIN과 UID_MAX는 UID를 자동 할당 할 때 유효 범위를 지정

 - USERGROUPS_ENAB은 사용자 계정과 가은 이름의 그룹을 자동으로 만들지를 지정

 

사용자 계정의 기본 설정 - 2

1.useradd 명령이 참조하는 기본값을 설정한 파일

2. /etc/default/useradd파일

 - GROUP은 (자동 생성을 안 할 때) 사용자 계정의 주 그룹을 지정

 - 홈디렉터리의 생성 위치와 셸의 종류를 지정

 - INACTIVE가 0이면 비밀번호 만료 후 즉시 계정을 비활성화, -1이면 기능을 사용하지 않는 것

 - EXPIRE 값이 없으면 계정의 만료일이 없는 것

 

 

 

 

 

'기록하는 중 > UNIX' 카테고리의 다른 글

[Unix] 그룹 계정과 관리  (0) 2023.11.26
[Unix] 사용자 계정 수정  (0) 2023.11.26
[Unix] 사용자 계정  (0) 2023.11.26
[Unix] 데스크톱  (0) 2023.11.26
[Unix] 시스템 종료  (0) 2023.11.26