ความแตกต่างระหว่าง Su และ Sudo (พร้อมตาราง)

สารบัญ:

Anonim

ลินุกซ์มีคำสั่งและวิธีการมากมายในการรับสิทธิ์รูท แต่ละคำสั่งและฟังก์ชันทำงานและเรียกใช้ต่างกัน คำสั่ง Linux ทุกคำสั่งจะแจกจ่ายในลักษณะเฉพาะโดยใช้การกำหนดค่าที่ตั้งไว้เป็นค่าเริ่มต้น คำสั่งที่ใช้กันทั่วไปสองคำสั่งเพื่อขออนุญาตรูทใน Linux คือ Su และ Sudo

ซู vs ซูโด

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

Su ย่อมาจากผู้ใช้ทดแทน เป็นวิธีดั้งเดิมในการรับสิทธิ์รูทใน Linux เปิดตัวในปี 1971 ไวยากรณ์หลักของคำสั่งคือ: su[user_name] หรือ su-[user_name] โดยไม่ต้องใช้อาร์กิวเมนต์ก็สามารถสลับไปยังบัญชีผู้ใช้ superuser ของรูทได้ มันเรียกใช้เชลล์ผู้ใช้ขณะทำงาน

ในขณะที่ Sudo ย่อมาจากผู้ใช้ทดแทนทำ ใช้สำหรับขออนุญาตในงานธุรการและปฏิบัติการ ไวยากรณ์หลักของคำสั่งคือ sudo[command] มีข้อ จำกัด ในการใช้งานโดยผู้ใช้กลุ่ม sudoers มีศักยภาพในการยับยั้งการเปลี่ยนแปลงทั้งระบบที่ไม่ต้องการ

ตารางเปรียบเทียบระหว่างซูและซูโด

พารามิเตอร์ของการเปรียบเทียบ ซู ซูโด
พิมพ์ สั่งการ การอนุญาตสิทธิ์
ระบบปฏิบัติการ Unix และ Unix เหมือน ยูนิกซ์เหมือน
การทำงาน เพื่อขอสิทธิ์รูทผ่านการเปลี่ยนเป็น superuser หรือผู้ใช้รูท ในการขออนุญาตรูทด้วยคำสั่งเดียว
ผู้เขียน Dennis Ritchie และ Ken Thompson Robert Coggeshall และ Cliff Spencer
นักพัฒนา AT&T Bell Laboratories ทอดด์ ซี. มิลเลอร์

ซูคืออะไร

Su เป็นคำสั่ง Unix รูปแบบเต็มรูปแบบของ Su คือ 'ผู้ใช้ทดแทน' ตอนแรกมันเป็นส่วนหนึ่งของเวอร์ชัน 1 Unix ได้รับการพัฒนาโดย Dennis Ritchie และ Ken Thompson เผยแพร่โดย AT&T Laboratories เมื่อวันที่ 3 พฤศจิกายน พ.ศ. 2514

งานของคำสั่ง su คือการดำเนินการคำสั่งและให้สิทธิ์ของบัญชีอื่นของผู้ใช้ เมื่อดำเนินการ คำสั่ง su จะเรียกใช้เชลล์และจะไม่เปลี่ยนไดเร็กทอรีการทำงานปัจจุบันหรือสภาพแวดล้อมของผู้ใช้

หากใช้คำสั่งโดยไม่ได้ระบุ ID ผู้ใช้ใหม่ซึ่งจะทำหน้าที่เป็นอาร์กิวเมนต์บรรทัดคำสั่ง คำสั่ง su จะใช้บัญชีผู้ใช้ superuser ของระบบเป็นการตั้งค่าเริ่มต้น มันจะหมายความว่าเป็น id ผู้ใช้ 0 เมื่อคำสั่งทำงาน su จะขอรหัสผ่านของผู้ใช้เป้าหมายจากผู้ใช้

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

ซูโดะคืออะไร?

