[Linux 기초] 22. 디스크 관리 - mount/umount
카테고리: LINUX
태그: linux
01. mount
파일시스템과 디렉터리를 연결 짓는 작업을 마운트(Mount) 작업이라 하며, 파일시스템의 연결점(Mount point)는 사용 중이던 디렉토리를 마운트 포인트로 이용할 경우 존재하던 파일과 디렉토리에 접근할 수 없게 되므 로 마운트 포인트는 비어 있는 디렉토리를 사용한다. ((마운트 포인트 해제 시 기존의 파일 및 디렉토리에 접근가능)
■ 명령 형식
mount [-t 파일시스템 유형] [-o 옵션] [장치 이름] [마운트 포인트]
| 옵션 | 설명 |
|---|---|
| -r | 파일시스템을 읽기 모드로 마운트한다. 이렇게 하면 파일 읽기만 가능 |
| -w | 기본 옵션이며 파일시스템을 읽기/쓰기 모드로 마운트 |
| -o OPTION | 마운트 세부 옵션을 설정하기 위해 사용 |
| -v | 세부 내용을 출력 |
| -o 옵션 | 설명 |
|---|---|
| async | 마운트된 파일시스템에 비동기 입출력을 사용 |
| auto | /etc/fstab에 지정된 파일시스템에 대해 부팅 시에 자동으로 마운트 |
| defaults | rw, suid, dev, exec, auto, nouser, async를 종합적으로 사용 |
| dev | 해당 파일시스템을 문자 디바이스나 블록 디바이스를 이용해 해석 |
| exec | 파일 시스템에 포함된 프로그램을 실행할 수 있도록 함 |
| noauto | 자동 마운트가 되지 않도록 함 |
| noexec | 해당 파일 시스템의 프로그램이 실행되지 않도록 함, 특정 보안 목적을 위해 사용 |
| nosuid | 실행 파일에 존재하는 suid, sgid 비트의 기능 제한 |
| nouser | 루트(root) 외의 사용자가 파일 시스템을 마운트 하거나 언마운트 하는 것을 제한 |
| ro | 읽기 전용으로 마운트 |
| rw | 읽기와 쓰기 가능하도록 마운트 |
| suid | 실행 파일에 존재하는 suid, sgid 비트의 기능을 사용 |
| sync | 마운트된 파일시스템에 동기식 입출력을 사용 |
| user | 일반 사용자의 파일시스템 마운트 허용 |
| users | 모든 일반 사용자가 파일 시스템을 마운트, 언마운트 가능하도록 허용 |
| noatime | acess time을 기록하지 않음, 자주 파일에 액세스 할 경우 유용 |
■ 예시
-
/dev/sdc1에 만들어진 파일시스템을 /data01 디렉터리에 마운트
$ blkid | grep sdc /dev/sdc2: UUID="e0dbc8a5-bfe1-4697-84bd-bf8aa1ac6fb9" TYPE="xfs" PARTLABEL="2st" PARTUUID="1c89b65f-c842-454f-bea5-788365ade8e1" /dev/sdc1: UUID="42940ece-b83a-4553-aa7a-4f845c739b13" TYPE="xfs" PARTLABEL="1st" PARTUUID="772e26fd-9dc0-45b9-9d45-02b62ad5c642" $ mkdir /data01 $ mount /dev/sdc1 /data01 $ df -hF xfs /data01 Filesystem Size Used Avail Use% Mounted on /dev/sdc1 10G 104M 9.9G 2% /data01 $ mount | grep data01 /dev/sdc1 on /data01 type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) $ lsblk /dev/sdc NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sdc 8:32 0 20G 0 disk ├─sdc1 8:33 0 10G 0 part /data01 └─sdc2 8:34 0 10G 0 part -
마운트 된 /data01 파일시스템을 언마운트 한 후 다시 읽기 전용 모드로 마운트 되도록 만들기 위해 -r 옵션을 사용
$ umount /data01 $ df -hF xfs /data01 Filesystem Size Used Avail Use% Mounted on /dev/mapper/rl-root 17G 1.7G 16G 10% / $ mount -t xfs -r /dev/sdc1 /data01 $ lsblk /dev/sdc NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sdc 8:32 0 20G 0 disk ├─sdc1 8:33 0 10G 0 part /data01 └─sdc2 8:34 0 10G 0 part $ mount | grep data01 /dev/sdc1 on /data01 type xfs (ro,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) $ touch /data01/file01 touch: cannot touch '/data01/file01': Read-only file system -
/data01 파일시스템을 언마운트 한 후 다시 마운트 echo.sh 파일을 생성한 후 실행 권한을 부여한 후 실행
-
그리고 파일시스템을 noexec 옵션을 주어 재 마운트 한 후 echo.sh 파일이 실행되는지를 확인
$ umount /data01 $ mount /dev/sdc1 /data01 $ cat > /data01/echo.sh #!/bin/sh echo hello $ chmod +x /data01/echo.sh $ ls -l /data01/echo.sh -rwxr-xr-x. 1 root root 22 Apr 24 15:58 /data01/echo.sh $ /data01/echo.sh hello $ umount /data01 $ mount -o rw,noexec /dev/sdc1 /data01 $ /data01/echo.sh -bash: /data01/echo.sh: Permission denied $ ls -l /data01/echo.sh -rwxr-xr-x. 1 root root 22 Apr 24 15:58 /data01/echo.sh $ mount | grep data01 /dev/sdc1 on /data01 type xfs (rw,noexec,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)
02. umount
■ 명령 형식
$ umount [옵션] 마운트 포인트
| 옵션 | 설명 |
|---|---|
| -f | 강제적으로 파일시스템 연결을 끊기 위해(unmount) 사용 |
03. 파일 시스템 마운트 관리 파일(/etc/fstab)
리눅스가 부팅되면서 파일 시스템을 어디에 자동으로 마운트하고, 외부 장치들에 대한 마운트를 어떻게 설정하는지, 권한 및 복구 등의 옵션을 어떻게 이용할 지 지정하는 파일 (시스템 부팅 시 /etc/fstab에 기록되어 있는 순서대로 파티션이 마운트 되어 한 개의 디렉토리 트리가 만들어 짐)
| 필드 | 내용 |
|---|---|
| Device Name | 마운트 될 디바이스 이름을 지정한다. |
| Mount Point | 마운트 포인트를 지정한다. |
| FS Type | 파일시스템 유형을 지정한다. |
| Option | 파일시스템 마운트 시 적용할 옵션을 지정한다. |
| Dump | dump 명령에 의해 백업 될 파일시스템을 표시한다. 0 : 필요없음 1 : 필요함 |
| FSCK | 시스템 부팅 시 파일시스템을 fsck 명령으로 무결성 검사를 할 것인지에 대한 유무를 표시한다. 0 : 무결성 검사 하지 않음 1 : 우선순위 1을 뜻하며 무결성 검사 실행 ( 보통 / 가 1 우선순위를 가짐. 나머진 2) 2 : 우선순위 2를 뜻하며 무결성 검사 실행 |
댓글 남기기