ไม่สามารถสลับได้ ssh เป็นผู้ใช้เฉพาะ: su: ไม่สามารถตั้งค่า ID ผู้ใช้: ทรัพยากรไม่สามารถใช้งานได้ชั่วคราว?


15

/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

มีสิ่งอื่นใดให้ตรวจสอบอีกหรือไม่


อัปเดตเสาร์ 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

โดยการฆ่ากระบวนการนี้ปัญหาจะหายไป แต่เราก็ยังไม่รู้ว่าเกินขีด จำกัด ใด


อัปเดตเสาร์ 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)

ขออภัยหากสิ่งนี้ชัดเจนเกินไป แต่มี userID 500 ในระบบของคุณหรือไม่ มันเกี่ยวข้องกับชื่อผู้ใช้ที่จะใช้หรือไม่ โชคดี.
shellter

แน่นอนว่าadtechผู้ใช้มี UID 500 ดูการอัปเดตของฉัน เพื่อนร่วมงานของฉันค้นพบกระบวนการที่เป็นตัวการ โดยการฆ่ากระบวนการนี้ทำให้ปัญหาหายไป แต่เรายังไม่รู้ว่าเกินขีด จำกัด ใด: ไฟล์ที่เปิดไม่ได้จำนวนกระบวนการไม่อาจจะเป็นหน่วยความจำหรืออย่างอื่น ความคิดใด ๆ
quanta

ลองแนบ strace -f -p กับกระบวนการนั้นและมองหา syscalls ที่ล้มเหลวอย่างชัดเจนและสิ่งที่พวกเขาพยายามทำ ...
rackandboneman

คำตอบ:


12

อาจเป็นไปได้ว่าค่าmax user processes (-u) 1024ต่ำเกินไป

โปรดจำไว้ว่ากระบวนการและเธรดกำลังนับรวมกัน คุณสามารถใช้ps -eLF | grep adtech | wc -lเพื่อแสดงค่าปัจจุบันของคุณ


7
ps -eLF -U adtech | wc -lแม่นยำมากขึ้นก็ควรจะ
ควอนตั้ม

2
หากคุณสงสัยว่าชุดนั้นอยู่ที่ไหนให้ดูที่ /etc/security/limits.d/90-nproc.conf (สมมติว่าคุณใช้ระบบ RH)
mricon

@mricon กำลังตรวจสอบ/etc/security/limits.d/90-nproc.confผลตอบแทน/etc/security/limits.d/90-nproc.conf: No such file or directoryจาก CentOS7
030

@Utrecht ดีคุณสามารถทำ "ls" ใน /etc/security/limits.d/ และสังเกตว่าใน EL-7 เรียกว่า "20-nproc.conf" ซึ่งน่าจะเร็วกว่าที่ถามที่นี่
mricon

2
@quanta ps -LF -U adtech | wc -lจะแม่นยำมากขึ้นมันควรจะเป็น เมื่อใช้-eตัวเลือกนี้คุณจะได้รับกระบวนการผู้ใช้อื่น ๆ
Lambert

2

ดูในบันทึก jvm เพื่อหาหลักฐานว่ามีการเข้าใช้ข้อ จำกัด ทรัพยากร ขนาดสแต็กอาจเป็นปัญหาขึ้นอยู่กับจำนวน Java เธรดที่กระบวนการที่หยุดทำงานรันอยู่

การค้นหาข้อความแสดงข้อผิดพลาดของคุณจะค้นหารายงานข้อผิดพลาดสำหรับ pam_keyinit: ตรวจสอบกับที่เก็บของผู้ขายว่ามีรุ่นที่ปรับปรุงหรือไม่


+1 ฉันลืมบทเรียน: ดูที่บันทึกเมื่อเกิดปัญหา อัปเดตคำถามของฉัน
quanta

0

pam_keyinitข้อผิดพลาดถูกรายงานโดย เนื่องจากฉันไม่คุ้นเคยกับโมดูลนี้ฉันจึงค้นหาเอกสารและพบmanpageนี้ จากคำอธิบายฉันสงสัยว่าบางทีกระบวนการที่คุณฆ่าป้องกันการเข้าถึงไฟล์บางไฟล์ที่ pam_keyinit จำเป็นต้องแก้ไขหรือไม่ หวังว่านี่จะช่วยให้คุณมีทิศทาง


0

ปัญหานี้อาจเกิดขึ้นได้หากถึงขีด จำกัด กระบวนการของผู้ใช้ สามารถเพิ่มขีด จำกัด กระบวนการได้โดยแก้ไข/etc/security/limits.confไฟล์ที่ผู้ใช้มีสิทธิ์รูท รายการตรวจสอบจะคล้ายกับ:

*          hard     nproc         100

ไม่จำเป็นต้องรีสตาร์ทบริการใด ๆ


1
ในกรณีของฉันเพิ่มขีด จำกัด หนักไม่มีผลทันที ฉันต้องเปลี่ยนหนึ่งอ่อน
Nicola Musatti
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.