ulimit POV의 "root" 및 "sudo"

ulimit POV의 "root" 및 "sudo"

다른 질문과 답변을 토대로 이 두 명령의 결과가 동일할 것으로 예상했지만 그렇지 않았습니다.

또한 sudo에서 프로세스를 실행하면 "열린 파일이 너무 많습니다"라는 메시지가 표시되지만 루트로 실행하면 종료되지 않습니다. 2의 차이점이 정확히 무엇인가요?

nati@server:/var/tmp$ sudo bash  -c "ulimit -n"
1024
nati@server:/var/tmp$ sudo su
root@server:/var/tmp# ulimit -n
32000

답변1

/etc/security/limits.conf에 의해 사용됩니다 pam_limits. su, sudo, 및 기타 인증 모듈은 loginPAM 설명에 따라 PAM 모듈을 호출합니다. 대부분의 배포판에서 이는 를 의미합니다 /etc/pam.d/. 예를 들어 /etc/pam.d/sudoGentoo의 경우 다음과 같습니다.

auth    include         system-auth
account include         system-auth
session include         system-auth

system-auth같은 줄이 어디에 있습니까?

session         required        pam_limits.so 

따라서 리소스 제한은 에 정의된 대로 구성됩니다 /etc/security/limits.conf.

내 Kali 설치에서는 다르게 보입니다. pam_limits전화용이 아닙니다 sudo. 분명히 모든 데비안 앵커는 이 "기능"을 공유합니다. 실험을 통해 /etc/security/limits.conf관찰 결과가 확인되었습니다. sudo로그인하면 1024가 표시되는 반면 limits.conf.

관련 정보