웹사이트 검색

Linux에서 사용자 실행 프로세스에 대한 제한을 설정하는 방법


Linux의 장점 중 하나는 거의 모든 것을 제어할 수 있다는 것입니다. 이를 통해 시스템 관리자는 시스템을 효과적으로 제어하고 시스템 리소스를 더 효율적으로 활용할 수 있습니다.

일부 사람들은 이 작업에 대해 생각해 본 적이 없을 수도 있지만 Linux에서는 단일 사용자가 사용할 수 있는 리소스의 양과 기간을 제한할 수 있다는 점을 아는 것이 중요합니다.

또한 읽어 보세요: Linux에서 열린 파일 수 제한을 늘리는 방법

이 짧은 주제에서는 사용자가 시작한 프로세스 수를 제한하는 방법과 현재 제한을 확인하고 수정하는 방법을 보여줍니다.

더 나아가기 전에 우리가 지적해야 할 두 가지 사항이 있습니다.

  1. 사용자 제한을 수정하려면 시스템에 대한 루트 액세스 권한이 필요합니다.
  2. 이러한 제한을 수정하려는 경우 매우 주의해야 합니다.

사용자 제한을 설정하려면 다음 파일을 편집해야 합니다.


/etc/security/limits.conf

이 파일은 pam_module에 의해 생성된 ulimit를 적용하는 데 사용됩니다.

파일의 구문은 다음과 같습니다.

<domain> <type> <item> <value>

여기서는 각 옵션에 대해 논의하겠습니다.

  • 도메인 – 여기에는 사용자 이름, 그룹, GUID 범위 등이 포함됩니다.
  • 유형 – 소프트 및 하드 제한
  • 항목 – 제한될 항목 – 코어 크기, 파일 크기, nproc 등
  • – 지정된 한도에 대한 값입니다.

극한에 대한 좋은 샘플은 다음과 같습니다.

@student          hard           nproc                20

위 줄은 'student' 그룹에서 최대 20개의 프로세스로 엄격한 제한을 설정합니다.

특정 프로세스의 제한을 보려면 다음과 같이 제한 파일을 'cat'하면 됩니다.


cat /proc/PID/limits

PID가 실제 프로세스 ID인 경우 ps 명령을 사용하여 프로세스 ID를 확인할 수 있습니다. 더 자세한 설명을 보려면 실행 중인 Linux 프로세스 찾기 및 사용자별 프로세스 제한 설정이라는 기사를 읽어보세요.

예는 다음과 같습니다.


cat /proc/2497/limits
샘플 출력

Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            8388608              unlimited            bytes     
Max core file size        0                    unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             32042                32042                processes 
Max open files            1024                 4096                 files     
Max locked memory         65536                65536                bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       32042                32042                signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us   

모든 라인은 거의 자명합니다. 그러나 limits.conf 파일에 입력할 수 있는 더 많은 설정을 찾으려면 여기에 제공된 매뉴얼을 살펴보세요.

질문이나 의견이 있으면 주저하지 말고 아래 의견란에 제출해 주세요.