Sudo เป็นโปรแกรมประเภทหนึ่งในระบบปฏิบัติการแบบ Unix sudo แบบเต็มคือ 'substitution user do' ในการตั้งค่าเริ่มต้น จะอนุญาตให้ superuser ได้รับการพัฒนาโดย Robert Coggeshall และ Cliff Spencer เผยแพร่โดย Todd C. Miller ในปี 1980 แต่เปิดตัวอย่างเป็นทางการเมื่อวันที่ 27 กรกฎาคม 2021

งานของคำสั่ง Sudo คือการอนุญาตให้ผู้ใช้เรียกใช้โปรแกรมและให้สิทธิ์ความปลอดภัยแก่ผู้ใช้รายอื่น ใบอนุญาตเป็นแบบ ISC มีการใช้กันอย่างแพร่หลายในภาษาซี ข้อจำกัดเพียงอย่างเดียวของคำสั่ง Sudo คือสามารถดำเนินการได้โดยผู้ใช้กลุ่ม sudoer แต่การเพิ่มผู้ใช้ใหม่ในกลุ่ม sudoer ก็ง่ายเช่นกัน

Sudo ยังใช้สำหรับงานธุรการ Sudo ตรวจสอบสิทธิ์โดยขอรหัสผ่านของผู้ใช้ ไม่ใช่ของผู้ใช้เป้าหมาย หลังจากตรวจสอบสิทธิ์แล้ว จะอนุญาตให้เข้าถึงและเรียกใช้คำสั่งที่ร้องขอ ไฟล์คอนฟิกูเรชันมีบทบาทสำคัญในการเข้าถึงการอนุญาต เปิดใช้งานคำสั่ง หรือระหว่างการป้อนหรือป้อนรหัสผ่านซ้ำ

Sudo เป็นคำสั่งเดียวและรันด้วยสิทธิ์ของรูท ไม่เหมือนกับ su ตรงที่จะไม่เปลี่ยนเป็นบัญชีผู้ใช้รูทหรือขอข้อมูลประจำตัวของผู้ใช้รูท เช่น รหัสผ่าน ข้อดีของการใช้ Sudo คือ ผู้ใช้ต้องระบุและจำรหัสผ่านเพียงรหัสผ่านเดียว นอกจากนี้ยังให้การรักษาความปลอดภัยที่อาจเกิดขึ้นและสามารถควบคุมการเปลี่ยนแปลงและการแก้ไขทั่วทั้งความปลอดภัยที่ไม่ต้องการได้

ความแตกต่างหลักระหว่าง Su และ Sudo

บทสรุป

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

Linux ให้การสลับระหว่าง superuser และผู้ใช้ root ผ่านคำสั่ง su และการเข้าถึงคำสั่งเดียวผ่าน sudo ใน su ผู้ใช้สามารถสมมติตัวตนของผู้ใช้รายอื่นโดยไม่ต้องเปลี่ยนการเข้าสู่ระบบหรือข้อมูลประจำตัวในขณะที่ sudo ผู้ใช้ไม่จำเป็นต้องเปลี่ยนข้อมูลประจำตัว Su สามารถดำเนินการได้สองวิธี: su และ su- Su รักษาสภาพแวดล้อมดั้งเดิมในขณะที่ su- สร้างสภาพแวดล้อมใหม่สำหรับผู้ใช้รูท

Su สลับไปมาระหว่างผู้ใช้รูทและ superuser ตลอดเวลาในขณะที่ sudo ไม่ได้รวมการแลกเปลี่ยนดังกล่าว นอกจากนี้ su ในผู้ใช้รูทสามารถเปิดเผยข้อมูลระบบทั้งหมดและก่อให้เกิดความเสี่ยงในการแก้ไข ขณะที่ Sudo ให้สิทธิ์แบบมีสิทธิพิเศษเฉพาะสำหรับคำสั่งเฉพาะที่ต้องการเท่านั้น ดังนั้นจึงปลอดภัยกว่าในการใช้งาน

ความแตกต่างระหว่าง Su และ Sudo (พร้อมตาราง)