320x100
320x100

리눅스 시스템에서의 사용자 분류

- Root (Privileged User / Super User)

: 시스템 운영에 있어 모든 권한을 가진 사용자

: 0번 UID (User Identity)를 가진 사용자

 

- Normal User / Unprivileged User)

: 시스템에 대해 제한적인 권한을 가진 사용자

: CentOS 이후 1000번대의 UID를 할당 받음

 

 

 

 

 

사용자 관련 명령어 

- useradd

- passwd

- su

- pwconv

- pwunconv

- pwck

- usermod

- userdel

- chage

- users

- who

- whoami

- w

- logname

- id

 

 

 

 

 

useradd

: 사용자 계정 생성. adduser라고 입력해도 동일

 

- 형식

: useradd [option] <user name>

 

- 주요옵션

: -p (--password)

 > 암호 추가

: -d (--home-dir)

 > 홈 디렉터리 지정

: -g (--gid)

 > 기본 그룹 지정 (미지정 시 래드햇 계열에서는 아이디와 동일한 그룹에 포함 / 다른 배포판에서는 users에 포함)

: -G (--groups)

 > 기본 그룹 외 추가로 다른 그룹에 할당

: -c (--comment)

 > 사용자에 대한 설명

:-s (--shell)

 > 사용자가 이용할 셸

: -D (--defaults)

 > 사용자 추가에 대한 기본값 확인

: -m (--create-home)

 > 사용자 생성 시 홈 디렉터리 생성. 래드햇 계열에서는 자동이지만 다른 배포판에서는 필요

: -k (--skel)

 > 사용자 생성에 대한 환경 파일 지정 (기본: /etc/skel)

: -f (--inactive)

 > 사용자 패스워드의 만기일 (날짜수)

: -e (--expiredate)

 > 계정 만기일을 YYYY-MM-DD 형식으로 지정

: -u (--uid)

 > 사용자 추가 시 UID 값 지정

: -h (--help)

 > useradd 명령어의 주요 옵션 및 설명 출력

 

 

 

 

 

su

: substitude user라는 뜻의 명령어로, 시스템에 로그인 되어 있는 상태에서 다른 사용자의 권한으로

  셸을 실행할 수 있도록 전환

: root 계정으로 로그인 하기 위해 필요

: 옵션 없이 실행할 경우 로그인한 사용자의 환경변수를 가지고 다른 사람의 권한만 가짐

 

- 형식

: su [option] [user name]

 

- 주요 옵션

: -l (--login)

 > 실제 로그인을 하기위해 필요한 옵션

: -c (--command)

 > 사용자를 전환하지 않고 명령을 일시적으로 실행

 

 

 

 

 

passwd

: 사용자에게 비밀번호를 지정하거나 변경

: useradd로 계정을 생성한뒤 비밀번호를 지정하지 않으면 로그인 할 수 없음

 

- 형식

: passwd [option] <user name>

 

- 주요옵션

: -S

 > 비밀번호 정보 확인

: -l (--lock)

 > 계정에 잠금설정

: -u (--unlock)

 > 계정 잠금 해제

: -d

 > 계정에 대한 비밀번호 삭제

: -n

 > 비밀번호 변경 후 최소 사용 일수 지정

: -x

 > 현재 비밀번호의 유효기간

: -w

 > 비밀번호 만료전 경고 출력 날짜

: -i

 > 비밀번호 만료 후 실제 잠금까지의 유예기간 

: -e

 > 다음 로그인 시 비밀번호를 변경하도록 설정

 > /etc/shadow의 3번째 필드 값이 0으로 수정됨

 

 

 

 

chage

: 사용자 비밀번호에 대한 정보 출력 및 설정

: /etc/shadow 파일의 모든 날짜 관련 필드 설정 

 

- 형식

: chage [option] <user name>

 

- 주요 옵션

: -l (--list)

 > 사용자 비밀번호에 대한 정보 출력

: -d (--lastday)

 > 사용자 계정의 최근 비밀번호 수정일 변경 (/etc/shadow 3번째 필드)

: -m (--mindays)

 > 설정한 비밀번호를 사용해야하는 최소 일수

: -M (--maxdays)

 > 설정한 비밀번호의 만기일

: -I (--inactive)

 > 비밀번호 만기 후 계정이 잠기기 까지의 유예기간

: -E (--expiredate)

 > 계정이 만기일 지정

: -W (--warndays)

 > 비밀번호 만료전 경고 출력 날짜 지정

: -h (--help)

 > 사용법

 

 

 

 

 

pwconv

: 사용자의 비밀번호를 /etc/shadow 파일에서 관리 하도록 설정

 

 

 

 

 

pwunconv

: 사용자의 비밀번호를 /etc/passwd 파일에서 관리하도록 설정

 

 

 

 

 

