useradd -d /userHome/john john
useradd -d /userHome/bann bann
passwd john
passwd bann
/dev/sdb1 /userHome ext4 defaults,usrjquota=aquota.user,jqfmt=vfsv0 0 0
fstab을 열어서 defaults에 내용을 추가한다.
이상하고 복잡해 보이는 명령어지만 사용자별로 용량을 제한하는 파일시스템으로 하겠다는 의미를 가지고 있다.
mount --options remount /userHome
재부팅을 해서 작성한 내용을 인식시키는 것 대신에
다시 마운트하였다.
cd /userHome //쿼터용 파일 시스템이 마운트된 디렉터리로 이동한다.
quotaoff -avug //일단 쿼터를 끈다
quotacheck -augmn //파일 시스템의 쿼터 관련 체크를 한다.
rm -rf aquota.* //생성된 쿼터 관련 파일을 일단 삭제 한다.
quotacheck -augmn //다시 파일 시스템의 쿼터 관련 체크를 한다.
touch aquota.user aquota.group //쿼터 관련 파일을 생성한다.
chmod 600 aquota.* //보안을 위해 소유자(root)외에는 접근하지 못하게 한다.
quotacheck -augmn //마지막으로 파일 시스템의 쿼터 관련 체크를 한다.
quotaon -avug //설정된 쿼터를 시작한다.
user quotas turned on
quota DB를 만들었다.
quotacheck(파일시스템을 스캔해서 쿼터파일을 생성, 확인, 수정)와 quotaon/quotaoff의 옵션은 다음과 같다
-a 모든 파일시스템을 체크한다
-u 사용자 쿼터 관련 체크를 한다
-g 그룹 쿼터 관련 체크를 한다
-m 재마운트를 생략한다
-n 첫번째 검색된 것을 사용한다
-p 처리결과를 출력한다
-v 파일시스템의 상태를 보여준다.
edquota -u john
특정사용자에게 할당한다는 의미이다.
자동으로 vi에디터로 열린다.
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 28 10240 15360 7 0 0
inodes 왼쪽에 soft와 hard는 기억공간의 크기범위를 설정해주는 것과 관련있는데
soft의 크기를 넘는 것은 7일간은 허용된다면 hard는 절대로 넘을 수 없는 크기이다.
원래 의도했던 사용자마다 공간을 적당히 나눠쓰는 기능을 사용했을때 만족감보다는
파일 복사중에 공간한정으로 인해서 작업이 멈추는 상황이 누군가에게는
차라리 겪고 싶지 않은 일일수도 있고 금전적인 리스크일수 있기 때문에 이러한 설정을 만들어 두었다고 한다.
su - john
cp /boot/vmlinuz-3.10.0-123.el7.x86_64 test1
cp test1 test2
cp test1 test3
테스트를 위해서 일부러 soft인 10MB을 넘기는 작업을 해보았다.
sdb1: warning, user block quota exceeded. 라는 에러가 발생함에도
ls -l을 보면 test1, test2, test3 모두 다 정상적으로 같은 크기의 파일들로 존재함을 확인할 수 있다.
cp test1 test4
sdb1: write failed, user block limit reached.
cp: `test4'에 쓰는 도중 오류 발생: 디스크 할당량이 초과됨
cp: failed to extend `test4': 디스크 할당량이 초과됨
[john@localhost ~]$
한번 더 진행 했을때는
hard인 15MB를 넘겨서 오류가 발생함을 확인할 수 있다.
이때 test4의 용량은 다른 파일보다 작아서 정상적인 상태의 파일이 아니다.
또한 test3도 soft를 넘어 섰기에 7일안에 처리를 해줘야 한다.
quota
Filesystem blocks quota limit grace files quota limit grace
/dev/sdb1 15360* 10240 15360 6days 16 0 0
위처럼 quota 명령어를 사용하면 현재 내 할당량에 대한 정보와 처리기한등을 확인 할 수 있다.
여기서 quota가 soft이고 limit이 hard이다.
repquota /userHome
quota처럼 보여주는게 아니라 모든 유저의 quota정보를 리스트형식으로 확인할 수 있다.
edquota -p john bann
soft와 hard를 또 vi에서 작성하는 것 대신에, 그냥 편리하게
soft, hard 할당값을 다른 사용자로 부터 그대로 복사한다.
'Linux & UNIX' 카테고리의 다른 글
NFS 서버 구축 (0) | 2019.09.19 |
---|---|
텔넷 서버, SSH 서버 , VNC 서버 구축 (0) | 2019.09.19 |
시스템 설정(날짜, 네트워크, 방화벽, 서비스, 키보드, 언어, 프린터, 사용자, 네임서버) (0) | 2019.09.18 |
find 명령어 (0) | 2019.09.18 |
LVM 명령어 (0) | 2019.09.18 |
댓글