320x100
320x100

part 2. 리눅스 시스템 관리

chapter 1. 사용자 관리

 

useradd [option] 계정명 : 사용자 계정 추가

-p : 암호 설정 (--password)

-d : 홈 디렉터리 위치 지정, 최종 디렉터리만 생성 (--home-dir)

-g : 그룹 지정, 미지정시 래드햇에서는 아이디와 동일한 그룹 포함, 다른 배포판은 users에 포함 (--gid)

-G : 기본 그룹 이외 추가 그룹 지정 (--groups)

-c : 사용자에 대한 설명 추가 (--comment)

-s : 셸 지정 (--shell)

-D : /etc/default/useradd에 설정된 기본사항 출력 (--defaults)

-m : 홈 디렉터리 생성, 래드햇에서는 미지정해도 생성됨. 보통 skeldir을 지정하기 위해 k 옵션과 같이 사용 (--create-home)

-k : skeldir의 위치를 따로 지정 (--skel)

-f : 패스워드 만기일 날짜 수 지정 (--inactive)

-e : 계정 만기일 YYYY-MM-DD 형식으로 지정 (--expiredate)

-u : UID 값 지정 (--uid)

-h : useradd 명령어의 사용법 및 주요 옵션 출력 (--help)

/etc/skel : 사용자 생성시 제공되는 환경 설정 파일

 

 

 

passwd [user] : 사용자 암호 변경

su [option] [user] : root 혹은 다른 계정으로 전환 (옵션 미 지정시 로그인 사용자의 환경변수 값으로 권한만 취득)

-, -l : 전환하려는 계정에 설정된 셸을 사용하면서 전환 (--login)

-c : 사용자 전환 없이 일시적인 권한 활용 (--command)

su root c “tail /etc/shadow”

 

 

 

/etc/passwd : 사용자의 목록을 저장하는 정보 파일

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

ex) posein:x:1000:1000:System Engineer:/home/posein:/bin/bash

full name : 추가정보

 

 

 

/etc/shadow : 사용자의 비밀번호를 저장하는 파일

username : password : last : min : max : warn : expire : disable : reserved

password (MD5, SHA 등으로 암호화된 채로 표시)

last (마지막 패스워드 변경일. 197011일 기준으로 몇일이 지났는지 표시)

min (패스워드 변경 후 최소 사용 기간)

max (패스워드 변경 후 최대 사용 가능 기간)

warn (패스워드 사용기한 만료 전 며칠 전 경고 출력 설정)

expire (패스워드 만료 뒤 계정 사용 불가까지의 유예기간)

disable (계정 만기일로부터 계정이 사용 불가능 하게 되는 날. 197011일 기준으로 몇일이 지났는지 표시)

reserved (다른 기능을 사용하기 위해 남겨둔 필드)

 

 

 

pwunconv : 패스워드 관리 파일 위치를 /etc/passwd로 변경

pwconv : 패스워드 관리 파일 위치를 /etc/shadow로 변경

pwck : /etc/passwd/etc/shadow 파일의 무결성 검사

 

 

 

/etc/default/useradd : useradd 명령어로 계정 생성시의 기본 값 설정 파일 (useradd D로 확인)

GROUP=100 (기본 소속 그룹의 GID. 래드햇에서는 미지정)

HOME=/home (홈 디렉터리 위치)

INACTIVE=-1 (패스워드 사용기간 만료 후 로그인 불가 유예 기간. -1=미설정, 0=유예기간 없음)

EXPIRE=2021-04-28 (계정 유효기간 지정)

SHELL=/bin/bash (기본 셸)

SKEL=/etc/skel (사용자 생성시 제공되는 파일 및 디렉터리의 위치)

CREATE_MAIL_SPOOL=yes (사용자 생성시 메일 파일 생성 여부. yes = /var/spool/mail에 메일 관련 파일 생성)

 

 

 

/etc/login.defs : 사용자 계정 설정 관련 기본 값이 정의된 파일

MAIL_DIR /var/spool/mail (사용자 mail 디렉터리)

PASS_MAX_DAYS 99999 (패스워드 최대 사용기간)

PASS_MIN_DAYS 0 (패스워드 최소 사용기간)

