본문 바로가기
모의해킹 침해대응 과정/Liunx 관리

리눅스 Mount / day 8

by 알거음슴 2021. 4. 8.

mount

장치를 사용하기 위해 마지막에 거치는 마운트 과정.

 1) 형식 

mount [-t TYPE] [-o OPTIONS] <DISK> [MOUNTPOINT]

 

mount : 마운트 정보 및 옵션확인 (장애처리시 주로 확인)

mount <DISK> [mountpoint] : 마운트 포인트에 디스크를 마운트함.

umount [mountpoint]or<DISK> : 마운트를 해제함

mount -o [OPTIONSname] : 해당 옵션을 지정하고 나머지 옵션은 기본값으로 지정한다.

mount -t[FILESYSTEMTYPE] : 파일 시스템 타입을 지정하여 마운트 한다.

mount -a : 마운트 할 만한 정보를 모두 마운트 (/etc/fstab 참조)

umount -a : 마운트 되어있는 자원을 모두 해제 (/etc/mtab 참조)

 * 단 사용중인것은 umount -a 적용되지 않음.

 

 

* 마운트 명령어 출력결과 해석

[root@server1 /]# mount
/dev/sda1 on /boot type xfs (rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota)

 /dev/sda1 : 장치 이름

 /boot : 마운트 포인트

 type xfs : 파일시스템 타입

 (rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota) : 마운트 옵션

 

[참고] mount 추가적으로 알아두면 좋은옵션

 1) noatime

atime(Access Time)을 기록으로 남기지 않는 옵션.

MAC(mtime/atime/ctime) 분석

파일의 속성 정보 중 시간
mtime(Modify Time) # ls -l 파일 생성 및 파일의 내용을 수정한 시간 기록
atime(Access Time) # ls -lu 파일 접근시간 - 파일을 열어볼 때 시간 기록
ctime(Changed Time) # ls -lc 파일 속성 정보 변경 시간 기록

* 파일의 수정작업이 이루어졋을땐 a/m/ctime 에 구여받지않고 시간정보가 변경됨.

[실습] mount 중 noatime을 적용한 결과와 하지않은 결과에 따른 atime 비교.

 

 2)nosuid

mount point 에 set-UID,GID의 권한을 부여하지 않도록 원천봉쇄하는 옵션이다. 주기적인 set-uid 파일을 점검하는것도 하나의 방법이지만 마운트당시 아예 적용을 불가하게 만들어, root 권한의 대한 보호를 할 수 있다.

 

 

 

1. 마운트 관련 파일

마운트가 된 이후에도 특정 파일에 마운트 정보를 추가해줘야 관리자 원하는 방향성에 맞게 이용이 가능하다.

 /etc/mtab : 현재 마운트 된 정보를 담고있다. ( 운영체제가 자동 관리함 )

 /etc/fstab : 부팅시에 마운트 할 만한 정보를 담는다.

 

* /etc/mtab 파일 출력결과 해석 (mount 와 같은 정보 출력)

[root@server1 /]# cat /etc/mtab | grep /dev/sda1
/dev/sda1 /boot xfs rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota 0 0

 /dev/sda1 : 장치 이름

 /boot : 마운트 포인트

 xfs : 파일시스템 타입

 rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota : 마운트 옵션

 0 : dump 관련 설정 ( 0= off / 1 = on )

 0 : 파일 점검 옵션 

 

 (2) /etc/fstab

 /etc/fstab 파일 안에는 커널이 부팅시에 마운트 할 만한 정보를 담고있다. (mount CMD 정보 + fsck CMD 정보)

 

* /etc/mtab 파일 출력결과 해석

[root@server1 /]# cat /etc/fstab 

