728x90

파일 시스템 테이블: /etc/fstab

1) mount 명령을 사용한 마운트는 시스템 재부팅 시 모두 해제됨

2) 시스템 재부팅 후에도 마운트를 유지하기 위해서는 특정 파일에 파일 시스템에 대한 마운트 정보 등록 필요

3) 특정 파일: /etc/fstab

 

 

[실습] 파일 시스템 테이블에 마운트 정보를 등록하여 시스템 재부팅 후에 마운트가 자동으로 되는지 확인

 

마운트 모두 해제

 

/etc/fstab 파일에 마운트 정보 등록

 

-a 옵션: 파일 시스템 테이블에 등록된 항목 중 마운트 되지 않은 항목을 마운트하는 옵션
파일 시스템 등록 후 즉시 파일 시스템 마운트된 것을 확인할 수 있음

 

시스템 재부팅

 

시스템 재부팅 후 자동으로 마운트된 것을 확인

 

* 마운트 확인 후에는 다른 실습을 위해 /etc/fstab 파일에 추가한 정보 모두 제거하고 모두 언마운트하여 환경 설정 초기화

728x90
728x90

4. 파일 시스템 생성: mkfs -t ext4 /dev/sdb1

1) mkfs -t ext4 /dev/sdb1

2) mkfs -t xfs /dev/sdb2

 

파티션한 /dev/sdb1 디스크에 ext4 파일 시스템 구성(=포맷)

 

파티션한 /dev/sdb2 디스크에 xfs 파일 시스템 구성

 

 

5. 마운트: mount /dev/sdb1 /test1

1) 마운트할 디렉토리 생성: test1, test2

2) 생성한 디렉토리에 마운트: mount /dev/sdb1 /test1

3) 마운트 정보 확인: lsblk -f

 

mount 명령의 주요 옵션

옵션 설명
-t 마운트할 파일 시스템의 유형 지정(ext2, ext3, ext4, xfs, ...)
-o 파일 시스템 마운트 시, 세부 옵션 지정
- ro: 파일 시스템을 읽기 전용 모드로 마운트
- suid: 파일 시스템 내 파일의 SetUID 설정 사용

 

마운트할 디렉토리 생성 > /test1 마운트 포인트에 /dev/sdb1 파티션 장치 마운트

 

마운트 확인

 

/test1 디렉토리에서 파일 생성 및 확인

 

 

6. 언마운트: umount /dev/sdb1

언마운트 시

1) 장치명 사용: umount /dev/sdb1

2) 마운트 포인트 사용: umount /test1

 

 

장치명을 사용하여 마운트 해제

 

언마운트 후에 /test1 디렉토리에서 생성한 파일을 확인할 수 없음 > 마운트가 해제된 것을 확인할 수 있음

 

마운트 포인트를 사용하여 마운트 해제

 

/dev/sdb1 파티션 장치를 /test1 마운트 포인트에 다시 마운트 > 이전에 생성한 파일 확인

728x90
728x90

3. 파티셔닝: fdisk /dev/sdb

 

1) fdisk -l: 디스크 정보를 확인하고 파티셔닝할 디스크 장치를 식별함

2) fdisk /dev/sdb: 디스크 파티션 구성

3) m: fdisk 내부 명령어 확인(주로 사용: p, q, w, d, m, n, l)

4) p: 파티션 정보 확인

5) n: 새로운 파티션 추가

6) 파티션 종류: p > 파티션 넘버: 1 > 섹터: 2048 > 파티션 크기 설정: +500M

    > 생성한 파티션 정보 확인: p > 구성한 파티션 저장: w

 

 

/dev/sdb 디스크 파티션 구성

 

fdisk의 내부 명령어 확인(주로 사용: p, q, w, d, m, n, l)

 

p: 파티션 정보 확인

 

* mbr은 파티션이 총 4개까지 가능하며 3개까지는 p, 4개 이상부터 e 옵션 선택

