web-dev-qa-db-ja.com

「ファイルを開く」ulimit:limits.confによる制御

私はこれに頭をぶつけています、そしてなぜそれが機能しないのか理解できません。私は誰かがこれに光を当てることができるか、またはそれを失敗して、調査の道についていくつかの提案をしてくれることを願っています。

wls81ユーザーのオープンファイル制限を増やすことが望ましいRed Hat 7.3システム(質問しないでください)を持っています。自分ではコントロールできないと思っていたのですが、変更が必要なユーザーだけに問題があるように見えてきました。 /etc/security/limits.confに次の行を追加しました。

wls81       soft    nofile      10100
wls81       hard    nofile      10240
madhatta    soft    nofile      10100
madhatta    hard    nofile      10240

pam_limits.soは、私が知る限り、適切に呼び出されています。

[madhatta@server madhatta]$ Sudo grep limits /etc/pam.d/*
/etc/pam.d/login:session    required     /lib/security/pam_limits.so
/etc/pam.d/sshd:session    required     /lib/security/pam_limits.so
/etc/pam.d/su:session    required     /lib/security/pam_limits.so
/etc/pam.d/system-auth:session     required      /lib/security/pam_limits.so

自分のようにSSHで接続すると、新しいソフト制限が適用され、ハード制限まで増やすことができます。

desktop> ssh server
Last login: Thu May 10 13:20:13 2012 from a.b.c.d
[madhatta@server madhatta]$ ulimit -n 
10100
[madhatta@server madhatta]$ ulimit -n 10200
[madhatta@server madhatta]$ ulimit -n 
10200
[madhatta@server madhatta]$ ulimit -n 10300
bash: ulimit: cannot modify open files limit: Operation not permitted

しかし、wls81ユーザーとしてsshでログインすると、次のことはできません。

desktop> ssh wls81@server
Last login: Wed May  9 22:29:33 2012 from a.b.c.d
[wls81@server wls81]$ ulimit -n
1024
[wls81@server wls81]$ ulimit -n 10000
bash: ulimit: cannot modify open files limit: Operation not permitted

同じことが各ユーザーにsu -した場合にも起こります。正直なところ、このユーザーがulimitsをリセットできない理由がわかりません。誰かアイデアはありますか?

6
MadHatter

さて、謎は解けました。私がしたとき私はそれを見つけましたsu - wls81 1024の制限を取得しましたが、取得したばかりの場合su wls81新しい上限を取得しました。 wls81の.bash_profileが別のスクリプトを呼び出し、次に別のスクリプトがシステム上のまったく異なるユーザーから環境設定スクリプトを呼び出し、ulimit -n 1024

その行を削除すると、wls81に新しい制限が適用されます。

4
MadHatter

カーネルで開いているファイルの最大ファイル記述子を確認し、おそらく設定する必要があるかもしれません。

Sudo systcl fs.file-max

/etc/sysctl.confを編集して、変更を永続的にします。

0
Gnudiff