계정

  • 사용자를 식별하고 인증을 받거나 로컬/네트워크 자원에 접근하는 것을 가능하게 해주는 객체

그룹

  • 비슷한 객체의 논리적인 집합
  • 권한을 편리하게 할당하기 위하여 사용
  • 하나의 그룹에 소속된 계정은 그룹의 권한을 그대로 상속 받는다.

사용목적

  • 사용자 식별 -> 인증/접근
  • 권한 할당 -> 보안성 향상
  • 사용자 별 환경 제공
    • 인식할 수 있는 하드웨어 성능, 관리기능, 제공 서비스 등이 다르다

계정 관리 파일

/etc/passwd 사용자 계정의 기본정보
/etc/shadow 암호화된 패스워드 및 정책 설정 정보
/etc/login.defs 전체 사용자 계정의 기본 정책이 설정된 파일
/etc/default/useradd 사용자 계정 생성 시 적용되는 기본 설정
/etc/skel 홈 디렉터리에 기본적으로 제공되는 파일의 저장 위치

계정 관리 명령어

useradd 사용자 계정 생성
adduser 사용자 계정 생성
passwd 사용자 패스워드 설정
usermod 사용자 계정의 설정 변경
chage 사용자 패스워드 관리
userdel 사용자 계정 삭제

/etc/passwd 파일

  • 사용자 계정의 기본 정보가 저장된 파일
  • #cat /etc/passwd
