포크 폭탄을 방지하는 방법은 무엇입니까?

포크 폭탄을 방지하는 방법은 무엇입니까?

포크 폭탄을 방지하기 위해 나는 이것을 따랐다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.

관련 정보