OS/LINUX

[리눅스마스터1급 대비]리눅스 시스템 관리(2과목)

SEUNGSAMI 2019. 3. 13. 15:00

리눅스 시스템 관리



ID 생성 및 관리

- /etc/passwd : 시스템 자원을 이용할 수 있는 로그인 사용자 목록이 저장

- /etc/default/useradd : useradd 명령 실행 시, 참조하는 기본 정보파일

- /etc/shadow : paswwd의 비밀번호 부분을 암호화하여 관리

- /etc/default/skel : 계정 생성 시 해당 디렉토리의 내용들이 사용자의 홈 디렉토리로 자동복사



useradd [옵션] [계정명]

-c : 코멘트

-d : 홈디렉토리

-e : 계정 만료일 지정

-f : 패스워드 만료일 지정

-g : (GID)그룹 지정

-G : 보조 그룹 등록

-u : UID 지정

-s : 쉘 지정


usermod [옵션] [바꾸려는 그룹] [계정명]

- l : 이름을 변경

- g : 그룹을 변경

- e : 계정 만기일 지정


groupmod 

- n : 그룹 이름을 변경


who : 현재 시스템에 로그인 되어 있는 사용자 출력

whoami : 사용중인 권한자 (su명령으로 권한을 부여받은 사용자명)

w : 로그인된 사용자와 수행중인 작업 출력

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

id : 시스템에 등록된 아이디 정보를 출력(로그인 아이디 확인이 아니다)


chmod

- 개별적인 권한을 주는 명령어

- u 사용자, g 그룹, o 다른사용자, a 전부에게 권한을 지정

- 더하기(+)를 사용하여 권한을 추가하고, 빼기(-)를 사용하여 권한을 제거습니다.


다음의 명령어는 같은 의미

chmod g-rwx,o-rwx $HOME/.ssh/id_rsa

chmod go-rwx ~/.ssh/id_rsa

chmod 600 $HOME/.ssh/id_rsa


chattr

- i : 변경 불가


ACL

- setfacl : 파일의 소유자나 그룹 생성

- getfacl : 추가된 권환 확인



쿼터 관련 정보를 기록하는 파일

- aquota.user


디스크 쿼터

- 대상은 사용자와 그룹

- 사용자가 디스크 사용량 제한

- 사용자가 생성할 수 있는 파일 및 디렉토리 제한


/etc/fstab

- usrquota


gcc

- 컴파일 명령어

- c : 오브젝트 파일 생성

- o : 실행 파일 생성


touch

- 빈 파일을 생성

- 파일의 access time을 과거의 시간으로 변경

- 파일의 modify time을 과거의 시간으로 변경


stat

- 파일의 타임스탬프 확인


less

- 텍스트 파일의 내용을 한페이지씩 확인


split

- 하나의 파일을 여러개로 분리




작업중인 프로세스 출력

jobs [option]

- l : PID까지 출력


프로세스 우선순위를 변경할때 사용

- top

- nice

- NI값을 지정할 때 사용

- -20 ~ 19

- 일반사용자는 변경 불가능

- renice


ln [option] [기본] [바꾸려는파일]

- 링크를 거는 명령어

- s : 심볼릭 링크파일 생성

- f : 강제적 링크 연결


링크

- 파일에 대한 하드링크 설정으로 삭제 대비

- 심볼릭 링크 설정으로 파일명 짧게

- 경로단축

-하드링크

- 원본과 생성된 링크 파일의 사이즈가 같다.


fdisk에서 사용하는 코드조합

- 82 : swap

- 83 : linux

- 8e : LVM

- fd : Raid


하드디스크의 추가 장착으로 파일 시스템을 생성하는 절차

- /etx/fstab에 파일등록 - fdisk -l 을 통해 디스크 인식 확인

- mkfs를 통해 파일 시스템 생성

- fdisk를 통해 파티션 분할, 생성

- mount를 통해 마운트 작업



pwck

- 패스워드 파일의 무결성 검증