PASS_MIN_LEN 5 (패스워드 최소 길이)

PASS_WARN_AGE 7 (패스워드 만기일 도래 전 경고 출력 날짜)

UID_MIN 1000 (UID의 최소 값)

UID_MAX 60000 (UID의 최댓 값)

SYS_UID_MIN 201 (시스템 계정의 UID 최소 값)

SYS_UID_MAX 999 (시스템 계정의 UID 최대 값)

GID_MIN 1000 (GID의 최소 값)

GID_MAX 6000 (GID의 최대 값)

SYS_GID_MIN 201 (시스템 계정의 GID 최소 값)

SYS_GID_MAX 999 (시스템 계정의 GID 최대 값)

CREATE_HOME yes (사용자 추가시 홈 디렉터리 추가 여부)

UMASK 077 (사용자 기본 UMASK. 래드햇 계열 에서는 /etc/profile에서 지정)

USERGROUPS_ENAB yes (래드햇에서 옵션 미지정시 아이디와 동일한 그룹 생성. 사용자 제거시 그룹제거 여부)

ENCRYPT_METHOD SHA512 (사용자 패스워드에 사용할 암호화 알고리즘)

 

 

 

usermod [option] 계정명 : 사용자 계정의 정보 변경

-d : 홈 디렉터리 변경. -m과 사용하여 내 디렉터리도 같이 이동. (--home)

-m : 디렉터리 변경시 내부 파일도 함께 이동 (--move--home)

-g : 그룹 변경 (--gid)

-s : 셸 변경 (--shell)

-u : uid 변경 (--uid)

-e : 계정 만기일. YYYY-MM-DD (--expiredate)

-f : 패스워드 만기일 이후 로그인 불가 유예 기간 (--inactive)

-c : 사용자 정보 입력 (--comment)

-G : 기본 그룹 외 그룹 추가 (--groups)

-a : 추가한 그룹 외 그룹 추가 (--append)

-p : /etc/shadow의 패스워드 변경

-l : 아이디 변경 (--login)

-L : 패스워드를 lock하여 로그인 불가 설정 (--lock)

-U : 패스워드에 설정된 lock해제 (--unlock)

 

 

 

userdel [option] 계정명 : 사용자 계정삭제

-r : 홈 디렉터리 및 메일 관련 파일까지 삭제 (--remove)

옵션 미지정시 /etc/passwd/etc/shadow 정보만 삭제

 

 

 

passwd [option] 계정명 : 계정에 패스워드 부여 혹은 변경, 옵션 관리

-S : 패스워드 정보

-l : 패스워드 lock (--lock)

-u : 패스워드 lock 해제 (--unlock)

-d : 패스워드 제거

-n : 패스워드 최소 사용 기간

-x : 패스워드 최대 사용 기간

-w : 패스워드 만료 전 경고 날짜

-i : 패스워드 만료 후 로그인 불가까지의 유예기간

-e : 다음 로그인시 패스워드 변경 (/etc/shadow의 세 번째 필드 0)

 

 

 

chage [option] 계정명 : 사용자 패스워드에 대한 정보 출력 및 설정. /etc/shadow 날짜 관련 필드 설정까지 가능

-l : 패스워드에 대한 정보 (--list)

-d : /etc/shadow의 세 번째 필드인 마지막 변경일 수정 (--lastday)

-m : 패스워드 최소 사용 기간 (--mindays)

-M : 패스워드 최대 사용 기간 (--maxdays)

-I : 패스워드 만료 후 로그인 불가까지의 유예기간 (--inactive)

-E : 계정 만기일. YYYY-MM-DD, MM/DD/YY (--expiredate)

-W : 패스워드 만료 전 경고 날짜 (--warndays)

-h : 명령어 사용 법 및 주요 옵션 출력 (--help)

 

 

 

/etc/group : 시스템에 등록된 그룹의 목록을 관리하는 파일

GroupName : Password : GID : Member_List

 

 

/etc/gshadow : 그룹의 암호를 관리하는 파일

GroupName : PassWord : Admin : Member_List

Admin (그룹 관리자)

 

 

