팀 프로젝트 4 .quota를 이용해 원격접속한 팀원들 그룹 제한하기

2024. 2. 22. 17:34Project/Sub Project

첫번째로 팀원들이 내 서버에서 이용할 계정을 만들어주었다.

ajy, lbc, yms

그리고 test 그룹에 포함시켜주자

그 후에 팀원들 그룹정보를 확인해보자

위처럼 gid가 본인 uid로 되있다면

usermod -g (group-name) (user-name) 명령어로

group-name을 test로 바꿔주자

그리고 마운트 해줄 디렉토리까지 팀원의 id로 작성해주면

디스크 별, 파티션 별로 마운트 작업을 진행하자

 

나는 디스크별로 진행했다.

그리고 모든 파티션당 ext4로 파일시스템을 지정해줬다.

 

그리고 lsblk -f 명령어로

UUID를 확인해보자

 

 

sdb1 - ajy

sdc1 - lbc

sdd1 - yms

위 설계처럼 마운트를 해주겠다.

마운트 포인트가 지정됐다.

 

이제 vi /etc/fstab 명령어로

파일시스템 테이블에 UUID, group quota 등을 지정해주자

지정 하고 저장해주면

 재부팅을 해주는 것이 확실하나

이전에 마운트를 해줬기 때문에

리마운트 명령어로 다시 마운트 해줄 수 있다.

리마운트가 됐다면

mount 명령어로 다시 확인해보자

마운트 목록 뒷부분에 저렇게 group quota 설정이 존재하면 

잘 된 것이다.

 

 

이제 quotacheck -F vfsv0 -avugm 명령어로 

group quota database를 생성해주자

한번에 진행 되지만 생성이 안될 수 도 있다.

만약 각 마운트 포인트 하위에 

위 사진처럼 aquota.group 파일이 존재하지 않는다면

cd 명령어로 마운트 포인트로 이동해서

quotacheck를 진행해주자

 

 

데이터베이스 생성이 완료 됐다면

edquota -g test 명령어로 용량을 지정해주자

나는 soft 2MB , hard 3MB를 지정해줬다.

soft의 용량을 넘어가면

경고가 출력되며 내가 설정한 유예기간 동안 삭제되지 않으면 

이후 생성하는 파일들이 모두 0MB로 생성된다.

 

edquota -T -g test로 그룹 유예기간도 지정하자

5일로 설정해줬다.

 

 

그리고 quota를 실행해주자

마운트 포인트를 지정해 실행했다.

하지만 지금 상태로는 팀원들이 원격접속해도

파일을 복사나 생성할 수 없다.

그룹의 권한에 w가 없기 때문이다.

모든 그룹에 권한을 주기엔 부담스러우니

setfacl로 test 그룹에 마운트 포인트에 권한을 부여하자

 

부여했다면 확인도 해주자

 

이제 작업이 끝났으니

repquota -avg 명령어로 상태를 확인해보자

 

3가지의 마운트 포인트를 볼 수 있다.

위 쪽부터 ajy,lbc,yms 디렉토리이다.

 

이제 팀원들이 접속해서 quota 한계까지 파일을 생성하길 기다리자

그동안 나도 팀원들의 서버에 xshell로 접속해 한계까지 파일을 복사했다.

 

팀원들이 나의 서버에 접속해 각 디렉토리 한계까지 파일을 복사하자

grace의 유예기간이 활성화 된 것을 볼 수 있다.

 

 

 

이제 시간을 넉넉히 8일정도 앞당겨보자

8일이 지나니 유예기간의 표시가 none으로 변경됐다.

지금부터는 팀원들이 파일을 생성해도 0MB로 생성된다.

 

 

이상으로 팀원간 원격으로 quota 명령어를 실습해보았다.