- 리눅스 시스템의 모든 파일과 디렉터리에는 접근 권한과 소유권이 부여됨.
- 명령어 ls -l은 파일 속성을 나타냄.
- 파일 속성의 첫 번째 필드는 파일이나 디렉터리의 허가권, 세 번째와 네 번째 필드는 파일이나 디렉터리 소유권 나타냄.
소유권(Ownership)과 관련된 명령어
- 소유권은 임의의 파일 또는 디렉터리에 대해 사용자와 그룹들의 소유 권한을 나타낸 것.
- 그룹은 사용자들의 시스템 운영 특성에 따라 묶어 놓은 것으로 같은 그룹에 속한 사용자들은 동일 소유권을 가짐.
- chown - 파일과 디렉터리의 사용자 소유권과 그룹 소유권을 변경.
- chgrp - change group을 줄인 명령어로 파일이나 디렉터리의 그룹 소유권을 변경.
옵션 -R로 하위 디렉터리를 포함하여 디렉터리 내부의 모든 파일의 그룹 소유권 변경.
허가권(Permission)과 관련된 명령어
- 파일 허가권의 첫 번째 자리는 파일 유형을 기호로 정의.
- 파일은 일반 파일, 디렉터리 파일, 특수 파일로 나뉨.
- 파일 사용자는 파일 소유자(u), 그룹 소유자(g), 기타 사용자(o), 모든 사용자(a)로 구분.
- 파일 권한은 읽기( 4), 쓰기(2), 실행(1)이 있음.

- chmod - 파일이나 디렉터리의 접근 허가권을 변경하는 명령어.
옵션 -R로 하위 디렉터리에 포함되어 있는 모든 디렉터리 및 파일의 권한 변경. - umask - 새로 생성되는 파일이나 디렉터리의 기본 허가권 값을 지정.
파일의 기본 권한은 666, 디렉터리의 기본 권한은 777.
파일이나 디렉터리 생성 시 디폴트 권한 값에서 설정한 umask 값을 뺀 값을 기본 허가권으로 설정.
ex) umask가 0002라면 특수 권한이 부여되어 있지 않은 일반 파일의 권한은 664, 일반 디렉터리 권한은 775.
특수 권한 관련 명령어
- SetUID와 SetGID - 프로세스가 실행되는 동안 해당 프로세스의 root 권한을 임시로 가져오는 기능.
SetUID의 경우 사용자가 사용할 때만 소유자 권한으로 파일을 실행시키고,
SetGID의 경우 사용자가 사용할 때만 그룹 권한으로 파일을 실행. - Stick bit - 일반적으로 공용 디렉터리를 사용할 때 stick bit를 설정하여 사용.
stick bit가 설정되어 있는 디렉터리 안 내용은 해당 파일의 소유자나 root 권한만이 변경이 가능하게 하여,
다른 사용자들의 파일을 보호하기 위한 목적으로 만든 것으로 일반적으로 /tmp 안에 생성됨.
코드 | 절대값 | 설명 | |
SetUID | s | 4000 | 프로세스 실행 당시 UID로 설정 |
SetGID | s | 2000 | 프로세스 실행 당시 GID로 설정 |
Stick bit | t | 1000 | 실행 후에도 메모리를 점유하도록 설정 |
디스크 쿼터(Disk Quota)
- 파일 시스템마다 사용자나 그룹이 생성할 수 있는 파일의 용량 및 개수를 제한하는 것으로
보통 블록 단위의 용량 제한과 inode의 개수를 제한. - 그룹 단위로도 용량을 제한할 수 있으며 웹 호스팅 서비스를 하는 경우에 유용.
- quotaoff - 쿼터 서비스를 비활성화.
- quotacheck - 파일 시스템의 디스크 사용 상태를 검색.
quota 기록 파일인 'quota.user, quota.group' 또는 'aquota.user, aquota.group' 파일들 최근 생태로 갱신 위해 사용. - eduquota - 편집기를 이용하여 사용자나 그룹에 디스크 사용량을 할당하는 명령어.
- setquota - 편집기가 기반이 아닌 명령행에서 직접 사용자나 그룹에 디스크 사용량을 할당하는 명령어.
파일 시스템의 개요
- 운영체제가 파일을 시스템의 디스크상에 구성하는 방식.
- 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제.
- 하드 디스크나 CD-ROM과 같은 물리적 저장소를 관리.

