다른 질문과 답변을 토대로 이 두 명령의 결과가 동일할 것으로 예상했지만 그렇지 않았습니다.
또한 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
, 및 기타 인증 모듈은 login
PAM 설명에 따라 PAM 모듈을 호출합니다. 대부분의 배포판에서 이는 를 의미합니다 /etc/pam.d/
. 예를 들어 /etc/pam.d/sudo
Gentoo의 경우 다음과 같습니다.
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
.