파티션 종류: p > 파티션 넘버: 1 > 섹터: 2048 > 파티션 크기 설정: +500M

 

구성할 파티션 옵션 구성

 

생성한 파티션 정보 확인

 

두 번째 파티션 생성

 

[실습1] 파티션 3개 생성: 500, 500, 나머지 용량

 

500MB 파티션 생성 1

 

500MB 파티션 생성 2

 

나머지 용량 파티션 생성 3

 

생성한 파티션 저장: w

 

저장된 파티션 정보 확인: fdisk -l
리눅스 디바이스 정보 출력: lsblk (상세 정보 출력: blkid)

728x90
728x90

* 참고: ova 파일 가져오기

해당 옵션을 선택해야 ova 파일을 가져올 때 충돌이 일어나지 않음

 

 

1. 디스크 설치: 설정 > 저장소

 

가상 머신 설정으로 이동

 

네트워크 설정 확인 1: NAT 네트워크

 

네트워크 설정 확인 2: 호스트 전용 어댑터

 

저장소 > 컨트롤러: SATA 디스크 추가

 

디스크 만들기

 

디스크 만들기 옵션 선택: VDI

 

디스크 용량을 고려하여 동적할당 선택

 

10GB로 설정

 

추가한 디스크 확인

 

디스크가 제대로 추가된 것을 확인할 수 있음

 

 

2. 디스크 인식 확인: fdisk -l

- 추가된 디스크는 대체로 운영체제에서 자동 인식됨

 

fdisk mbr 방식
gdisk gpt 방식

 

설정 변경 후 가상 머신 실행

 

기존 디스크: /dev/sda

새로 추가한 디스크: /dev/sdb

 

fdisk -l > 디스크 정보를 확인하고 파티셔닝할 디스크 장치를 식별함

 

728x90
728x90

리눅스 파일 시스템의 종류

 

파일 시스템

- 파일과 디렉토리의 집합을 구조적으로 관리하는 체계

- 어떤 구조를 구성하여 파일이나 디렉토리를 관리하느냐에 따라 다양한 형식의 파일 시스템이 존재함

 

 

리눅스에서 지원하는 기타 파일 시스템

파일 시스템 기능
msdos MS-DOS 파티션을 사용하기 위한 파일 시스템
iso9660 CD-ROM, DVD의 표준 파일 시스템으로 읽기 전용으로 사용
nfs network file system으로 원격 서버의 디스크를 연결할 때 사용
vfat 윈도 95, 98, NT를 지원하기 위한 파일 시스템
hpfs HPFS를 지원하기 위한 파일 시스템
ntfs 윈도의 NTFS를 지원하기 위한 파일 시스템
sysv 유닉스 시스템V를 지원하기 위한 파일 시스템
hfs 맥 컴퓨터의 hfs 파일 시스템을 지원하기 위한 파일 시스템

 

 

리눅스의 가상 파일 시스템

파일 시스템 기능
swap 스왑 영역을 관리하기 위한 스왑 파일 시스템
tmpfs - temporary file system으로 메모리에 임시 파일을 저장하기 위한 파일 시스템이며, 시스템이 재시작할 때마다 기존 내용이 없어짐
- /tmp 디렉토리를 예로 들 수 있음
proc - proc 파일 시스템으로 /proc 디렉토리
- 커널의 현재 상태를 나타내는 파일을 가짐
ramfs 램 디스크를 지원하는 파일 시스템
rootfs - root file system으로 / 디렉토리
- 시스템 초기화 및 관리에 필요한 내용 관리

 

 

현재 시스템이 지원하는 파일 시스템 확인: /proc/filesystems

* nodev: 해당 파일 시스템이 블록 장치와 연결되어 있지 않다는 의미 (=가상 파일 시스템)

 

 

리눅스 파일 시스템의 구조

 

리눅스의 모든 파일 시스템의 기본 개념

- 파일(디렉토리 포함)은 inode(번호)로 관리됨

