sudo vs su (ในฐานะผู้ใช้ที่ไม่ใช่รูท)


10

คอมพิวเตอร์ของฉันมี user1 และ user2 ทั้งผู้ดูแลระบบ

ในขณะที่ฉันเข้าสู่ระบบในฐานะผู้ใช้ 1 ฉันพยายาม:

  • "su - user2" -> ให้ฉันใส่รหัสผ่าน users2 จากนั้นฉันสามารถพิมพ์คำสั่งได้
  • "sudo --user = user2 [command]" -> ให้ฉันใส่รหัสผ่าน หากฉันพิมพ์รหัสผ่านของผู้ใช้ฉันได้รับ "ขออภัยลองใหม่อีกครั้ง" ข้อความแสดงข้อผิดพลาดราวกับว่ารหัสผ่านไม่ถูกต้อง หากฉันพิมพ์รหัสผ่านของผู้ใช้มันจะทำงานได้อย่างถูกต้อง

คำสั่ง sudo ไม่ควรต้องการรหัสผ่านของผู้ใช้ที่ฉันกำหนดไว้ในพารามิเตอร์ "--user" หรือไม่?


2
Sudo (ผู้ใช้ขั้นสูงทำ) กำลังขอให้ pword ของผู้ใช้ที่เรียกใช้คำสั่ง sudo Su (ผู้ใช้สวิตช์) กำลังขอให้ pword ของผู้ใช้ที่ถูกเปลี่ยนไป
นายเคนเนดี้

ดูเพิ่มเติมที่: apple.stackexchange.com/q/49873/216401
Mr. Kennedy

คำตอบ:


21

นี่เป็นพฤติกรรมที่คาดหวัง

  • วัตถุประสงค์ของ su คือเพื่อสลับผู้ใช้ มันเรียกว่าเครื่องมือระบุตัวตนของผู้ใช้สำรอง su ใช้รหัสผ่านของผู้ใช้รายอื่นเนื่องจากคุณเปลี่ยนเป็นผู้ใช้รายนั้น

    ยูทิลิตี้ su ร้องขอข้อมูลประจำตัวผู้ใช้ที่เหมาะสมผ่าน PAM และเปลี่ยนเป็น ID ผู้ใช้นั้น (ผู้ใช้เริ่มต้นคือ superuser) เปลือกจะถูกดำเนินการแล้ว

    ที่มา: หน้าคน

  • วัตถุประสงค์ของ sudo คือเรียกใช้คำสั่งในฐานะผู้ใช้รายอื่น -uหรือ--userตัวเลือกสำหรับการระบุว่าผู้ใช้ sudo คุณไม่ได้ลงชื่อเข้าใช้ด้วยชื่อผู้ใช้เพียงแค่เรียกใช้คำสั่ง sudo ใช้รหัสผ่านของคุณเพื่อยืนยันตัวตนของคุณสำหรับการทำงานดังกล่าว


ดังนั้นหาก user1 ไม่ได้อยู่ในไฟล์ sudoers ฉันจะไม่สามารถ sudo ได้เพียงแค่ "su"
Pablo

1
@ ปาโบลนั่นเป็นเรื่องจริง
grg

@Pablo "สลับผู้ใช้" กับ "super user do" หนึ่งต้องการให้คุณตรวจสอบสิทธิ์ในฐานะผู้ใช้รายอื่น อื่น ๆ ต้องการให้คุณตรวจสอบสิทธิ์เป็น superuser
Boris the Spider
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.