grpconv / grpunconv : 그룹 암호 /etc/group 관리 / 그룹 암호 /etc/gshadow 관리

 

grpck : /etc/group/etc/gsahdow의 무결성 검사

 

 

 

groupadd [option] 그룹명 : 그룹생성. root만 사용가능

-g : GID 설정. 1000부터 사용가능

-r : 생성하는 그룹을 시스템 그룹으로 생성. 0~999GID로 할당

 

 

groupmod [option] 그룹명 : 그룹명 혹은 GID 변경

-n : 이름변경 (--new-name) / -g : GID변경 (--gid)

 

 

 

groupdel 그룹명 : 그룹제거

 

gpasswd [option] 그룹명 : 그룹 암호 설정 및 관리자 지정. 그룹에 속하지 않은 사람도 관리자로 지정 가능

-A : 그룹 관리자 지정. root만 사용가능

-a : 그룹에 사용자 추가

-d : 그룹 사용자 제외

-r : 그룹 패스워드 제거

-R : 그룹 패스워드 사용 비활성화

-M : 그룹 멤버 지정. root만 사용가능

 

 

newgrp 그룹명 : 일시적으로 1차 그룹 변경. 패스워드 입력 후 전환 가능

users : 시스템에 로그인 되어있는 사용자 아이디 출력

 

 

 

who [option] : 시스템에 로그인 되어있는 사용자 출력

-b : 시스템의 부팅시간 출력 (--boot)

-d : 죽은 프로세스 출력 (--dead)

-H : 출력되는 정보의 헤더만 출력 (--heading)

-l : 시스템 로그인 프로세스 출력 (--login)

-p : init프로세스에 의해 활성화된 프로세스 출력 (--process)

-r : 현재 런레벨 출력 (--runlevel)

-t : 마지막으로 시스템 시간이 변경된 정보 출력 (--time)

-T : 사용자 메시지 상태 출력 (-w, --mesg)

-u : 시스템에 로그인한 사용자 목록 출력

-m : 표준 입력과 연관된 호스트명과 사용자명 출력 (=who am i)

-a : b d l p r t T U 통합

 

 

whoami : 실질적인 권한자 출력

 

w [option] [user] : 시스템에 로그인 되어있는 사용자와 수행중인 작업 출력

-h : 헤더 미출력

-s : LOGIN@, JCPU, PCPU 제외하고 간략히 출력

 

 

w 항목

USER : 시스템에 로그인한 사용자 아이디

TTY : 터미널 타입 (콘솔=tty1, X-window=pts/1)

FROM : 접속위치 (로컬=-, X-window로그인=:0, x-window터미널=:0.0, 외부접속=ip)

LOGIN@ : 로그인 시간

IDLE : 최종 명령 수행후 대기시간

JCPU : Job cpu. 시스템 로그인 후 cpu 사용시간

PCPU : process cpu. 현재 사용중인 작업에 의해 사용된 프로세스 시간

WHAT : 사용중인 셀이나 작업

 

 

 

id [option] [user] : 시스템에 등록된 아이디에 대한 정보 출력

-g : 주 그룹의 GID 출력

-G : 사용자가 속한 모든 그룹의 GID 출력

-u : 사용자의 UID만 출력

-n : -ug와 함께사용. uidgid 대신 이름으로 출력

 

 

groups [user] : 사용자가 속한 그룹명 출력

 

date [option] [+FORMAT]

date [option] [MMDDhhmm[[CC]YY][.ss]]

-s : 시간 설정

-u : UTC 시간 출력

-d : 지정 날짜 관련 문자열 해당 정보 출력

 

 

uname [option] : 시스템 정보 출력

-s : 커널 이름 출력 (--kernel-name)

-m : 하드웨어 타입 정보 출력 (--machine, =arch)

-n : 호스트명 출력 (--nodename)

-r : 커널 릴리즈 정보 출력 (--kernel-release)

-v : 커널 버전 출력 (--kernel-version)

-p : 프로세서 정보 출력

-i : 하드웨어 플랫폼 정보 출력 (--hardware-platform)

-o : 운영체제 정보 출력 (--operating-system)

-a : 모든 정보 출력 (--all)

 

 

300x250
728x90