- 디렉토리는 단순히 파일의 목록을 가지고 있는 파일일 뿐임

- 특수 파일을 통해 장치에 접근할 수 있음

* b(블록)와 c(캐릭터)는 장치를 의미함

 

 

ext4 파일 시스템의 구조

 

***중요 요소

ext4 슈퍼블록 디스크 핵심 정보
그룹 디스크립터 그룹의 정보
inode 테이블 파일의 메타 데이터
데이터 블록 파일의 실제 데이터

 

 

 

 

728x90
728x90

기본 접근 권한: 664, 775

- 리눅스에서는 파일이나 디렉토리를 생성할 때 기본 접근 권한이 자동으로 설정

- 일반 파일: 664

- 디렉토리: 775

파일과 디렉토리의 기본 접근 권한 확인

 

 

기본 접근 권한 확인하고 변경하기: umask [옵션] [마스크 값]

- 기본 접근 권한 출력 및 변경

- [-S] 옵션: 마스크 값을 문자로 출력

- 루트 사용자 계정의 기본 umask: 0022

- 일반 사용자 계정의 기본 umask: 0002

- 재부팅 후에도 변경된 umask를 적용하기 위해서는 사용자 초기 프로파일에 저장 필요

  > 사용자 초기 프로파일(/etc/profile): ~/.profile, ~/.bash_rc

 

기본 마스크 값 출력: 0002

 

 

마스크 값의 의미

- 파일이나 디렉토리 생성 시 부여하지 않을 권한을 지정해놓는 것

- 마스크 값이 002일 경우, -------w- 기타 사용자에게 쓰기 권한을 부여하지 않겠다는 의미

 

 

마스크 값 변경: umask [mask 값]

 

마스크 값 변경 전: 002

파일과 디렉토리의 기본 접근 권한 확인

 

마스크 값 변경 후: 007

umask 값 변경

 

디렉토리 생성 후 변경된 기본 권한 확인

 

파일 생성 후 변경된 기본 권한 확인

 

특수 접근 권한

- 접근 권한은 원래 4자리이며

- 생략된 맨 앞자리는 특수 접근 권한을 의미함

- 맨 앞자리 숫자가 0이면 일반 접근 권한임

- 1, 2, 4 이면 특수 접근 권한임

맨 앞자리 권한
4 SetUID
2 SetGID
1 스티키 비트

 

SetUID

- 실행할 때 임시로 파일 소유자의 권한으로 실행됨

- 파일에만 설정

- SetUID가 설정되면 소유자의 실행 권한에 's'가 표시됨

 

소유자 실행 권한이 있어 user 사용자 계정에서 passwd 명령어 실행 가능

 

- /etc/shadow 파일은 root 계정으로만 수정 가능

- passwd 명령어는 SetUID가 설정되어 있기 때문에 소유자인 root 권한으로만 실행 가능

 

소유자 실행 권한이 사라져 user 사용자 계정에서 passwd 명령어 실행 권한이 없음

 

 

SetGID

- 실행할 때 임시로 파일 소유 그룹의 권한으로 실행됨

- 파일과 디렉토리 모두 설정 가능

- 단, 디렉토리에 설정한 경우 해당 디렉토리에서 생성한 파일의 소유 그룹은 해당 디렉토리 소유 그룹으로 자동 설정됨

 

 

스티키 비트

- 스티키 비트는 디렉토리에만 설정 가능

- /tmp 디렉토리가 대표적

- 스티키 비트가 설정되면 기타 사용자 실행 권한에 't'가 표시됨

 

스티키 비트가 설정된 /tmp 디렉토리에서 작업

 

- 스티키 비트가 설정되어 있는 디렉토리에는 누구나 파일 및 디렉토리 생성 가능

 

- 파일은 파일을 생성한 계정(user)으로 소유자(user)가 설정되며, 다른 사용자가 생성한 파일은 삭제 불가

 

- 다른 사용자 계정(user02)에서 파일 삭제 불가

 

