2012-03-06 2 views
2

프로그램 시작점에서 파일 핸들 수를 무제한으로 설정하는 프로그램이 있습니다. 프로그램이 루트에서 실행될 때, 나는 파일 핸들에 아무런 문제가 없다. 초기 루트 1024 개 이상을 열 수는 있지만 루트가 아닌 사용자는 1024를 넘지 않습니다. 참조 할 수있는 최대 파일 핸들은 1007입니다.프로그램 파일 핸들

사용자가 sudoer 목록에 있으며 해당 항목이 없습니다. /etc/security/limit.conf의 사용자 root와 root가 아닌 사용자 모두 limit.conf 파일에 항목이없는 것을 볼 수 있습니다.

누락 된 다른 구성이 있습니까? 루트 및 루트가 아닌 사용자가 열 수있는 파일 핸들 수에 대한 엄격한 제한은 무엇입니까?

+0

'/ etc/security/limits.conf '의 하드 제한을 늘리면 문제가 해결됩니다. –

답변

4

나는 프로그램의 진입 점에서 열린 파일 핸들 수를 무제한으로 설정하는 프로그램을 가지고있다.

당신은 (그리고 특정 권한을 가지고 있지 않음) setrlimit 매뉴얼 페이지에서 지적한대로, 하드 제한을 늘릴 수 없습니다 루트가 아닌 사용자로 프로그램을 실행하면 :

[합니다. ..] 권한이없는 프로세스는 [...] (되돌릴 수 없게) 하드 한계를 낮출 수 있습니다.

초기 하드 한계는 시스템에 따라 다르며 getrlimit으로 액세스 할 수 있습니다.