/dev/mapper/cl-root      /                       xfs      defaults        0 0
/dev/mapper/cl-home    /home                xfs      defaults        0 0
/dev/mapper/cl-swap     none                 swap    defaults        0 0

 1번필드 : 파일 시스템 장치명 (UUID)

 2번필드 : 마운트 포인트

 3번필드 : 파일 시스템

 4번필드 : 옵션 (defaults : rw, suid, dev, exec, auto, nouser, and async)

 5번필드 : dump 관련 설정 ( 0= off / 1 = on )

 6번필드 : fsck 점검 여부 결정 ( 0= 점검안함 , 1~3=부팅시 fsck 점검, 숫자가 높을수록 부팅시 우선점검 )

 

* fstab(5), findfs(8), mount(8) and/or blkid(8) : 등에서 추가적인 정보 확인이 가능하다

* systemctl daemon-reload : /etc/fstab 파일 수정시, 해당 CMD로 적용해줘라, (주로 장애처리시 활용)

 

[참고] defaults 옵션 뜻.

auto / noauto : 부팅시 자동 마운트 / 자동마운트 안함

exec / noexec : 실행 파일이 있으면 실행되는것을 허용 함 / 허용안함

suid / nosuid : Set-UID,GID 사용을 허용하는 옵션 / 허용안함 (권한부여를안함)

rw / ro : 읽고 쓰기 가능 (rw) / 읽기 전용 (ro)

user / nouser : 일반계정 사용자도 마운트 가능 / root 만 마운트 가능.

 

[실습] 실제 /etc/fstab 활용하여 reboot 시에 자동마운트 되게 설정하기.

vi etc/fstab -> 필드에 맞게 편집하여 reboot

 

[실습] 사용중인 파일시스템을 umount 하기.

 -> 서비스 운영중에 작업이 필요 한 경우 사용됨.

* fuser -cu /home : /home 접속중인 사용자 확인.

* fuser -ck /home : /home 에 접속중인 사용자들을 모두 logout 시킴

 

 

2. 기타마운트 관리

 

CD 마운트

 1) 자동으로 마운트

Automount

 cd /run/media/사용자/LABEL이름 ; ls

 cd ; umount /run/media/사용자/LABEL이름

 

 2)수동으로 마운트 하는 경우

 mkdir -p /mnt/cdrom ; mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom

* iso9660 : CD-rom 타입

 cd /mnt/cdrom ; ls

 cd ; umount /mnt/cdrom

 