pwck

: password check의 약자로, /etc/passwd와 /etc/shadow 파일을 검사

 

 - 검사항목

: 사용자의 필드 개수

: 아이디 중복 유무

: 유효한 사용자 여부

: 유효한 UID 및 GID 여부

: 사용자의 주 그룹 유무

: 홈 디렉터리 유무

: 로그인 셸 등

 

 

 

 

 

usermod

: 사용자의 정보를 변경 (셸, 홈 디렉터리, 그룹, UID, GID 등)

 

- 형식

: usermod [option] <user name>

 

- 주요 옵션

: -d (--home)

 > 홈 디렉터리 변경

: -m (--move-home)

 > -d 옵션과 함께 사용되며, 사용하던 홈 디렉터리의 파일도 같이 이동

: -g (--gid)

 > 기본 그룹 변경

: -s (--shell)

 > 셸 변경

: -u (--uid)

 > UID 변경

: -e (--expiredate)

 > 계정 만기일 변경. YYYY-MM-DD 또는 YY/MM/DD 형태로 지정

: -f (--inactive)

 > 비밀번호 만기일 이후 계정을 잠글때 까지의 유예기간 설정

: -c (--comment)

 > 사용자에 대한 설명

: -G (--groups)

 > 소속 그룹 추가

: -a (--append)

 > -G 옵션과 같이 사용하며, 기존 2차 그룹 외 2차 그룹을 추가로 지정

: -p (--password)

 > 암호화된 패스워드로 설정

: -l (--login)

 > 아이디 변경

: -L (--lock)

 > 계정 잠금

: -U (--unlock)

 > 계정 잠금 해제

 

 

 

 

 

userdel

: 사용자 계정 삭제

 

- 형식

: userdel [option] <user name>

 

- 주요 옵션

: -r (--remove)

 > 사용자의 홈 디렉터리 및 메일 관련 파일까지 삭제

 

 

 

 

users

: 시스템에 로그인 되어있는 사용자들을 출력

 

 

 

 

 

who

: 시스템에 로그인 되어있는 사용자들을 출력

 

- 형식

: who [option]

 

- 주요 옵션

: -b (--bool)

 > 시스템 부팅 시간

: -d (--dead)

 > 죽은 프로세스

: -H (--heading)

 > 현재 사용자의 터미널에 출력되고 있는 정보의 헤더

: -l (--login)

 > 시스템 로그인 프로세스

: -p (--process)

 > init 프로세스에 의해 발생되어 활성화된 프로세스

: -r (--runlevel)

 > 현재의 런레벨

: -t (--time)

 > 마지막으로 시스템 시간이 변경된 정보

: -T (-w / --mesg)

 > 사용자의 메시지 상태

: -u

 > 시스템에 로그인한 사용자의 목록

: -m

 > 표준 입력과 관련된 호스트명과 사용자명 출력

: -a

 > 모든 옵션

 

 

 

 

 

who am i

: 실질적으로 사용중인 권한자를 출력

: 표준 입력과 관련된 호스트명과 사용자명 출력

 

 

 

 

 

w

: 시스템에 로그인 되어 있는 사용자와 사용자가 수행중인 작업 확인

 

- 형식

: w [option] [user]

 

- 주요 옵션

: -h

 > 헤더 생략

: -s

 > LOGIN@, JCPU, PCPU를 제외하고 간략히 출력

 

- 출력 항목

: USER

 > 로그인한 사용자의 아이디

: TTY

 > 터미널 타입

: FROM

 > 접속한 위치

: LOGIN@

 > 로그인한 시간

: IDLE

 > 마지막 명령 수행 후 대기 시간

: JCPU (Job cpu)

 > 로그인 후 CPU를 사용한 시간

: PCPU (Process cpu)

 > what에 표시된 작업에 의해 사용된 프로세스 시간

: WHAT

 > 현재 사용중인 셸 혹은 작업

 

 

 

 

 

logname

: 사용자의 로그인 계정 출력

: su를 사용했을 경우 최초의 로그인 계정을 출력

 

 

 

 

 

id

: 시스템에 등록된 아이디에 대한 정보 출력

: UID, GID, 그룹 정보 등 출력

 

- 형식

: id [option] [user]

 

- 주요 옵션

: -g

 > 주 그룹의 GID만 출력

: -G

 > 사용자가 속한 모든 그룹의 GID 출력

: -u

 > 사용자의 UID 값만 출력

: -n

 > -u 혹은 -g 옵션과 함께 사용하여 UID나 GID 대신 이름을 출력

 > -un / -Gn / -gn

 

 

 

 

 

사용자 관련 파일

- /etc/passwd

- /etc/shadow

- /etc/default/useradd

