처음 서버에 로그인하면 다음 오류 메시지가 표시됩니다.
ullimit: coredumpsize: Can't set limit (Operation not permitted)
또한 이 컴퓨터에 파일을 복사하려고 하면 동일한 오류가 표시됩니다.
cat .ssh/no_pass_rsa.pub | ssh user@server 'cat >> .ssh/authorized_keys'
user@server's password:
limit: coredumpsize: Can't set limit (Operation not permitted)
나는 사용자의 하드 제한과 소프트 제한을 늘려야 한다는 많은 블로그 게시물을 읽었습니다. 다음 명령을 사용하여 ulimit를 확인해보세요. 출력은 다음과 같습니다.
server> ulimit
ulimit: Command not found.
사용자들이 이 문제를 겪고 있다는 게시물을 찾을 수 없습니다.
또한 제한을 확인한 결과 코어 덤프 크기가 0KB인 것으로 나타났습니다.
$server> limit
cputime unlimited
filesize unlimited
datasize unlimited
stacksize 33000 kbytes
coredumpsize 0 kbytes
memoryuse unlimited
vmemoryuse unlimited
descriptors 1048576
memorylocked 64 kbytes
maxproc 1030357
maxlocks unlimited
maxsignal 1030357
maxmessage 819200
maxnice 0
maxrtprio 0
maxrttime unlimited
이 문제를 해결하려면 코어 덤프 크기를 늘리거나 수정하려면 어떻게 해야 합니까? 다른 해결책이 있나요?
답변1
ulimit
내장된 sh
패밀리입니다(so bash
등 ksh
). 가족 의 경우 csh
순서는 입니다 limit
. ( zsh
복잡하고 둘 다 허용합니다.)
일반 사용자는아니요엄격한 한도를 높이십시오. 그것이 할 수 있는 전부입니다 root
. 일반적인 Linux 시스템에서는 이 작업이 pam_limits
(예: in /etc/security/limits.conf
및 files in )을 통해 /etc/security/limits.d
수행 됩니다. 이 설정은 로그인 시 적용됩니다( 사용하는 경우 sshd
반드시 usePam yes
설정 하세요 sshd_config
).
그러나 사용자는 다음을 수행할 수 있습니다.줄이다따라서 한도를 0으로 줄이는 라인이 있을 수 있으며 , .login
이 경우 해당 라인을 제거해야 합니다./etc/csh.login
/etc/profile.d/*
답변2
ulimit 명령을 찾을 수 없음 - 루트 사용자만이 이 명령을 실행할 수 있는 권한을 갖고 있고 일반 사용자로 실행하려고 했기 때문에 발생했습니다. 이 명령을 루트로 실행하면 명령이 성공적으로 실행됩니다.
오류 해결 - coredumpsize: 제한을 설정할 수 없습니다(작업이 허용되지 않음). /etc/security/limits.conf를 편집하고 코어 제한을 설정하는 데 사용되는 행을 수정하여 해결되었습니다(루트로).
파일:/etc/security/limits.conf
초기의:
# End of file
##### Begin HR 424923 ######
* soft nofile 8192
* hard nofile 8192
##### End HR 424923 ########
# Limit core dumps
* soft core 0
* hard core 0
마침내:
# End of file
##### Begin HR 424923 ######
* soft nofile 8192
* hard nofile 8192
##### End HR 424923 ########
# Limit core dumps
* soft core 65535
* hard core 65535