1 2 3 4 5 6 7
root :x :0 :0 :root :/root :/bin/bash
1 root 사용자 계정 이름
2 x 패스워드가 암호화되어 /etc/shadow파일에 저장되어 있다
3 0 uid (관리자 : 0, 사용자 : 500 이상
4 0 gid (관리자 : 0, 사용자 : 500 이상
5 /root 계정 정보(comment)
6 /root 사용자의 홈 디렉터리/n관리자 : /root, 사용자 : /home/계정이름
7 /bin/bash 사용자의 shell 정의 (default : bash

/etc/shadow 파일

  • 사용자 계저으이 암호화된 패스워드 및 정책 설정 정보가 저장된 파일
  • #cat /etc/shadow
1 2 3 4 5 6 7 8 9
root :$6$NAzqsXeFGHz3HIp3$kS2BgO… :16692 :0 :99999 :7 : : :
1 root 사용자 계정 이름
2 $6$NAz… 암호화된 패스워드 정보 (형식 : $hash_id$salt$hash_value)
3 16692 패스워드의 마지막 변경일 (1970년 1월 1일부터 경과된 일 수로 표시)
4 0 마지막 변경일로부터 패스워드를 최소 사용해야 하는 일 수
5 99999 마지막 변경일로부터 패스워드를 최대 사용할 수 있는 일 수(99999 : 무한대)
6 7 패스워드 만료를 경고하는 일(만료일 이전 n일부터 경고
7 패스워드 만료 후 사용 유예기간
8 계정 사용 만료일(월/일/연도)
9 예약된 필드(사용하지 않음)

/etc/login.defs 파일

  • 시스템에서 생성되는 전체 사용자 계저으이 기본 정책이 설정된 파일
  • #cat /etc/login.defs

계정1

/etc/default/useradd 파일

  • 사용자 계정 생성 시 적용되는 기본 정책이 설정된 파일
  • #cat /etc/default/useradd

계정2

/etc/skel 디렉터리

  • 사용자 계정의 홈 디렉터리에 제공 할 기본 환경설정 파일이 저장된 디렉터리
  • 사용자 홈 디렉터리의 초기 환경 제공을 위해 사용된다.
  • 사용자 계정을 생성 했을 때 skel 디렉터리에 있는 파일들이 자동으로 사용자 홈 디렉터리로 복사된다.

  • #ls -al /etc/skel

useradd 명령어 (=adduser)

  • 사용자 계정 생성

  • 사용법

    • #useradd [옵션][계정이름]
    • 옵션을 선택하지 않으면 “/etc/default/usradd”에 지정된 기본 값으로 생성 된다.

계정3

usermod 명령어

  • 사용자 계정의 설정 변경

  • 사용법

    • usermod [옵션][계정명]

계정4

passwd 명령어

  • 사용자 계정의 패스워드 생성 및 설정 변경
  • 관리자는 모든 계정의 패스워드 변경 가능
  • 사용자 계정은 자신의 패스워드만 변경 가능

  • 사용법
    • #passwd [옵션][계정명]
    OPTIONS  
    -d 패스워드를 null값으로 변경 (패스워드 삭제)
    -l 패스워드 잠금(Lock)
    -u 패스워드 잠금 해제
    -S 사용자 계정의 패스워드 설정 내용 확인

chage 명령어

  • 사용자 계정의 패스워드 설정 변경

  • 사용법

    • #chage [옵션][계정명]
    OPTIONS  
    -l(소문자 L chage 설정 내용 확인
    -M 패스워드의 사용 최대기간(재설정) 변경
    -m 패스워드의 최소 유지 기간 변경
    -I(대문자 i) 패스워드의 사용기간 만료 후 사용자 계정 만료 유예기간 변경(0: 즉시 계정 만료)
    -E 사용자 계정의 만료 기간 변경 (0:즉시, -1 : 비활성, YYYY-MM-DD:직접 지정)
    -d 패스워드의 최종 변경일 수정
    -W 패스워드 만료에 대한 경고일 변경

userdel 명령어

  • 사용자 계정 삭제

  • 사용법

    • #userdel [옵션] [계정명]
    OPTIONS  
    -r 사용자의 홈 디렉터리까지 함께 삭제

그룹 관리 파일

OPTIONS  
/etc/group 사용자 그룹의 기본 정보
/etc/gshadow 사용자 그룹의 암호화된 패스워드 정보

그룹 관리 명령어

OPTIONS  
groups 사용자 그룹 정보 확인
groupadd 사용자 그룹 생성
groupmod 사용자 그룹 설정 변경
gpasswd 사용자 그룹 패스워드 설정, 그룹관리자 및 구성원 설정
groupdel 사용자 그룹 삭제

/etc/group 파일

  • 사용자 그룹의 기본 정보가 저장된 파일
  • #cat /etc/group
1 2 3 4
root :x :0 :
1 root 그룹 이름
2 x 그룹의 패스워드\n x:/etc/gshadow 파일에 암호화된 패스워드 저장
3 0 gid (관리자 : 0, 사용자 : 500이상)
4 그룹에 소속된 사용자 목록(참조)

/etc/gshadow 파일

  • 사용자 그룹의 암호화된 패스워드 정보, 그룹 관리자 및 구성원 목록이 저장된 파일
  • #cat /etc/gshadow
1 2 3 4
root : : :
1 root 그룹 이름
2 암호화된 그룹의 패스워드 정보
3 그룹의 관리자 목록
4 그룹의 구성원 목록

groups 명령어

  • 사용자 그룹의 정보 확인

  • 사용법

    • #groups [계정명]
    • 계정명을 지정하지 않으면 현재 계정의 사용자 그룹 정보를 확인 한다.
    • 계정명을 지정하면 지정된 계정의 사용자 그룹 정보를 확인 한다.

groupadd 명령어

  • 사용자 그룹 생성

  • 사용법

    • #groupadd [옵션][계정명]
    OPTIONS  
    -g 그룹 gid 설정
    -o 중복 gid 생성 허용
    -r 0~499 범위에서 자동으로 gid 값을 지정한다.\n(사용 가능한 큰 값부터 순차적으로 할당 된다.

groupmod 명령어

  • 사용자 그룹의 설정 변경

  • 사용법

    • #groupmod [옵션] [계정명]
    OPTIONS  
    -g 그룹 gid 설정
    -o 중복 gid 생성 허용
    -n 새로운 그룹명으로 변경

gpasswd 명령어

  • 사용자 그룹의 패스워드 설정
  • 사용자 그룹의 관리자 지정 및 추가
  • 사용자 그룹의 멤버 추가 및 삭제

  • 사용법
    • #gpasswd [옵션][계정 이름][그룹 이름]

      OPTIONS  
      -A 그룹의 관리자 추가
      -a 그룹의 멤버 추가
      -d 그룹의 멤버 삭제
      -M 그룹의 멤버 수정

groupdel 명령어

  • 사용자 그룹 삭제

  • 사용법

    • #groupdel [그룹 이름]