포크 폭탄을 방지하기 위해 나는 이것을 따랐다http://www.linuxhowtos.org/Tips%20and%20Tricks/ulimit.htm
ulimit -a
새로운 설정이 반영되지만 실행하면( root
그림 참조 bash
) :(){ :|:&};:
VM이 여전히 최대 CPU+RAM을 사용하고 시스템이 정지됩니다.
사용자가 폭탄을 사용하거나 결함이 있는 응용 프로그램을 실행하여 시스템을 중단시키지 않도록 하려면 어떻게 해야 합니까?
운영 체제: RHEL 6.4
답변1
이 변경 사항을 널리 적용하려면 전체 환경에 이러한 제한 사항을 추가해야 합니다. 이 명령을 사용한 변경 사항은 ulimit
현재 환경에만 적용됩니다.
노트:이는 루트 사용자에게는 아무런 영향을 미치지 않습니다!
예
이 파일을 편집하고 특정 사용자 또는 사용자 그룹이 소유할 수 있는 프로세스 수를 제한하는 항목을 이 파일에 추가합니다 vi /etc/security/limits.conf
( ).nproc
vivek hard nproc 300
@student hard nproc 50
@faculty soft nproc 100
@pusers hard nproc 200
노트:파일에 더 많은 예제가 있습니다. "all"(일명)을 사용할 *
때는 주의하세요 . 이렇게 하면 시스템 계정도 제한됩니다.
인용하다
답변2
수퍼유저나 CAP_SYS_ADMIN 또는 CAP_SYS_RESOURCE 기능이 있는 모든 프로세스는 변경할 수 없는 이 제한 사항의 영향을 받지 않습니다. root
프로세스를 분기하는 것은 항상 가능합니다.
일부 소프트웨어를 신뢰할 수 없다면 어쨌든 실행되어서는 안 됩니다 root
.