3.6. 쿼터와 한도

많은 유닉스 계열 시스템은 파일시스템 쿼터 (할당) 와 프로세스 자원 한도를 지원하는 메카니즘을 갖고 있으녀며 리눅스도 틀림없이 이를 지원한다. 이 메카니즘은 서비스 부인 공격을 예방하는데 특히 유용한데 각 사용자가 사용할 수 있는 자원에 한도를 설정함으로써 한 명의 사용자가 모든 시스템 자원을 소비하는 것을 어렵게 할 수 있다. 파일시스템 쿼터와 프로세스 자원 한도 모두 ``hard" 와 ``soft" 한도를 갖는데 여기서 사용된 전문 용어에 주의해라. 용어가 약간 다른 의미를 갖는다.

사용될 수 있는 스토리지 블록 수와/또는 고유 파일 수 (아이노드) 에 대해 각 마운트포인트에 스토리지 (파일시스템) 쿼터 한도를 정의할 수 있으며 사용자 또는 그룹에 대해 이러한 한도를 설정할 수도 있다. ``hard" 쿼터 한도는 절대로 초과해서는 안되는 한도이며 반면 ``soft" 쿼터 한도는 일시적으로 초과될 수 있다. quota(1), quotactl(2) 과 quotaon(8) 을 보라.

rlimit 메카니즘은 파일 크기, 자식 프로세스 수, 오픈 파일 수 등과 같이 많은 프로세스 쿼터를 지원한다. ``soft" 한도 (현재 한도) 와 "hard" 한도 (상위 한도) 가 있으며 soft 한도는 언제나 초과될 수 없지만 호출을 통해 hard 한도 값으로 상향 설정될 수 있다. getrlimit(), setrlimit() 과 getrusage() 를 보라. PAM 모듈 pam_limits 를 포함하여 이러한 한도를 설정하기 위한 여러가지 방식이 있음을 주목해라.