不能切换,SSH到特定的用户:苏:不能设置用户ID:资源暂时不可用?

/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 

我想这是由每个用户的限制,但与其他用户比较没有什么不同。

这里是对于adtech ulimit -n

 [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 

正如我在下面的评论中所说的,我的同事已经find了可能是罪魁祸首的过程:

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的答案是正确的,但我更新在这里万一有人谷歌这个线程。

日志文件说:

 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 ps -eLF | grep adtech | wc -l ps -eLF | grep adtech | wc -l显示你的当前值。

    在jvm日志中查看是否有资源限制。 堆栈大小可能是问题,取决于有多lessjava线程被杀死的进程正在运行。

    search你的错误信息findpam_keyinit的错误报告:检查你的供应商的存储库是否有更新的版本可用。

    该错误由pam_keyinit报告。 由于我对这个模块不熟悉,我search了文档并find了这个手册页 。 根据描述,我想知道你杀死的进程是否阻止了对pam_keyinit需要修改的某些文件的必要访问? 希望这给你一些方向。

    如果达到用户的进程运行限制,则可能会发生此问题。 可以通过编辑/etc/security/limits.conf文件来增加进程限制。 进入检查将类似于:

     * hard nproc 100 

    无需重新启动任何服务。