- /etc/login.defs

 

 

 

 

/etc/passwd

: 시스템에 로그인하여 자원을 이용할 수 있는 사용자의 목록이 기재된 파일

: 시스템이 사용자를 감시하기 위한 근거가 되는 파일

: 콜론 (:)을 구분자로 하여 7개의 기본적인 정보를 가짐

: /etc/passwd의 패스워드 부분은 /etc/shadow 파일로 암호화 되어 저장됨

 

- 기본구조

username : password : UID : GID : fullname : home directory : shell

 

 

 

 

 

/etc/shadow

: /etc/passwd 파일의 패스워드 부분을 암호화 하여 관리하는 파일

: 총 9개의 필드로 구성되어 있으며 root 사용자만 접근할 수 있음

 

- 기본구조

username : password : last : may : must : warn : expire : disable : reserved

 

- 항목별 설명

: username

 > 사용자 아이디

: password

 > 암호화된 비밀번호

: last

 > 최근 비밀번호 수정일

: may

 > 비밀번호 최소 사용일

: must

 > 비밀번호 최대 가용일

: warn

 > 비밀번호 만료전 사용자에게 경고하는 기간

: expire

 > 비밀번호 만료 후 계정 잠금때까지의 유예기간

: disable

 > 계정 만료일로 부터 사용이 불가능하게 되는 날

: reserved

 > 예약 공간

 

 

 

 

/etc/default/useradd

: useradd 명령어로 계정 생성 시 기본적으로 적용되는 사항이 기재된 파일

: useradd -D 명령어로 확인 가능

 

- 항목

: GROUP

 > 사용자 생성 시 기본으로 정해지는 주 그룹의 GID

: HOME

 > 홈디렉터리의 루트 디렉터리

: INACTIVE

 > 비밀번호 사용기간 지난뒤 계정 잠금까지의 유예기간

: EXPIRE

 > 계정 유효기간

: SHELL

 > 사용자 생성시 할당되는 셸

: SKEL

 > 사용자 생성시 제공되는 파일 및 디렉터리가 들어있는 디렉터리

: CREATE_MAIL_POOL

 > 사용자 생성시 메일 파일 생성 여부

 > yes로 설정 시 /var/spool/mail/사용자명 으로 메일 관련 파일도 생성됨

 

- useradd -D

: 사용자를 생성하면서 /etc/default/useradd 파일의 설정도 함께 수정

 

 

 

 

 

/etc/login.defs

: 메일 디렉터리, 비밀번호 관련 설정, UID 최솟값 및 최댓값, GID 최솟값 및 최댓값, 홈 디렉터리 생성 여부,

  기본 UMASK 값, 비밀번호에 적용되는 암호화 알고리즘 등의 설정을 정의한 파일

 

- 형식

: MAIL_DIR             /var/spool/mail

: CREATE_HOME   yes

 

- 주요설정

: MAIL_DIR

 > 사용자의 메일 디렉터리

: PASS_MAX_DAYS

 > 패스워드 최대 사용 기간

: PASS_MIN_DAYS

 > 패스워드 변경 후 사용하는 최소기간

: PASS_MIN_LEN

 > 패스워드 최소 길이

: PASS_WARN_AGE

 > 패스워드 만기일 이전 경고 출력 날짜

: UID_MIN

 > UID의 최솟값

: UID_MAX

 > UID의 최댓값

: SYS_UID_MIN

 > 시스템 계정의 UID 최솟값

: SYS_UID_MAX

 > 시스템 계정의 UID 최댓값

: GID_MIN

 > GID의 최솟값

: GID_MAX

 > GID의 최댓값

: SYS_GID_MIN

 > 시스템 계정의 GID 최솟값

: SYS_GID_MAX

 > 시스템 계정의 GID 최댓값

: CREATE_HOME

 > 사용자 추가 시 홈 디렉터리 생성 여부

: UMASK

 > 사용자 추가 시 기본 UMASK

: USERGROUPS_ENAB

 > 레드햇 계열에서 옵션 없이 사용자 생성 시 아이디와 동일한 그룹을 생성하고 포함 시키는데,

  사용자 제거 시 해당 그룹의 삭제  여부

: ENCRYPT_METHOD

 > 사용자 비밀번호에 사용할 암호화 알고리즘

 

 

 

 

 

 

Refference

 

리눅스마스터 1급 2차 실기 정복하기 | 정성재 - 교보문고

리눅스마스터 1급 2차 실기 정복하기 | 출제 경향을 반영하여 핵심 내용만 요약 정리 시험대비를 위한 최신 기출문제를 해설과 함께 수록본 교재는 독자들이 최근 출간 요구가 많았던 리눅스마

product.kyobobook.co.kr

 

300x250
728x90