Unix/Linux 시스템에 접속하는 사용자의 자원을 제한할 수 있다.

먼저, root 상태에서 전체 자원 현황을 본다.

# ulimit -a
-t: cpu time (seconds)              unlimited
-f: file size (blocks)              unlimited
-d: data seg size (kbytes)          unlimited
-s: stack size (kbytes)             10240
-c: core file size (blocks)         0
-m: resident set size (kbytes)      unlimited
-u: processes                       unlimited
-n: file descriptors                1024
-l: locked-in-memory size (kbytes)  32
-v: address space (kbytes)          unlimited
-x: file locks                      unlimited
-i: pending signals                 409600
-q: bytes in POSIX msg queues       819200
-e: max nice                        0
-r: max rt priority                 0

ulimit -n 8000 명령으로 열 수 있는 파일 갯수를 늘린다. 이 상태만으로는 접속한 다른 사용자가 해당 자원을 쓸 수 없다.

/etc/security/limits.conf 설정 파일에 해당 사용자에 대한 설정을 적는다.

#[유저이름] [hard/soft] [설정할 항목] [설정값] 
mklife hard nofile 8000  => mklife 유저는 한번 접속에 하드세팅으로 8000개 파일까지 열수 있다.

해당 사용자는 재 접속 후 ulimit -n 8000 명령으로 해당 자원을 늘릴 수 있다. (.bash_profile 등에 적어놓으면 좋음)

ulimit (last edited 2013-07-02 15:30:24 by 61)

web biohackers.net