1. 파일 시스템
- 운영체제가 데이터를 디스크에 어떻게 저장하고 검색할지 결정하는 방식
- 데이터를 파일과 디렉터리로 조직화하고, 디스크에 어떻게 배치할지를 정함
2. 관련 명령어
2.1. 블록 장치 정보 확인(lsblk & blkid)
2.1.1. lsblk
- 시스템에 연결된 모든 블록 장치 출력
2.1.2. blkid
- UUID 값 확인
- i : 특정 디스크 파티션의 I/O 제한 정보를 출력
2.2. 마운트 된 파일 시스템 정보 확인(mount)
- 파일 시스템을 마운트하는 명령어
- mount [옵션] [장치이름] [마운트 포인트]
2.2.1. 주요 옵션
- -t : 파일 시스템 종류를 지정
- -f : 마운트가 가능한지 확인만 수행
- -o : 마운트 옵션을 지정
- loop : ISO 이미지 파일 생성
2.2.2. 예시
- cat mount
- mount –o remount
- 다시 마운트
- mount –o nosuid /dev/sdb1 /home
- SetUID/SetGID 파일들이 존재하는 홈 디렉터리에 SetUID/SetGID 비트가 동작하지 않도록 원천 봉쇄
2.3. /etc/fstab 파일
- 자동 마운트되도록 설정하는 파일
- 파일시스템의 마운트 설정 정보를 가지고 있는 파일
2.3.1. 파일 구조
- 장치 이름에는 장치 파일명 외에도 UUID나 라벨명으로 설정 가능
2.3.2. 옵션 필드 종류
- defaults : 기본값. rw, nouser, auto, exec, suid 속성을 포함
- auto : 부팅 시 자동으로 마운트 <-> noauto
- exec : 실행파일이 실행되는 것을 허용 <-> noexec
- suid : SUID/SGID의 사용 허용 <-> nosuid
- ro : 읽기 전용 <-> rw : 읽기/쓰기 허용
- user : 일반 사용자도 마운트 가능 <-> nouser : 일반 사용자의 마운트 불가능 (root만 가능)
- usrquota : 사용자별로 디스크 쿼터 설정 허용
- grpquota : 그룹별로 디스크 쿼터 설정 허용
2.3.3. 덤프 설정
- 1 : dump 등의 데이터 백업 명령어 사용으로 파일시스템의 내용 덤프 가능
- 0 : 파일시스템의 내용을 덤프 불가능
2.3.4. 파일 점검 옵션
- 0 : 부팅 시 fsck 명령어로 파일시스템 점검 미수행
- 1 : 루트 파일시스템에 설정 부팅 시 파일시스템 점검 수행
- 2 : 루트 파일시스템 이외의 파일시스템 점검 수행
2.3.5. 예시
- /dev/sdb1 /home2 ext4 defaults,usrquota 1 1
- ext4 파일 시스템으로 포맷된 /dev/sdb1을 /home2로 자동 마운트되도록 설정하고, 추가적으로 사용자의 디스크 사용량을 제한하기 위해 쿼터를 설정함
- cat /etc/fstab
- 관련 정보가 담겨있는 파일로 확인함
- 사용자의 디스크 쿼터를 설정하기 위해서는 /etc/fstab 파일에서 설정하려는 파티션과 관련된 항목의 4번째 필드에 usrquota를 추가 기입하고 다시 마운트하거나 재시작해야 함
2.4. 디스크 파티션 관리 (fdisk)
- 디스크의 파티션 생성 삭제 정보 출력 등 파티션을 관리하는 명령어
2.4.1. 옵션
- p : 현재 디스크 정보를 보여줌
- d : 파티션 삭제
- n : 파티션 생성
- t : 파티션 속성 변경
- w : 변경된 내용을 저장하고 종료
- q : 변경된 내용을 저장하지 않고 종료
- l : 파티션 테이블 정보 출력
- v : fdisk version 출력
- s partition : 특정 파티션 크기 출력 (단위는 block)
2.5. 파일 시스템 생성 포맷(mkfs, mke2fs)
2.5.1. mkfs
$ mkfs [옵션] [장치명]
2.5.2. mke2fs
- ext2, ext3, ext4 파일 시스템을 생성
$ mke2fs [옵션] [장치명]
- 옵션
- -t : 파일시스템 종류 지정 (default : ext2)
- -c : 배드블록을 체크
- -b : 블록크기를 바이트 수로 지정
- -j : ext3 형식으로 생성 (journaling)
- 기본 설정값은 /etc/mke2fs.conf 파일에서 정의
2.6. 파일 시스템 오류 검사 및 복구(fsck)
- 파일 시스템 검사
2.6.1. 옵션
- N : 실행하지 않고 단지 어떤 것이 실행되어지는지만 보여줌
- V : 자세한 출력 (실행되는 각 파일 시스템용 명령어 포함)
- v : 버전 정보
- y : 감지된 파일 시스템 오류를 자동적으로 수정하도록 함
- t : 파일 시스템 타입 지정
2.7. LVM
- 독립적으로 구성된 디스크 파티션을 하나로 연결하여 한 파티션처럼 사용할 수 있도록 해주는 관리 도구
2.7.1. 관련 용어
- PV (Physical Volume) : 실제 하드디스크의 파티션
- VG (Volume Group) : 여러 개의 PV를 그룹으로 묶은 것
- LV (Logical Volume) : VG를 다시 적절한 크기로 나눈 파티션
- PE (Physical Extent) : PV가 가진 일정한 블록
- LE (Logical Extent) : LV가 가진 일정한 블록
2.7.2. 주요 명령어
- pvcreate : PV 생성
- pvscan : PV 상태를 확인
- vgcreate : VG 생성
- vgchange -a y : 활성화
- vgchange -a n : 비활성화
- vgdisplay -v : VG 상태 확인
- vgscan : VG에 해당하는 모든 디스크를 스캔하고, LVM 캐시 파일을 재작성
- lvcreate : LV 생성
- lvcreate -L : LV의 사이즈를 지정하는 옵션(K-Kilobytes, M-Megabytes, G-Gigabytes, T-Terabytes)
- lvcreate –l : LV의 사이즈를 지정하는 옵션으로 pe의 개수로 용량을 지정함
- lvcreate –n : LV의 이름 지정
- lvscan : LV 상태 확인
2.8. ACL(Access Control List)
2.8.1. getfacl
- 접근 권한을 확인하는 명령어
- -d : 기본 정보에 대해 확인
- -R : 디렉토리인 경우 하위 디렉토리 내용까지 확인 가능
2.8.2. setfacl
- 접근 권한을 설정하는 명령어
- -m : 권한을 수정
- u:[유저명]:[rwx] (rwx 대신 숫자로 7 가능) - 유저 권한 부여
- g:[그룹명]:[6] (6 대신 rw 가능) - 그룹 권한 부여
- m::[rw] (rw 대신 숫자 5 가능) - mask 값 설정
- -x : 권한을 삭제
- -R : 하위 디렉터리의 권한까지 변경
- -b : 모든 ACL 삭제 (mask 포함)
- 특정 파일에 사용자 kait_woman에게 읽기 및 쓰기 권한을 부여. 파일의 이름은 myfile.txt
- setfacl -m u:kait_woman:rw myfile.txt
- ACL 확인
- getfacl myfile.txt
- 모든 ACL 제거
- setfacl -b myfile.txt
2.9. 새로운 디스크 추가 과정
- 하드디스크 인식 여부 확인 : fdisk -l
- 파티션 분할 및 생성 : fdisk -> n -> p -> 파티션 속성 (83: linux, 82:linux swap, 8e:LVM)
- 파일 시스템 생성 : mkfs, mke2fs, (mkfs.ext4 또는 mkfs -t ext4)
- 사용하려는 디렉터리 생성 : mkdir
- 마운트 및 관련 파일 등록 : mount, /etc/fstab
'자격증 & 공부 > 리눅스마스터 1급' 카테고리의 다른 글
[리눅스마스터 1급] 2402회 2차 시험 후기 (0) | 2024.11.11 |
---|---|
[리눅스마스터 1급 - 2차] 쿼터 (Quota) (0) | 2024.10.24 |
[리눅스마스터 1급 - 2차] 파일 속성 (0) | 2024.10.24 |
[리눅스마스터 1급 - 2차] 파일 및 디렉터리 권한 (0) | 2024.10.23 |
[리눅스마스터 1급 - 2차] 파일 링크 (하드 링크 / 심볼릭 링크 / inode) (0) | 2024.10.23 |