특정 사용자로 ssh를 전환 할 수 없습니다. su : 사용자 ID를 설정할 수 없습니다 : 리소스를 일시적으로 사용할 수 없습니까? (blocks, -c)

/var/log/secure:

su: pam_keyinit(su-l:session): Unable to change UID to 500 temporarily
su: pam_keyinit(su-l:session): Unable to change UID to 500 temporarily
su: pam_unix(su-l:session): session opened for user adtech by root(uid=0)
su: pam_unix(su-l:session): session closed for user adtech

이것은 사용자 당 제한으로 인한 것 같지만 다른 사용자와 비교할 때 차이가 없습니다.

여기 ulimit -n있습니다 adtech:

[adtech@hmaster87 root]$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 192025
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 655360
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

그리고 이것은 quanta:

[quanta@hmaster87 ~]$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 192025
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 655360
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

다음에 의해 실행되는 프로세스 수 adtech:

[root@hmaster87 ~]# ps -U adtech | wc -l
25

다른 확인해야 할 것이 있습니까?


업데이트 토요일 7 월 21 일 09:21:26 ICT 2012 :

# getent passwd adtech
adtech:x:500:502::/home/adtech:/bin/bash

아래 의견에서 말했듯이, 동료는 범인 일 수있는 프로세스를 발견했습니다.

adtech 12901 1 0 08:58 ? 00:00:00 /home/adtech/nexus/bin/../bin/jsw/linux-x86-64/wrapper /home/adtech/nexus/bin/../bin/jsw/conf/wrapper.conf wrapper.syslog.ident=nexus wrapper.pidfile=/home/adtech/nexus/bin/../bin/jsw/linux-x86-64/nexus.pid wrapper.daemonize=TRUE

adtech 12903 12901 1 08:58 ? 00:00:24 java -Dsun.net.inetaddr.ttl=3600 -DbundleBasedir=. -Djava.io.tmpdir=./tmp -DjettyContext=nexus.properties -DjettyContextIncludeKeys=bundleBasedir -DjettyPlexusCompatibility=true -Djava.library.path=bin/jsw/lib -classpath bin/jsw/lib/wrapper-3.2.3.jar:./lib/plexus-classworlds-2.4.jar:./conf/ -Dwrapper.key=ejxHaBJASiFkAB8w -Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.pid=12901 -Dwrapper.version=3.2.3 -Dwrapper.native_library=wrapper -Dwrapper.service=TRUE -Dwrapper.cpu.timeout=10 -Dwrapper.jvmid=1 org.codehaus.plexus.classworlds.launcher.Launcher ./conf/jetty.xml

이 프로세스를 종료하면 문제가 해결되지만 여전히 어느 한계가 초과되었는지 알 수 없습니다.


업데이트 12 월 15 일 토요일 00:56:13 ICT 2012 :

@ favadi 의 대답은 옳지 만 누군가 Google 이이 스레드 인 경우 여기에서 업데이트합니다.

로그 파일은 다음과 같이 말했습니다.

jvm 1    | Server daemon died!
jvm 1    | java.lang.OutOfMemoryError: unable to create new native thread
jvm 1    |      at java.lang.Thread.start0(Native Method)
jvm 1    |      at java.lang.Thread.start(Thread.java:640)
jvm 1    |      at org.tanukisoftware.wrapper.WrapperManager.privilegedStopInner(WrapperManager.java:3152)
jvm 1    |      at org.tanukisoftware.wrapper.WrapperManager.handleSocket(WrapperManager.java:3797)
jvm 1    |      at org.tanukisoftware.wrapper.WrapperManager.run(WrapperManager.java:4084)
jvm 1    |      at java.lang.Thread.run(Thread.java:662)


답변

max user processes (-u) 1024가 너무 낮을 수 있습니다 .

프로세스와 스레드는 함께 계산됩니다. ps -eLF | grep adtech | wc -l현재 값을 표시 하는 데 사용할 수 있습니다 .


답변

jvm 로그에서 자원 제한에 도달 한 증거를 찾으십시오. 종료 된 프로세스가 실행중인 Java 스레드 수에 따라 스택 크기가 문제가 될 수 있습니다.

오류 메시지를 검색하면 pam_keyinit에 대한 버그 보고서가 있습니다. 공급 업체의 저장소에 업데이트 된 버전이 있는지 확인하십시오.


답변

에 의해 오류가보고되었습니다 pam_keyinit. 이 모듈에 익숙하지 않기 때문에 설명서를 검색하고이 맨 페이지를 찾았습니다 . 설명에 따르면, 당신이 죽인 프로세스가 pam_keyinit가 수정 해야하는 일부 파일에 대한 필요한 액세스를 방해했는지 궁금합니다. 희망적으로 이것은 당신에게 어떤 방향을 제시합니다.


답변

이 문제는 사용자의 process-run-limit에 도달 한 경우 발생할 수 있습니다. /etc/security/limits.conf루트 권한이있는 사용자가있는 파일을 편집하여 프로세스 한계를 늘릴 수 있습니다 . 확인할 항목은 다음과 유사합니다.

*          hard     nproc         100

서비스를 다시 시작할 필요가 없습니다.