หมายเหตุ: โปรดอ่านข้อมูลอัพเดทที่เริ่มต้นด้วย "แก้ไข" ใกล้กับจุดกึ่งกลางของโพสต์นี้สภาพแวดล้อมและพื้นหลังของปัญหานี้มีการเปลี่ยนแปลง
ฉันได้ติดตั้ง Debian 6.0 แบบมาตรฐานที่นี่แล้วฉันจึงตัดสินใจปรับรุ่นเป็นที่เก็บการทดสอบ Debian ฉันทำสิ่งนี้โดยการสลับการอ้างอิงไปยัง Squos repos ใน source.list ของฉันเพื่อใช้ repos การทดสอบแทน
หลังจากแพคเกจติดตั้งและรีบูตฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อพยายาม su - กับผู้ใช้รายอื่น:
root@skaia:~# su joebloggs -
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
หากฉันละเว้น - สิ่งนี้จะไม่เกิดขึ้น
โปรดทราบว่าผู้ใช้สามารถรูทได้อย่างถูกต้องซึ่งจะเกิดขึ้นเมื่อเปลี่ยนจากรูทเป็นบุคคลอื่นและใช้ - เพื่อรับสภาพแวดล้อมของผู้ใช้นั้น
Google ส่วนใหญ่ไม่มีประโยชน์ที่นี่ สิ่งเดียวที่ฉันสามารถค้นหาได้คือการอ้างอิงจากปี 2011 เกี่ยวกับsux
แพคเกจซึ่งดูเหมือนว่าได้รับการแก้ไขในเวลาเฉลี่ย
รูปลักษณ์และกลิ่นนี้เป็นเหมือนข้อผิดพลาดในการอัพเกรดสามารถแก้ไขได้โดยการปรับแต่งแพ็คเกจให้ถูกวิธี ฉันแค่ไม่รู้ว่าจะเริ่มจากตรงไหนระบบของฉันก็ทำงานได้ตามปกติและเป็นไปตามคาด
แก้ไข
นี่คือสิ่งที่เกิดขึ้นกับฉันบนเครื่องเดเบียนเสถียรตามที่อธิบายไว้ข้างต้น ไม่มีการอัปเกรดหรืออะไรก็ตามในเวลานี้เพียงแค่ทรงตัว
ใช่อีกหนึ่งปีต่อมา ยังไม่รู้เลยว่าปัญหาคืออะไร
นี่คือสิ่งที่ดูเหมือนตอนนี้ (ไม่ค่อยมีการเปลี่ยนแปลง):
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
terraria@skaianet:~$ tty
/dev/pts/0
terraria@skaianet:~$ ls -l /dev/pts/0
crw--w---- 1 root root 136, 0 Oct 10 19:21 /dev/pts/0
terraria@skaianet:~$ ls -l /dev/pts/
crw--w---- 1 root root 136, 0 Oct 10 19:21 0
crw--w---- 1 root root 136, 2 Sep 22 17:47 2
crw--w---- 1 root root 136, 3 Sep 26 19:30 3
c--------- 1 root root 5, 2 Sep 7 10:50 ptmx
strace ที่สร้างเช่นนี้:
root@skaianet:~$ strace -f -o tracelog su terraria -
.. นอกจากนี้ยังมีพฤติกรรมที่ทำให้สับสนอีกด้วย ข้อความเหล่านี้ค่อนข้างสับสน บางบรรทัดที่เลือก:
readlink("/proc/self/fd/0", "/dev/pts/0", 4095) = 10
#Error code 10?
15503 open("/dev/tty", O_RDWR|O_NONBLOCK) = -1 ENXIO (No such device or address)
#Yes there is, and I can interact with it normally
15503 ioctl(255, TIOCGPGRP, [32561]) = -1 ENOTTY (Inappropriate ioctl for device)
ฉันได้เชื่อมโยงเอาท์พุทเต็มรูปแบบของเซสชัน strace นี้ - ทั้งหมดที่ฉันทำคือเรียกใช้คำสั่ง su จากนั้นกด ctrl + d ทันทีจากเทอร์มินัล