- 777 권한을 부여해도 다른 사용자 계정(user02)에서는 삭제가 불가함

user 사용자 계정에서 777 권한 부여

 

스티키 모드가 설정되면 권한 적용이 되지 않음을 알 수 있음

 

728x90
728x90

접근 권한의 종류: 읽기, 쓰기 실행

 

***매우 중요 [파일과 디렉토리의 접근 권한]

권한 파일 디렉토리
읽기 파일 읽기 및 복사 ls 명령으로 디렉토리 목록 확인
쓰기 파일 수정, 이동, 삭제
(디렉토리에 쓰기 권한 필요)
파일 생성 및 삭제
실행 파일 실행
(셸 스크립트 및 실행 파일의 경우)
cd 명령으로 파일을 디렉토리로 이동 및 복사

 

 

접근 권한의 표기 방법: r, w, x

 

접근 권한의 표기 방법

 

r w x
읽기 권한 쓰기 권한 실행 권한
-rw r-- r--
소유자 그룹 기타 사용자

 

 

 

접근 권한의 변경 명령: chmod [옵션] [권한 모드 파일 또는 디렉토리]

- 파일이나 디렉토리의 접근 권한 변경

- [-R] 옵션: 하위 디렉토리까지 모두 변경

- 기호 모드와 숫자 모드가 있으며 주로 숫자 모드 이용

 

[실습 1] - 기호 모드

 

1. data 파일 생성

2. 소유자 계정에 data 파일 접근 권한 확인

3. data 파일 실행 권한 없음

4. data 파일에 실행 권한 부여

5. data 파일 실행 성공

 

data 파일에 실행 권한이 없어 실행 불가
실행 권한을 부여해 파일 실행 가능

 

숫자를 이용한 파일 접근 권한 변경

1. r-w 일 경우, 권한이 있는 것은 1, 없는 것은 0

2. 2 진수 1, 0, 1로 변환

3. 2 진수를 각 자릿수 별로 10진수로 환산 > 4, 0, 1

4. 세 숫자를 더함

5. 최종 권한: 5

 

[접근 권한과 숫자의 대응 관계]

숫자 의미
7 읽기, 쓰기, 실행
6 읽기, 쓰기
5 읽기, 실행
4 읽기
3 쓰기, 실행
2 쓰기
1 실행
0 권한이 없음

 

[실습 2] - 숫자 모드

 

1. 소유자 계정에만 읽기, 쓰기 권한 부여

 

2. 소유자, 그룹, 기타 사용자에 읽기 권한만 부여

 

3. 그룹에 실행 권한 부여

 

[실습 3] - 숫자 모드

 

1. 기타 사용자에게 실행 권한을 부여한다.

 

2. 그룹과 기타 사용자의 실행 권한을 제거한다.

 

3. 모두에게 실행 권한을 부여한다.

 

4. 소유자에게 쓰기 권한을 부여하고 그룹의 쓰기 권한은 제거한다.

 

5. 소유자의 권한만 남기고 나머지 사용자의 권한은 모두 제거한다.

 

728x90
728x90

파일 접근 권한 보호

- 리눅스는 파일에 무단으로 접근하는 것을 방지하고 보호하는 기능을 제공함

 

파일의 속성

 

 

속성 값 의미
- 파일의 종류 (-: 일반 파일, d: 디렉터리)
rw-r--r-- 파일을 읽고 쓰고 실행할 수 있는 접근 권한 표시
1 하드 링크의 개수
root 파일 소유자의 로그인 ID
root 파일 소유자의 그룹 이름
2259 파일의 크기(바이트 단위)
날짜 파일이 마지막으로 수정된 날짜
/etc/passwd 파일명

 

파일의 종류: file [파일]

- 지정한 파일의 종류 출력

 

파일 소유자의 그룹 이름: groups [사용자명]

- 사용자가 속한 그룹 출력

 

728x90

+ Recent posts