ISO 이미지 마운트 (수동으로만 가능)

 mkisofs -o /test/a.iso /etc/sysconfig/*

 mkdir -p /mnt/iso  (mountpoint)

 mount -t iso9660 -o remount,loop,ro /test/a.iso /mnt/iso

 

USB 마운트

 1) NTFS 방식 : ntfs-3g 패키지 설치 시 자동인식 가능.

* 선수작업 : EPEL Repositroy 지정 되어있어야함.

yum install -y ntfs-3g

mount -t ntfs /dev/hda2 /mnt/ntfs

 

 2) FAT32 파일시스템 마운트 

 1) 자동으로 마운트

Automount

 cd /run/media/사용자/LABEL이름 ; ls

 cd ; umount /run/media/사용자/LABEL이름

 

 2) 수동으로 마운트

  mkdir -p /mnt/usb  (mountpoint)

  mount -t vfat /dev/sdb1 /mnt/usb

*-t vfat 옵션 활용해야 마운트 가능.

 

RAM 공간으로 마운트하기

* roboot 시 플래시메모리 특징상 모든 정보는 날아감. 임시작업용으로 활용mount

 

장치를 사용하기 위해 마지막에 거치는 마운트 과정.

 

 1) 형식 

 

mount [-t TYPE] [-o OPTIONS] <DISK> [MOUNTPOINT]

 

 

 

mount : 마운트 정보 및 옵션확인 (장애처리시 주로 확인)

 

mount <DISK> [mountpoint] : 마운트 포인트에 디스크를 마운트함.

 

umount [mountpoint]or<DISK> : 마운트를 해제함

 

mount -o [OPTIONSname] : 해당 옵션을 지정하고 나머지 옵션은 기본값으로 지정한다.

 

mount -t[FILESYSTEMTYPE] : 파일 시스템 타입을 지정하여 마운트 한다.

 

mount -a : 마운트 할 만한 정보를 모두 마운트 (/etc/fstab 참조)

 

umount -a : 마운트 되어있는 자원을 모두 해제 (/etc/mtab 참조)

 

 * 단 사용중인것은 umount -a 적용되지 않음.

 

 

 

 

 

* 마운트 명령어 출력결과 해석

 

[root@server1 /]# mount

/dev/sda1 on /boot type xfs (rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota)

 

 /dev/sda1 : 장치 이름

 

 /boot : 마운트 포인트

 

 type xfs : 파일시스템 타입

 

 (rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota) : 마운트 옵션

 

 

 

[참고] mount 추가적으로 알아두면 좋은옵션

 

 1) noatime

 

atime(Access Time)을 기록으로 남기지 않는 옵션.

 

MAC(mtime/atime/ctime) 분석

 

파일의 속성 정보 중 시간

mtime(Modify Time) # ls -l 파일 생성 및 파일의 내용을 수정한 시간 기록

atime(Access Time) # ls -lu 파일 접근시간 - 파일을 열어볼 때 시간 기록

ctime(Changed Time) # ls -lc 파일 속성 정보 변경 시간 기록

* 파일의 수정작업이 이루어졋을땐 a/m/ctime 에 구여받지않고 시간정보가 변경됨.

 

[실습] mount 중 noatime을 적용한 결과와 하지않은 결과에 따른 atime 비교.

 

 

 

 2)nosuid

 

mount point 에 set-UID,GID의 권한을 부여하지 않도록 원천봉쇄하는 옵션이다. 주기적인 set-uid 파일을 점검하는것도 하나의 방법이지만 마운트당시 아예 적용을 불가하게 만들어, root 권한의 대한 보호를 할 수 있다.

 

 

 

 

 

 

 

1. 마운트 관련 파일

 

마운트가 된 이후에도 특정 파일에 마운트 정보를 추가해줘야 관리자 원하는 방향성에 맞게 이용이 가능하다.

 

 /etc/mtab : 현재 마운트 된 정보를 담고있다. ( 운영체제가 자동 관리함 )

 

 /etc/fstab : 부팅시에 마운트 할 만한 정보를 담는다.

 

 

 

* /etc/mtab 파일 출력결과 해석 (mount 와 같은 정보 출력)

 

[root@server1 /]# cat /etc/mtab | grep /dev/sda1

/dev/sda1 /boot xfs rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota 0 0

 

 /dev/sda1 : 장치 이름

 

 /boot : 마운트 포인트

 

 xfs : 파일시스템 타입

 

 rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota : 마운트 옵션

 

 0 : dump 관련 설정 ( 0= off / 1 = on )

 

 0 : 파일 점검 옵션 

 

 

 

 (2) /etc/fstab

 

 /etc/fstab 파일 안에는 커널이 부팅시에 마운트 할 만한 정보를 담고있다. (mount CMD 정보 + fsck CMD 정보)

 

 

 

* /etc/mtab 파일 출력결과 해석

 

[root@server1 /]# cat /etc/fstab 

 

/dev/mapper/cl-root / xfs defaults 0 0

/dev/mapper/cl-home /home xfs defaults 0 0

/dev/mapper/cl-swap none swap defaults 0 0

 

 1번필드 : 파일 시스템 장치명 (UUID)

 

 2번필드 : 마운트 포인트

 

 3번필드 : 파일 시스템

 

 4번필드 : 옵션 (defaults : rw, suid, dev, exec, auto, nouser, and async)

 

 5번필드 : dump 관련 설정 ( 0= off / 1 = on )

 

 6번필드 : fsck 점검 여부 결정 ( 0= 점검안함 , 1~3=부팅시 fsck 점검, 숫자가 높을수록 부팅시 우선점검 )

 

 

 

* fstab(5), findfs(8), mount(8) and/or blkid(8) : 등에서 추가적인 정보 확인이 가능하다

 

* systemctl daemon-reload : /etc/fstab 파일 수정시, 해당 CMD로 적용해줘라, (주로 장애처리시 활용)

 

 

 

[참고] defaults 옵션 뜻.

 

auto / noauto : 부팅시 자동 마운트 / 자동마운트 안함

 

exec / noexec : 실행 파일이 있으면 실행되는것을 허용 함 / 허용안함

 

suid / nosuid : Set-UID,GID 사용을 허용하는 옵션 / 허용안함 (권한부여를안함)

 

rw / ro : 읽고 쓰기 가능 (rw) / 읽기 전용 (ro)

 

user / nouser : 일반계정 사용자도 마운트 가능 / root 만 마운트 가능.

 

 

 

[실습] 실제 /etc/fstab 활용하여 reboot 시에 자동마운트 되게 설정하기.

 

vi etc/fstab -> 필드에 맞게 편집하여 reboot

 

 

 

[실습] 사용중인 파일시스템을 umount 하기.

 

 -> 서비스 운영중에 작업이 필요 한 경우 사용됨.

 

* fuser -cu /home : /home 접속중인 사용자 확인.

 

* fuser -ck /home : /home 에 접속중인 사용자들을 모두 logout 시킴

 

 

 

 

 

2. 기타마운트 관리

 

CD 마운트

 

 1) 자동으로 마운트

Automount

 cd /run/media/사용자/LABEL이름 ; ls

 cd ; umount /run/media/사용자/LABEL이름

 

 2)수동으로 마운트 하는 경우

 mkdir -p /mnt/cdrom ; mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom

* iso9660 : CD-rom 타입

 cd /mnt/cdrom ; ls

 cd ; umount /mnt/cdrom

 

ISO 이미지 마운트 (수동으로만 가능)

 mkisofs -o /test/a.iso /etc/sysconfig/*

 mkdir -p /mnt/iso (mountpoint)

 mount -t iso9660 -o remount,loop,ro /test/a.iso /mnt/iso

 

USB 마운트

 1) NTFS 방식 : ntfs-3g 패키지 설치 시 자동인식 가능.

* 선수작업 : EPEL Repositroy 지정 되어있어야함.

 yum install -y ntfs-3g

 mount -t ntfs /dev/hda2 /mnt/ntfs

 

 2) FAT32 파일시스템 마운트 

 1) 자동으로 마운트

 Automount

 cd /run/media/사용자/LABEL이름 ; ls

 cd ; umount /run/media/사용자/LABEL이름

 

 2) 수동으로 마운트

  mkdir -p /mnt/usb (mountpoint)

  mount -t vfat /dev/sdb1 /mnt/usb

*-t vfat 옵션 활용해야 마운트 가능.

 

 3) RAM 공간으로 마운트하기

* roboot 시 플래시메모리 특징상 모든 정보는 날아감. 임시작업용으로 활용

 mkdir /mnt/ramdisk 

 mount -t tmpfs none /mnt/ramdisk -o size=10m

 

NFS 원격 마운트

* 선수작업 : 자원을 공유해줄 서버에 공유작업 진행

(server2)

 mkdir -p /share

 vi /etc/exports

/share      *(rw)

 systemctl enable --now nfs-server

(server1)

 mkdir -p /mnt/share

 showmount -e 192.168.10.30  ( 연결여부 확인 )

 mount -t nfs 192.168.10.30:/share /mnt/share

 

[참고]

 hide_hid_files : 휴지통이나 볼륨정보 디렉토리를 숨긴다.

 windows_names : windows 에서 문제가 되는 문자열들 (* / : < > ? | )등을 헝요하지 않는다.