RedHat7.4にてwas起動用ユーザにスイッチしようとしたところ、以下のエラーが出てスイッチできなかった。
「su: failed to execute /bin/bash: リソースが一時的に利用できません」
【原因】
ユーザのulimitの設定のうち、プロセス数制限(nproc)(max user processes)が原因。スイッチ前のユーザのプロセス数制限が、スイッチ後のユーザで起動されているプロセス数より小さいためスイッチできない。
【対応】
スイッチ前のユーザでulimit -u (スイッチ後のユーザのプロセス数制限)を実行し、一時的にプロセス数制限を変更してからsuコマンドでスイッチすればうまくいく。もし恒久的に設定値を変える場合はulimitの設定ファイルである、/etc/security/limits.confと/etc/security/limits.d/20-nproc.confらへんをいじればよい(RedHatの場合)。nprocの設定はどちらにも記載できるが、20-nproc.confのほうの値が優先されるので注意。
ulimitの設定に関してはこちらを参照。
ulimitでユーザリソースの制限(Linux)ulimitはユーザリソースの制限を設定・確認するコマンド。ソフトリミットはハードリミットを超える値は設定できない。またハードリミットは値を下げることは誰でもできるが、値を上げるのはroot権限がないとできない。
ソフトリミット...
suでスイッチできない

コメント