su ไม่ได้เปลี่ยนผู้ใช้ แต่ไม่ตอบสนองด้วยข้อผิดพลาดเช่นกัน


56

ในขณะที่เข้าสู่ระบบในขณะที่rootฉันต้องการให้suผู้ใช้ปกติที่เฉพาะเจาะจง ฉันเรียกใช้su usernameและได้รับพรอมต์ทันทียังคงเป็นราก ไม่มีข้อผิดพลาดให้ ฉันรู้เรื่อง "ผู้ใช้ที่คุณพยายามจะไม่ได้รับอนุญาตสำหรับโฟลเดอร์ที่คุณกำลังมีปัญหา" และนั่นไม่ใช่กรณีในสถานการณ์นี้ นอกจากนี้ยังไม่มีข้อผิดพลาดปรากฏขึ้นซึ่งมักเป็นกรณี (เท่าที่ฉันรู้) เมื่อพบปัญหาสิทธิ์ที่เฉพาะเจาะจง

ฉันพยายามsu - usernameด้วยเอฟเฟกต์เดียวกัน คำสั่งถูกประมวลผลไม่เห็นข้อผิดพลาดและฉันได้รับพรอมต์กลับมาทันที

สิ่งที่อาจทำให้เกิดพฤติกรรมนี้ ฉันจะแก้ไขปัญหานี้ได้อย่างไร


8
ผู้ใช้มีเชลล์อะไร? มันคือ/bin/falseอะไร
camh

4
คุณควรใช้sudo -u username -s(หรือ-i) BTW จริงๆ
mgorven

2
@camh facepalmนั่นแหล่ะ ฉันสาบานว่าฉันตรวจสอบ/etc/passwdเมื่อคืนนี้และมันก็ไม่ได้เป็นอย่างนั้น! =) คุณสามารถใส่คำตอบนั้นได้หรือไม่? ฉันจะยอมรับมัน
เวสลีย์

คำตอบ:


68

/etc/passwdตรวจสอบสิ่งที่เปลือกผู้ใช้ที่มีใน หากเชลล์คือ/bin/false(เชลล์ทั่วไปที่ไม่อนุญาตให้ล็อกอิน) คุณจะเห็นพฤติกรรมที่คุณอธิบาย หรืออาจเป็นโปรแกรมที่ยกเลิกทันทีอื่นที่ให้ผลลัพธ์ที่เหมือนกัน


2
นั่นมัน ฉันสาบานก่อน =)
Wesley

25
และถ้าคุณต้องการที่จะแก้ปัญหาภายใต้สิ่งที่ผู้ใช้ที่มีเปลือกของคุณสามารถทำมันได้ด้วย/bin/false su - user -s /bin/sh
Marki555

6

ฉันขอแนะนำให้ใช้ strace ในกระบวนการ su เพื่อดูว่ากระบวนการล้มเหลว

strace su donaldduck

ควรให้ผลลัพธ์จำนวนมากแก่คุณในการเรียงลำดับ แต่มีบางอย่างในที่นั่นควรระบุว่าเกิดปัญหาขึ้นที่ใด


1
markdown โง่ ....
Magellan

4

คุณควรตรวจสอบเปลือกใน/etc/passwdและโดยไม่ประสงค์ที่จะอุปถัมภ์ให้ตรวจสอบการส่งออกของหลังจากทำงานwhoamisu


1
ไม่แน่ใจว่าทำไมถึงได้รับการพิจารณาอุปถัมภ์เพราะฉันจะไม่ได้รับมันอย่างนั้น ฉันหมายความว่าฉันทำได้ถ้าคุณต้องการ แต่นั่นไม่ใช่ความชอบครั้งแรกของฉัน =) อย่างไรก็ตามใช่ฉันลืมที่จะทำเช่นนั้นเพื่อให้แน่ใจว่าฉันเป็นคนที่ฉันคิดว่าฉันเป็นและฉันก็ยังอยู่rootและไม่ใช่ผู้ใช้ที่ฉันพยายามเปลี่ยนไป
Wesley

0

ตรวจสอบบันทึกระบบของคุณ: การใช้ sudo ควรบันทึกการทำงานทั้งหมด ดังนั้นหากมีปัญหาก็ควรจะเขียน

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