Невозможно переключиться, ssh для конкретного пользователя: su: не может установить идентификатор пользователя: ресурс временно недоступен?

/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

Я предполагаю, что это вызвано лимитом для каждого пользователя, но нет никаких различий при сравнении с другим пользователем.

Here're 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

Любая другая вещь, чтобы проверить?


ОБНОВЛЕНИЕ Сб 21 июля 09:21:26 ИКТ 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

Если убить этот процесс, проблема исчезнет, ​​но мы до сих пор не знаем, какой лимит был превышен.


ОБНОВЛЕНИЕ Сб 15 декабря 00:56:13 ИКТ 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)

4 ответа

Решение

Вполне возможно, что max user processes (-u) 1024 слишком низко

Помните, что процессы и потоки считаются вместе. Ты можешь использовать ps -eLF | grep adtech | wc -l чтобы показать ваше текущее значение.

Посмотрите в журнале jvm доказательства того, что он выходит за пределы ресурсов. Размер стека может быть проблемой, в зависимости от того, сколько Java-потоков запущен убитым процессом.

Поиск по вашему сообщению об ошибке находит сообщения об ошибках для pam_keyinit: уточните в репозитории вашего поставщика, доступна ли обновленная версия.

Эта проблема может возникнуть, если достигнут предел запуска процесса пользователя. Лимит процесса может быть увеличен путем редактирования: /etc/security/limits.conf файл с пользователем, имеющим права root. Запись для проверки будет похожа на:

*          hard     nproc         100

Нет необходимости перезапускать какие-либо услуги.

Об ошибке сообщили pam_keyinit, Поскольку я не знаком с этим модулем, я искал документацию и нашел эту страницу руководства. Основываясь на описании, я думаю, что, возможно, процесс, который вы убили, помешал необходимому доступу к некоторым файлам, которые pam_keyinit должен изменить? Надеюсь, это даст вам некоторое направление.

Другие вопросы по тегам