
初めてサーバーにログインすると、次のエラーメッセージが表示されます。
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
ファミリーです(sobash
などksh
)。家族の場合、csh
順序はですlimit
。 (zsh
複雑で両方を許可します。)
一般ユーザーはいいえ厳しい制限を上げてください。それができるすべてですroot
。一般的な Linux システムでは、これはpam_limits
(in/etc/security/limits.conf
や files in など) で/etc/security/limits.d
行われます。この設定はログイン時に適用されます(使用する場合はsshd
必ずusePam yes
設定してくださいsshd_config
)。
ただし、ユーザーは次のことができます。減らすしたがって、制限をゼロに減らす行がある可能性があり、.login
その場合はその行を削除する必要があります。/etc/csh.login
/etc/profile.d/*
答え2
ulimitコマンドが見つかりません - rootユーザーだけがこのコマンドを実行する権限を持っていて、通常のユーザーとして実行しようとしたために発生しました。このコマンドをrootとして実行すると、コマンドは正常に実行されます。
エラーの解決 - coredumpsize: 制限を設定できません (操作は許可されません)。 /etc/security/limits.confを編集し、コア制限を設定するために使用される行を修正することで解決されました(rootとして)。
ファイル:/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