- /etc/passwd, /etc/shadow를 점검


wc

- 텍스트 파일의 행 수, 단어 수, 문자 수를 출력


newgrp

- 여러 그룹에 속한 사용자가 일시적으로 주 그룹으로 변경


gpasswd

- 그룹 관리자 지정 명령어

- A : 관리자로 지정


pwconv

- /etc.shadow 파일에 사용자 패스워드를 관리


passwd

- l : 사용자를 일시적 정지


modprobe

- 커널에 모듈을 적재하거나 제거

- r : 사용하지 않는 관련 모듈도 함께 제거

- /etc/modprobe.d : 모듈 관련 환경 설정 파일들이 위치


lsmod

- 커널의 적재된 모듈 확인


rmmod

- 커널의 로드된 모듈을 제거


rm

- i : 삭제시 하나씩 질의


file

- 파일의 종류를 확인


cmake

- make를 대체

- KDE, MySQL이 채택

- 크로스 컴파일 지원


make mrproper

- 커널 소스의 설정 값 초기화

- .config 파일도 모두 제거


make menuconfig

- 커널 컴파일 옵션을 설정

- 텍스트 기반의 컬러 메뉴를 제공

- 커서를 이용한 이동 가능

- 가장 보편적으로 사용되는 커널 컴파일 도구


fdisk -l

- 디스크 인식 여부확인


fdisk -d

- 파티션 제거


fask

/lost+found


/etc/fstab

- 리눅스 부팅 시 자동으로 마운트 되도록 설정

- 마운트 할 파티션 정보 기록


/etc/login.defs

- 사용자 계정의 설정과 관련된 기본 값을 정의

- 메일디렉토리, 패스워드관련 설정, UID의 최솟값  및 최댓값

- 홈 디렉토리 생성 여부


/var/log/secure

- 로그 파일을 확인

- telent

- ssh

- xinetd


/proc/meminfo

- 현제 시스템 메모리 정보를 간단하게 확인


/etc/sudoers

- sudo의 환경설정파일


/var/log/dmesg

- 커널 부트 메시지 로그

- 커널 링 버퍼의 내용을 출력하고 제어



/proc/partitions

- 현재 활성화된 파티션 정보 확인


at -d = atrm 명령어


lpr

- BSD 계열

- 프린터 작업 요청


lpq

- BSD 계열

- 프린터 큐에 작업 목록 출력


lprm

- BSD 계열

- 큐에 대기 중인 작업 삭제


lpc

- BSD 계열

- 대화형 프린터


lp

- System V계열

- 인쇄 명령


lpstat

- System V계열

- 프린터 큐 상태 출력


cencel

- System V계열

- 프린터 작업 취소



리눅스에서 프린터를 지원해주는 인쇄 시스템 조합

- CUPS : 애플이 개발, 웹상에서 제어가능, ipadmin 명령어 사용

- LPRng : 버클리 프린팅 시스템 , 픨터 스풀링 및 네트워크 프린터 서버 지원


ps

- aux : 실행중인 모든 프로세스 확인



SELinux

- 리눅스의 보안을 강화해주는 커널

- enabled : 사용

- disenabled : 해제

- enforcing : 규칙에 어긋나는 동작 거부

- permissive : 큐칙에 어긋나도 동작 허용

- setenforce 0 : 비활성화

- setenforce 1 : 활성화

- getenforce : 활성화여부 확인


df

- 디스크의 사용 용량 확인

- 디스크의 사용가능한 용량 확인

- hT : 자세하게


du

- 파일이나 디렉토리의 크기를 확인

- sh : 총사용량을 단위를 붙여서 확인


dd

- 파티션이나 디스크 단위 백엄


cpio

- 개별파일, 파일그룹, 전체 파일 시스템 복사

- 많은 양의 데이터 백업 받음

- 특수파일 백업


dump

- 파일 시스템 전체를 백업

- resotre : 복원


rsync

- 네트워크로 연결된 원격지 파일들을 동기화

- av


/etc/rsyslog.conf

