리눅스 시스템 관리
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
- /tmp와 관련
- o+t로 설정
컴파일 순서
- make mrproper - make menuconfig - make bzimage - make modules - make modules_install - make install
'OS > LINUX' 카테고리의 다른 글
[리눅스마스터1급 대비]네트워크 및 서비스의 활용(3과목) (0) | 2019.03.14 |
---|---|
[리눅스마스터1급 대비]리눅스 실무의 이해(1과목) (0) | 2019.03.12 |
[LINUX]RAID에 대하여 (0) | 2019.03.12 |