티스토리 뷰

728x90

 

안녕하세요. 개발개입니다.

 

2002회 리눅스마스터(1급) 시험을 준비하게 되어

시험정보와 학습내용을 정리하고 공유하고자 합니다.

 

<목차>
  1. 시험 정보

  2. 리눅스 실무의 이해

    1. 리눅스의 개요

    2. 리눅스 시스템의 이해

    3. 네트워크의 이해

  3. 리눅스 시스템 관리

    1. 일반 운영 관리 [현재글]

    2. 장치 관리

    3. 시스템 보안 및 관리

  4. 네트워크 및 서비스의 활용

    1. 네트워크 서비스

    2. 네트워크 보안

 

 

 

 

 

 


 

 

 

01 사용자 관리

root 계정 관리
  • root 계정 = 슈퍼유저
  • /etc/passwd파일에서 특정 사용자의 UID를 0으로 설정하면 root권한을 가짐
  • root 전환 명령어
    • su : root로 로그인
    • su - : root로 로그인 + root 환경변수 로드

 

사용자 계정 관리
  • useradd
    • 사용자 계정 생성 명령어
    • /etc/skel : 계정 생성 시 홈디렉터리에 기본으로 생성되는 파일
# thedev 계정을 생성한다.
# 이 때, 이 계정은 dev 그룹에 속하며, 홈디렉터리는 /home/dev/thedev로 한다.
# 또 이 계정의 만료일은 2020-08-31로 한다.
useradd -g dev -d /home/dev/thedev -e 2020-08-31 thedev
  • usermod
    • 사용자 계정 정보(홈디렉터리, 그룹, UID, GID 등) 변경 명령어
# thedev 계정의 정보를 변경한다.
# 이 계정을 dev 그룹으로 변경하고, 홈디렉터리를 /home/dev/thedev로 변경한다.
usermod -g dev -d /home/dev/thedev thedev
  • userdel
    • 사용자 계정 삭제 명령어
# thedev를 삭제하며 홈디렉터리 등 관련 데이터도 함께 삭제한다.
# 이 때, 계정이 로그인되어 있더라도 강제로 삭제한다.
userdel -rf thedev
  • passwd
    • 패스워드 관리 명령어
# thedev 계정의 패스워드를 설정한다.
# 이 패스워드는 30일간 유효하고, 만료 후 10일간 유효하며, 만료 7일 전부터 변경을 노티한다.
sudo passwd -x 30 -i 10 -w 7 thedev

# thedev 계정의 패스워드를 만료시키며, 다음 로그인 시 무조건 변경하도록 한다.
sudo passwd -e thedev

 

그룹 계정 관리
  • groupadd
    • 새로운 그룹을 생성하는 명령어
# GID가 555인 dev 그룹을 생성한다.
sudo groupadd -g 555 dev
  • groupmod
    • 그룹 속성을 변경하는 명령어
    • 관련 파일 : /etc/group, /etc/gshadow, /etc/passwd
# dev 그룹의 GID를 777로 변경하고 그룹명을 developer로 변경한다.
sudo groupmod -g 777 -n developer dev
  • groupdel
    • 그룹을 삭제하는 명령어
    • 그룹에 포함된 사용자 계정을 삭제한 후 그룹 삭제가 가능
# developer 그룹을 삭제한다.
groupdel developer
  • gpasswd
    • 그룹의 패스워드를 변경하는 명령어
    • 관련 파일 : /etc/group, /etc/gshadow
# dev 그룹에 thedev 계정을 추가하고, nodev 계정을 삭제하며, 패스워드를 제거한다.
gpasswd -a thedev -d nodev -r dev

 

사용자 환경설정 파일
  • /etc/passwd
    • 사용자의 계정정보 파일
    • pwconv명령어 : /etc/passwd 정책에서 /etc/shadow 정책으로 변경
    • pwunconv명령어 : /etc/shadkw 정책에서 /etc/passwd 정책으로 변경
  • /etc/shadow
    • 사용자의 패스워드를 해시 알고리즘으로 암호화한 값을 포함한 패스워드 정보 파일
  • /etc/login.defs
    • 로그인 수행 시 기본 설정 파일
    • 사용자 추가 시 할당되누 UID의 값을 지정할 수 있음
    • shadow password suite를 위한 읽기 전용 환경설정 파일

 

02 파일시스템 관리

권한

유형
- 일반 파일
d 디렉터리
l 심볼릭 링크
b 블록 디바이스
c 캐릭터 디바이스
p FIFO
s 소켓
허가권
r 읽기 권한(4). 파일 내용 확인, 복사. 디렉터리 조회.
w 쓰기 권한(2). 파일 내용 수정. 디렉터리 내 파일 생성/삭제.
x 실행 권한(1). 파일 실행. 디렉터리 내부로 접근.
  • chmod 명령어
    • 파일이나 디렉터리의 허가권한 변경 명령어
  • chown 명령어
    • 파일이나 디렉터리의 소유권 변경 명령어
  • umask 명령어
    • 파일이나 디렉터리의 기본 허가권 변경 명령어
    • 일반파일 퍼미션 : 666-umask
    • 디렉터리 퍼미션 : 777-umask
    • 일반파일 퍼미션이 644이고, 디렉터리 퍼미션이 755일 때 umask는 022

 

파일 링크
  • 하드링크
    • 대상 파일과 동일한 아이노드를 가짐
    • 대상 파일을 옮기거나 삭제하더라도 대상 파일 참조 가능
    • ln -lia [대상 파일]
  • 심볼릭링크
    • 대상 파일의 경로만 참조
    • 대상 파일이 다른 파일시스템에 있어도 생성 가능
    • ln -s [대상 파일]

 