- 인증 처리 facility : authpriv

- alert : 가장 높은 수준의 priority


/etc/logrotate.conf

- dateext :로그 파일에 해당 날짜를 덧붙여서 생성


sane-find-scanner

- USB 및 SCSI 스캐너와 관련 장치 파일을 찾아주는 명령


SANE

- 스캐너, 비디오캠 등 이미지 관련 하드웨어 이용하는 API


alsa 

- 고급 리눅스 사운드 아키텍쳐, 사운드 카드용 장치 드라이버 제공을 위한 리눅스 커널 요소

- alsact로 제어


cdparanoia

- 오디오 CD에서 음악 파일을 추출


scanadf

- 자동문서공급장치가 장착된 스캐너에서 여러개 사진을 스캔


xcam

- GUI 기반으로 평판 스캐너나 카메라부터 이미지를 스캔



GnuPG

- 데이터 암호화와 디지털 서명 생성


nmap

- 네트워크 탐지 도구


Jogn The Ripper

- 사용자의 패스워드 알아낸다

- 단순한 패스워드를 사용하는 계정 찾을때 사용


md5crypt

- grub에서 암호화된 패스워드를 설정하기 위한 명령어

- 패스워드를 암호화 할때 사용


password --md5

- 암호화된 패스워드를 설정할 때 사용


nessus

- 서버 보안 취약점 검사


trip wire

- 파일의 변조 여부 검사


last [계정명] 

- 사용자의 로그인 정보 출력

- 재부팅한 사실을 가장 간단하게 확인


lastlog

- 각각의 사용자가 마지막으로 로그인한 정보 출력


lastb

- last와 반대개념, 실패한거 출력


dmesg

- 커널 링 버퍼의 내용을 출력


lslogins

- 시스템 전체 사용자의 정보를 출력


ln

- 하드 링크 파일 생성 명령어


stat

- 타임스탬프 정보를 확인


swapon 

- 스왑공간 초기화



quota

- 디스크 쿼터를 설정

- 본인의 디스크 쿼터 확인


requota

- 쿼터 정보 요약하여 출력


quotacheck

- 파일시스템 스캔 및 파일 생성/확인/수정


quotaon

- quota 실행


quotaoff

- quota 종료


edquota [기존 계정] [적용계정]

- 사용자의 디스크 사용량을 제한

- 디스크 쿼터 수정

- t : soft제한 초과시 유예기간 설정



Zombie 프로세스

- Z


nohup

- 사용자가 로그아웃 하거나 작업 중인 터미널 창이 닫혀도 실행중인 프로세스를 백그라운드 프로세스로 계속 작업


프로세스 우선수위인 NI의 설정값 범위

- -20~19


rpm

- e : rpm으로 설치된 패키지 제거

- force : 해당 메시지를 무시

- nodeps : 의존성 무시

- S : 파일 크기 변경

- U : 소유자 변경

- T : 수정 시간 변경

- V : 패키지검사(검증)

- q : 질의

- qa : 설치된 패키지를 모두 검색

- qf : 지정된 파일이 포함된 패키 출력

- qi : 설치된 패키지의 정보를 출력

- ql : 패키지가 설치한 파일이나 디렉터리 목록을 출력

- qc : 해당패키지의 설정파일이나 스크립트 파일을 보여줌


dpkg

- P : 설치된 패키지의 상세 정보 보기, 지울때 모두 제거

- r : 지울 때 환경설정 파일은 제거하지 않는다

- L : 패키지에 속해있는 파일 목록 출력

- S : 특정 패키지의 상태 조회

- I : 설치된 모든 패키지 목록 및 버전, 설명 조회

- iR : 특정 디렉토리의 저장된 패키지를 모두 설치



yum(레드햇)

- remove : 삭제

- install : 설치

- list : 정보 출력

- search : 검색

- clean : 저장된 정보 삭제


apt-get(데비안)

- update : /etc/apt/sources.list

- var/cache/apt/archive : 설치할때 deb파일이 생성

