Linux 파일시스템2
*파일시스템
파일을 저장하고 관리하는 체계
#dumpe2fs /dev/sda1(구조를 보는 것)
//종류
ext2/ext3/ext4/xfs ..등
*파일시스템 작업
#mkfs.ext3 /dev/sdb1 (ext3형태의 파일시스템 생성)
#dumpe2fs /dev/sdb1 (정보를 볼 수가있음)
*minfree(Minimum Free Space)
1.파일 시스템이 FUll 되었을 때 파일시스템에 접근 할 수있는 최소의 공간
2.root 사용자만 사용할 수 있는 예약된 공간
3.파일시스템 생성시 기본 값 5%
#mkfs.ext3 /dev/sdb1 (minfree 지정없으면 기본값 5% 공간)
#mkfs.ext3 -m 1 /dev/sdb1 (minfree 공간을 1%로 하며 파일시스템 생성)
//조정 및 확인
#tune2fs -m 5 /dev/sdb1 (minfree 공간을 5%로 조정)
#tune2fs -l /dev/sdb1 | grep -i reserved (Reserved block conunt값으로 보게됨)
//실무예제
Full이 된 공간의 minfree 값을 줄여서 공간을 확보한다 (불 필요한 파일 삭제 및 원인 분석하기 까지의 시간 확보)
*mount (마운트 작업)
현재 마운트된 정보를 가지고 있는 파일 : /etc/mtab
부팅시 마운트 할 때 사용되는 파일 : /etc/fstab (새로운 파일시스템 내용을 편집하여 재부팅하면 적용됨)
//fstab파일(부팅시 mount + fsck 작동)
#cat /etc/fstab
[파일 시스템 장치명] [마운트 포인트] [시스템 종류] [옵션] [dump설정] [파일점검옵션]
//fstab 파일점검옵션
0 : 부팅시 fsck를 사용하지 않음
1 : 루트 파일 시스템을 의미
2 : 루트 파일 시스템 이외
3 : 개인이 설정한 시스템할시
//mount 명령어
#mount (현재 마운트된 디스크의 정보, 옵션 등을 보여줌)
#mount /dev/sdb1 /testmount : /testmount을 /dev/sdb1의 마운트포인트로 지정
#mount -a (/etc/fstab파일을 읽어서 모두 마운트함)
//umount 명령어
#umount 마운트포인트
#umount -a (마운트를 전부 해제)
//mount 옵션 명령어
1.
#mount -o ro /dev/sdb1 /testmount (읽기전용 옵션 설정)
#mount -o noauto /dev/sdb1 /testmount (부팅시 자동 마운트되지 않게)
#mount -o noexec /dev/sdb1 /testmount (실행 파일이 실행되는 것을 허용 안함)
#mount -o remount 마운트포인트 (기본옵션으로 변경)
2.noatime 마운트 옵션
#mount -o noatime /dev/sdb1 /testmount (atime을 기록하지 않겠다는 것)
#ls -l (mtime을 보는 것)
#ls -lu (atime을 보는 것)
사용이유 : write을 자주하는 파일시스템(var/Log[Spool,Caching])에 하면 성능이 좋아짐
3.nosuid 마운트 옵션
#mount -o nosuid /dev/sdb1 /testmount (suid가 설정되어있어도 동작하지 않는 것)
사용이유 : 사용자들이 SetUID프로그램을 만들어도 동작하지 않음으로 백도어 등의 보안상 강화된다.
4.usrquota 마운트 옵션 (quota가 설치 되어있어야함)
#mount -o usrquota /home (사용자 혹은 그룹의 용량, 파일 수 등을 제한 하는 것)
#quotacheck -am (quota을 관리하는 /home/aquota.user을 생성하게 됨)
#edquota 사용자명 (사용자의 soft(경고메시지), hard(제한)을 설정)
#quota qtest1 (설정내용 출력)
#quotacheck -a
#quotaon /home (quota을 실행하게 됨)
#requota -a (모든 사용자들의 대한 quota 설정 출력)
#quotaoff /home (quota 해제)
#mount -o remount /home (기본옵션으로 설정)
사용이유 : 잘 사용하지 않음으로 이러한 것이 있다는 것을 알기
//실무예제 (관리자가 급하게 #umount /home 해야 할시)
#umount /home (사용자가 로그인되어있어서 umount가 안되어짐)
#fuser -cu /home (/home을 이용중인 사용자 출력)
#wall '/home directory! stops a use!' (wall을 이용한 종료 안내문)
#fuser -ck /home (아직 /home을 이용중인 사용자 강제종료)