Sudo su กับ su linux


24

หากฉันป้อนรหัสผ่านเป็นsuเมื่อได้รับแจ้งจะไม่ทำงานในขณะที่sudo suใช้งาน นอกจากนี้เมื่อคำสั่งดำเนินการโดยใช้sudo (command)sudo จะเรียกใช้งานโดยอัตโนมัติตามค่าเริ่มต้น (ตั้งแต่หน้า man sayssudo, sudoedit - execute a command as another user

michaelxu@michaelxu-server:~$ su
Password:
su: Authentication failure
michaelxu@michaelxu-server:~$ sudo su
[sudo] password for michaelxu:
root@michaelxu-server:/home/michaelxu# exit

คำตอบ:


41

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

เมื่อคุณรันsudo suคุณจะถูกขอsudoให้รันคำสั่งsuในฐานะรูทซึ่งจะให้รูทเชลล์ หากคุณใช้เพียงsuคุณจะต้องรู้รหัสผ่านของผู้ใช้เป้าหมายเพื่อเข้าถึง

การใช้แบบsudoไม่มีพารามิเตอร์ก็หมายความว่าคุณต้องการใช้รูท หากคุณต้องการรันคำสั่งในฐานะผู้ใช้รายอื่นลองsudo -u <username> <command>


7
ข้อมูลสำคัญอีกอย่างหนึ่งที่จะเข้าใจคำสั่งที่เกี่ยวข้องsudo su otheruserคือการsuอนุญาตให้รูทเปลี่ยนเป็นผู้ใช้ใด ๆ โดยไม่ต้องป้อนรหัสผ่านในขณะที่ผู้ใช้ที่ไม่ใช่รูทที่รันจะsuต้องป้อนรหัสผ่านของผู้ใช้เป้าหมาย sudo suดังนั้นทำงานsuเป็นรูทซึ่งอนุญาตให้คุณรับเชลล์สำหรับผู้ใช้รายอื่นโดยไม่ทราบรหัสผ่าน (ตราบใดที่ sudoers ได้รับอนุญาต)
โกหกไรอัน

ดังนั้นรหัสผ่านรูทของฉันจะเป็นอย่างไรสำหรับคำสั่ง "su"? ทำไมรหัสผ่านที่ฉันตั้งไว้ในตอนเริ่มต้นของการติดตั้งจึงไม่ใช่
agz

เพราะการกระจายของคุณอาจไม่ได้ตั้งค่าไว้ คุณสามารถตั้งค่ารหัสผ่านรูทได้sudo passwd(ก่อนอื่นให้รหัสผ่านผู้ใช้ของคุณจากนั้นเลือกรหัสผ่านรูทใหม่
Renan

ดังนั้นในขณะนี้ไม่มีรหัสผ่าน? ... โดยพื้นฐานแล้วรูทเป็นเพียงบัญชีที่ sudoers สามารถใช้เพื่อทำการเปลี่ยนแปลงไฟล์รูทได้
agz

ไม่เพียงแค่นั้นยังมีบริการอื่น ๆ อีกมากมายที่ต้องทำงานเป็นรูท (ตรวจสอบps aux)
Renan

17

suหมายถึงsแม่มด (หรือs ubstitute) u ser หากไม่มีชื่อผู้ใช้จะมีค่าเริ่มต้นเป็นเปลี่ยนเป็นรูท มันจะพร้อมท์ให้ใส่รหัสผ่านของผู้ใช้ที่คุณเปลี่ยนไป

sudoใช้เพื่อเรียกใช้คำสั่งในฐานะรูท (เช่นมีสิทธิ์ใช้งานรูท) หรือในฐานะผู้ใช้รายอื่น มันจะถามรหัสผ่านของคุณและตรวจสอบว่าคุณได้รับอนุญาตให้ใช้ sudo

เมื่อคุณพิมพ์suคุณจะขอให้เปลี่ยนเป็นรูทและรหัสผ่านที่ร้องขอคือรหัสผ่านรูท เมื่อคุณพิมพ์sudo suคุณจะต้องดำเนินการคำสั่งเพื่อเปลี่ยนเป็นรูทในฐานะที่เป็นรูทดังนั้นรหัสผ่านที่ขอให้เป็นของคุณ


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