- clean : insall 단계에서 생성된 파일을 제거


파일 설치 순서

- configure(개발중인 프로그램을 다른 컴퓨터에서 실행하도록 해줌, 소스 프로그램의 활경 설정, 정보를 시스템에서 찾는다) - make - make install

- configure 작업후에 Makefile이 생성


커널 컴파일 단계

make mrproper -> make menuconfig -> make bzimage -> make modules -> make modules_install -> make install



tar

- j : bzip2

- z : gzip

- J : xz = 가장 압축률이 좋음

- Z : compress

- c : 파일생성

- v : 작업내용 콘솔화면 출력

- f : 파일명 지정

- x : 아카이브해제(압축해제)

- r : 파일추가

- t : 풀지않고 내용만 확인

- g : 증분 백업

- xz > bzip2 > gzip > compress 순으로 압축률이 좋다.


소스파일 다운로드 디렉터리

/usr/src/kernels


make distclean

- 커널 컴파일 과정에서



/lib/modules/

- modules.dep : 모듈 간의 의존성을 기록한 파일로 '/lib/modules/커널버전'디렉토리 안에 위치

- depmod : 이 파일을 갱신하고 관리해주는 명령어


modinfo

- 커널 모듈의 정보를 출력해주는 명령어


SWAP영역 ID : 82


swap 파일 생성 절차

- dd를 이용 차일 생성 - mkswqp 스왑 파일 생성 - swapon 명령으로 활성화


lp

- 인쇄명령


lpr

- 인쇄하라는 명령어

- -# 인쇄할 매수 지정


lpadmin

- 프린터 설정 명령어


parted 

-디스크 파티션 분할 명령어


백업대상

- /etc

- /usr

- /var


resotre

- 백업 파일 복원 명령어

- i : 대화식으로 복구할 파일 선택

- f : 백업할 매체나 파일명

- r : 파일 전체 복원


rsync

- 백업

- av : 특정 디렉터리 백업

- 원격지의 파일 동기화

- ssh, rsh이용하여 전송, root권한 필요x

- rcp에 비해 속도 빠름

- 로컬시스템 백업시에서는 별다른 서버 설정 없이 사용


top

- M: 프로세스의 RSS 값으로 정렬

- P : %CPU값으로 정렬

- r : nice값을 변경

- k : kill명령

- 실행중인 프로세스의 개수

- 메모리, 스왑 사용량

- 시스템 부하량


kill

- PID 사용

- 여러개의 프로세스로 명령 가능

- 작업 번호를 사용해 프로세스 종료


killall

- 같은 데몬의 여러 프로세스를 한번에 종료

- 시그널 지정하지 않으면 TREM 시그널

- 프로세스명 사용


group

- ihduser:x:500:kaituser,user1

- 그룹명 : 그룹패스워드 : 그룹GID : 사용자아이디, 보조그룹


grpck

- 그룹체크

- /etc/group 과 /etc/gshadow 파일 검사


crontab

- r : 등록된 스케줄링을 제거


SSH(Secure Shell)

- 원격복사(scp) 지원

- 안전한 파일전송(sftp) 지원

- 기본사용 포트 22

- rsh처럼 원격 셸 지원


PAM

- account : 접근 허용 여부, 패스원드 기간 만료 여부 검사

- auth 생체인증

- session : 사용자가 인증받기 전후에 해야 할 것.

- required : 구성 항목이 아닌 통제 담당

- /lib/security : 라이브러리 존재

- /etc/pam.d : 서비스들이 설정


ip addr show

- IP를 확인


eject

- 미디어의 마운트를 해제하고 제거


rsyslog

-데몬 : /sbin/rsyslogd, 설정파일: /etc/rsyslog.conf


Sticky_Bit
- 설정된 디렉토리에서는 사용자들이 파일 생성하는데 제한x
- 파일 삭제시 본인 것만 가능

- /tmp와 관련

- o+t로 설정



컴파일 순서

- make mrproper - make menuconfig - make bzimage - make modules - make modules_install - make install