파일 시스템의 종류
리눅스 전용 디스크 기반 파일 시스템
파일 시스템 | 설명 |
ext(ext1) | 리눅스 초기에 사용되던 파일 시스템이며 호환성이 없음 |
ext2 | 고용량 디스크 사용을 염두에 두고 설계된 파일 시스템 |
ext3 | 리눅스의 대표적인 저널링을 지원하도록 확장된 파일 시스템 ACL(Access Control List)을 통한 접근 제어 지원 |
ext4 | ext2 및 ext3와 호환성이 있는 확장 버전이자 현재 대부분의 배표판이 사용하는 버전 파일에 디스크 할당 시 물리적으로 연속적인 블록을 할당 64비트 기억 공간 제한을 없앴고 16TeraByte의 파일을 지원 |
저널링 파일 시스템
- 시스템의 비정상적인 종료 시 저널(로그)을 이용해 빠르면서도 안정적인 복구가 가능.
- 운영 형태는 저널 이리는 로그에 시스템 전 상태를 저장하고 비정상 종료 시 저널 검사한 이후 저널 정보를 바탕으로
파일 시스템에 수정 내용을 적용하는 형태.
파일 시스템 | 설명 |
JFS | IBM사의 독자적인 저널링 파일 시스템 GPL로 공개하여 현재 리눅스용으로 개발 |
XFS | 고성능 저널링 시스템으로 64비트 주소를 지원하며 확장성 있는 알고리즘 사용 파일 수에 관계없이 예상치 못한 상황으로부터 신속한 복구와 재시작 가능 높은 확장성과 처리량을 가짐 |
ReiserFS | 독일의 한스 라이저가 개발한 파일 시스템 모든 파일 객체들을 B트리에 저장, 간결하고 색인화된 디렉터리 지원 |
네트워크 파일 시스템
파일 시스템 | 설명 |
SMB | 윈도우 계열 OS 환경에서 사용되는 파일/프린터 공유 프로토콜 리눅스, 유닉스 OS와 윈도우 OS와의 자료 및 하드웨어 공유 |
CIFS | SMB를 기초로 응용하여 라우터를 뛰어넘어 연결할 수 있는 프로토콜 |
NFS | 썬마이크로시스템이 개발한 네트워크 공유 프로토콜 파일 공유 및 파일 서버로 사용되며 공유된 영역을 마운트할 때 지정 하드웨어, 운영체제 또는 네트웤크 구조가 달라도 공유 가능 |
파일 시스템 관련 명령어
- mount와 umount - 마운트는 특정 디바이스를 특정 디렉터리처럼 사용하기 위해 장치와 디렉터리 연결.
시스템 부팅 후 수동으로 마운트 해서 사용, 사용 끝난 후 언마운트 시키기.
파일 /etc/mtab은 현재 마운트된 블록 시스템 정보 표시. - eject - 이동식 보조기억장치(DVD나 CD-ROM)와 같은 미디어를 해제하고 장치 제거하는 명령어.
- fdisk - 새로운 파티션의 생성, 기존 파티션의 삭제, 파티션의 타입 결정 등의 작업을 수행.
명령어 실행을 위해서는 어떤 디스크 파티션을 나눌 것인지 알려주어야 함. - mkfs - 리눅스 파일 시스템을 생성.
- mke2fs - ext2, ext3, ext4 타입의 리눅스 파일 시스템을 생성 및 포맷하는 명령어.
- fsck - 파일 시스템의 무결성을 점검하고 대화식으로 복구하는 명령어.
디렉터리 /lost+found은 fsck에서 사용하는 디렉터리. - e2fsck - ext2, ext3, ext4 타입의 리눅스 파일 시스템을 점검 및 복구하는 명령어.
- du - Disk Usage의 약자로 디렉터리별로 디스크 사용량을 확인.
- df - 시스템에 마운트된 하드 디스크의 용량을, 파티션 단위로 사용량을 확인하는 명령어.
기본적으로 1,024Byte 블록 단위로 출력하며, 옵션을 통해 다른 단위로 출력 가능.
'DevOps&Infra > Linux' 카테고리의 다른 글
02-3 프로세스 관리 (0) | 2022.09.12 |
---|---|
02-2 셸(Shell) (0) | 2022.08.28 |
01-3 리눅스의 기본 명령어(3) (0) | 2022.07.30 |
01-3 리눅스의 기본 명령어(2) (0) | 2022.07.30 |
01-3 리눅스의 기본 명령어(1) (0) | 2022.07.27 |