파일 및 디렉터리 관리 명령어
  • pwd 명령어
    • 현재 디렉터리 출력
  • cd 명령어
    • 작업 디렉터리 변경
  • mkdir 명령어
    • 디렉터리 생성
  • rmdir 명령어
    • 디렉터리 삭제
  • ls 명령어
    • 현재 혹은 지정 디렉터리 내 파일 및 디렉터리 목록 출력
  • cp 명령어
    • 파일 혹은 디렉터리 복사
  • rm 명령어
    • 파일 삭제
  • mv 명령어
    • 파일 혹은 디렉터리를 이동하거나 이름 변경
  • touch 명령어
    • 파일이 없는 경우, 빈 파일 생성
    • 파일이 있는 경우, 타임 스탬프 정보 수정
  • find 명령어
    • 조건에 부합하는 파일 혹은 디렉터리 탐색

 

파일시스템 생성
  1. fdisk -l
    • 하드디스크가 인식되었는지 확인
  2. fdisk
    • 파티션 생성
  3. mkfs
    • 원하는 파일시스템으로 포맷
  4. mount
    • 마운트
  5. /etc/fstab
    • 재부팅 후에도 마운트 유지되도록 등록

 

파일시스템 점검
  • fsck 명령어
    • 파일시스템을 점검하고 손상된 영역 복구
    • 단일 사용자 모드(lv.1)로 변경 및 언마운트한 상태에서 수행
sudo init 1
unmount /dev/sda1
sudo fsck /dev/sda1
  • df 명령어
    • 파일시스템 총 용량, 남은 용량 등의 정보 출력
# 파일 시스템 정보를 보기 편한 용량 표시로 출력한다.
df -h
  • du
    • 파일 또는 디렉터리의 용량 출력

 

스왑(swap)
  • 비활성화된 메모리를 스왑 공간으로 이동하여 메모리 공간을 확보
  • 액세스 속도는 느리지만 가격이 저렴

 

디스크 쿼터(Disk Quota)
  • 사용자별 디스크 사용량 할당
  • quota : 쿼터 출력
  • edquota : 쿼터 생성/편집
  • repquota : 쿼터 리포트 출력
  • quotacheck : 쿼터 설정 갱신

 

 

03 프로세스 관리

프로세스 관련 명령어
  • ps 명령어
    • 실행 중인 프로세스 정보 출력
  • top 명령어
    • 현재 실행 중인 프로세스 정보를 실시간 출력
  • kill 명령어
    • 지정한 PID에 해당하는 프로세스에 종료 시그널 혹은 지정 시그널을 보냄
  • jobs 명령어
    • 현재 실행 중인 모든 jobs 목록 출력
  • nice 명령어
    • 새로 실행하는 프로세스의 우선순위(nice) 값 설정
  • renice 명령어
    • 실행 중인 프로세스의 우선순위(nice) 값 변경
  • nohup 명령어
    • 로그아웃 시 hup 시그널을 보내지 않아 프로세스가 계속 실행되도록 함

 

크론(cron)
  • 명령어, 프로그램 등을 반복 예약 실행하는 서비스
  • crontab 명령어
    • crontab -l : 크론탭에 설정된 목록 출력
    • crontab -e : 크론탭 설정 수정
    • crontab -r : 크론탭 설정 삭제

 

 

04 설치 및 관

패키지 설치
배포판 저수준 패키지 도구 고수준 패키지 도구
RedHat/CentOS 계열 rpm yum
Debian 계열 dpkg apt-get, apt, aptitude
  • rpm -e httpd --nodeps : rpm명령어를 이용하여 의존성을 무시하고 httpd 패키지 제거

 

컴파일러
  • gcc 명령어
# batch.c를 컴파일하여 목적 파일(batch.o)만 생성
gcc -c batch.c

# batch1.c와 batch2.c를 컴파일하여 batch 실행 파일 생성
gcc batch1.c batch2.c -o batch

 

아카이브
  • tar 명령어
옵션 설명
-c, --create 새로운 tar 파일 생성
-x, --extract 묶인 tar 파일을 여러 파일로 다시 분리
-v, --verbose 자세한 과정 출력
-f, --file 생성되는 tar 파일 이름 지정
-r, --append 이미 생성된 tar파일에 추가
-t, --list tar 파일 안에 묶인 파일 목록 출력
-C, --directory 명령을 수행할 디렉터리 지정
-z, --gzip, --gunzip gzip을 사용하여 tar.gz 형식으로 생성
-j, --bzip2 bzip2를 사용하여 tar.bz2형식으로 생성
-J, --xz xz를 사용하여 tar.xz형식으로 생성
# logs 디렉터리 내 모든 파일 및 디렉터리를 gzip으로 압축하고 sys-logs.tar.gz를 생성한다.
tar -czf sys-logs.tar.gz logs/

# sys-logs.tar.gz의 모든 파일을 추출한다.
# 이 때, gzip을 사용하여 압축을 해제하고, 자세한 정보를 출력한다.
tar -xzvf sys-logs.tar.gz

 

압축
  • gzip명령어
옵션 설명
-d, --decompress 압축 해제 (gunzip 명령어와 동일)
-l, --list 압축 파일 정보 출력
# sys-logs.tar.gz 압축 해제
gzip -d sys-logs.tar.gz

 

 

 


 

 

다음 글 : [리눅스마스터] 리눅스 시스템 관리 - 장치 관리

 

 

 

728x90
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
05-02 18:11