อ่าน 6 นาที
ซูโด
sudo ( / s uː d uː / หรือ / ˈ s uː d oʊ / [ 4 ] ) เป็น คำสั่ง เชลล์ บน ระบบปฏิบัติการ แบบ Unix ที่ช่วยให้ผู้ใช้สามารถเรียกใช้โปรแกรมด้วยสิทธิ์ความปลอดภัยของผู้ใช้อื่น...
ซูโด
| ซูโด | |
|---|---|
คำ sudoสั่งในเทอร์มินัล | |
| ผู้เขียนต้นฉบับ | โรเบิร์ต ค็อกเกสฮอลล์, คลิฟฟ์ สเปนเซอร์ |
| นักพัฒนา | ทอดด์ ซี. มิลเลอร์ |
| ปล่อย | ค.ศ. 1980 [ 1 ] |
| เวอร์ชันเสถียร | |
| เขียนเป็น | ซี |
| ระบบปฏิบัติการ | เหมือนยูนิก |
| พิมพ์ | การอนุญาตสิทธิ์พิเศษ |
| ใบอนุญาต | สไตล์ISC [ 3 ] |
| เว็บไซต์ | www.sudo.ws |
| ที่เก็บข้อมูล |
|
sudo( / s uː d uː /หรือ/ ˈ s uː d oʊ / [ 4 ] ) เป็นคำสั่งเชลล์ บนระบบปฏิบัติการแบบ Unixที่ช่วยให้ผู้ใช้สามารถเรียกใช้โปรแกรมด้วยสิทธิ์ความปลอดภัยของผู้ใช้อื่น โดยค่าเริ่มต้นคือผู้ใช้ระดับ สูงสุด [ 5 ]เดิมทีมันย่อมาจาก "superuser do" [ 6 ]เนื่องจากมันทำได้เพียงเท่านี้ และยังคงเป็นการใช้งานที่พบบ่อยที่สุด[ 7 ]อย่างไรก็ตาม หน้าเว็บโครงการ Sudo อย่างเป็นทางการระบุว่าเป็น "su 'do ' " [ 8 ]หน้าคู่มือ Linux ปัจจุบันกำหนดเป็น "substitute user" [ 9 ]ทำให้ความหมายสมัยใหม่ของ"substitute user, do" เป็นจริง เพราะสามารถเรียกใช้คำสั่งในฐานะผู้ใช้อื่นได้เช่นกัน[ 10 ] [ 11 ]susudosudo
แตกต่างจากคำสั่งที่คล้ายกัน ผู้ใช้จะต้องป้อน รหัสผ่านsuของตนเองเพื่อยืนยันตัวตนโดยค่าเริ่มต้น แทนที่จะใช้รหัสผ่านของผู้ใช้เป้าหมาย หลังจากยืนยันตัวตนแล้ว และหากไฟล์การกำหนดค่า (โดยทั่วไปคือ . config /config.js) อนุญาตให้ผู้ใช้เข้าถึง ระบบจะเรียกใช้คำสั่งที่ร้องขอ ไฟล์การกำหนดค่ามีสิทธิ์การเข้าถึงโดยละเอียด รวมถึงการเปิดใช้งานคำสั่งเฉพาะจากเทอร์มินัลที่เรียกใช้ การกำหนดให้ต้องใช้รหัสผ่านต่อผู้ใช้หรือกลุ่ม การกำหนดให้ป้อนรหัสผ่านใหม่ทุกครั้ง หรือไม่จำเป็นต้องใช้รหัสผ่านเลยสำหรับบรรทัดคำสั่งบางบรรทัด นอกจากนี้ยังสามารถกำหนดค่าให้สามารถส่งอาร์กิวเมนต์หรือคำสั่งหลายคำสั่งได้ /etc/sudoers
ประวัติศาสตร์
Robert Coggeshall and Cliff Spencer wrote the original subsystem around 1980 at the Department of Computer Science at SUNY/Buffalo.[12] Robert Coggeshall brought sudo with him to the University of Colorado Boulder. Between 1986 and 1993, the code and features were substantially modified by the IT staff of the University of Colorado Boulder Computer Science Department and the College of Engineering and Applied Science, including Todd C. Miller.[12] The current version has been publicly maintained by OpenBSD developer Todd C. Miller since 1994,[12] and has been distributed under an ISC-style license since 1999.[12]
In November 2009, Thomas Claburn, in response to concerns that Microsoft had patented sudo,[13] characterized such suspicions as overblown.[14] The claims were narrowly framed to a particular GUI, rather than to the sudo concept.[15]
The logo is a reference to an xkcd strip, where an order for a sandwich is accepted only when preceded with sudo.[16][17]
Design

sudoUnlike for su, users supply their personal password to sudo (if necessary)[18] rather than that of the superuser or other account. This allows authorized users to exercise altered privileges without compromising the secrecy of the other account's password.[19] Users must be in a certain group to use the sudo command, typically either the wheel or sudo group.[20] After authentication, and if the configuration file permits the user access, the system invokes the requested command. sudo retains the user's invocation rights through a grace period (typically 5 minutes) per pseudo terminal, allowing the user to execute several successive commands as the requested user without having to provide a password again.[21]
เพื่อเป็นคุณสมบัติด้านความปลอดภัยและการตรวจสอบsudoอาจมีการกำหนดค่าให้บันทึกการเรียกใช้คำสั่งแต่ละครั้ง เมื่อผู้ใช้พยายามเรียกใช้sudoโดยที่ไม่ได้อยู่ในรายการในไฟล์การกำหนดค่า ระบบจะแสดงข้อบ่งชี้ข้อยกเว้นแก่ผู้ใช้เพื่อระบุว่าความพยายามดังกล่าวได้รับการบันทึกไว้แล้ว หากกำหนดค่าไว้ ผู้ใช้ root จะได้รับการแจ้งเตือนทางอีเมลโดยค่าเริ่มต้น ระบบจะบันทึกรายการไว้ในระบบ[ 22 ]
การกำหนดค่า
ไฟล์/etc/sudoersดังกล่าวประกอบด้วยรายชื่อผู้ใช้หรือกลุ่มผู้ใช้ที่มีสิทธิ์ในการเรียกใช้ชุดคำสั่งย่อยในขณะที่มีสิทธิ์ของผู้ใช้ rootหรือผู้ใช้อื่นที่ระบุไว้ ไฟล์นี้สามารถแก้ไขได้โดยใช้คำสั่งsudo visudoSudo มีตัวเลือกการกำหนดค่าหลายอย่าง เช่น การอนุญาตให้เรียกใช้คำสั่งโดยsudoไม่ต้องใช้รหัสผ่าน การเปลี่ยนผู้ใช้ที่สามารถใช้sudoและการเปลี่ยนข้อความที่แสดงเมื่อป้อนรหัสผ่านไม่ถูกต้อง[ 23 ] Sudo มีอีสเตอร์เอ็กที่สามารถเปิดใช้งานได้จากไฟล์การกำหนดค่าซึ่งจะแสดงคำด่าทุกครั้งที่ป้อนรหัสผ่านไม่ถูกต้อง[ 24 ]
ผลกระทบ
ในระบบการแจกจ่ายบางระบบsudoได้เข้ามาแทนที่การใช้การเข้าสู่ระบบผู้ใช้ระดับสูงที่แยกต่างหากสำหรับงานด้านการดูแลระบบเป็นส่วนใหญ่ โดยเฉพาะอย่างยิ่งในระบบ Linux บางระบบ รวมถึงmacOSของ Apple [ 25 ] [ 26 ]ซึ่งช่วยให้สามารถบันทึกคำสั่งผู้ดูแลระบบได้อย่างปลอดภัยยิ่งขึ้นและป้องกันการโจมตีบางประเภท
อาร์บีเอซี
เมื่อใช้ร่วมกับSELinuxสามารถsudoใช้เพื่อเปลี่ยนบทบาทในการควบคุมการเข้าถึงตามบทบาท (RBAC) ได้[ 27 ]
เครื่องมือและโปรแกรมที่คล้ายกัน
visudoเป็นยูทิลิตี้แบบบรรทัดคำสั่งที่ช่วยให้แก้ไขไฟล์การกำหนดค่า sudo ได้อย่างปลอดภัย โดยจะป้องกันการแก้ไขพร้อมกันหลายไฟล์ด้วยการล็อกและทำการตรวจสอบความถูกต้องและไวยากรณ์
Sudoedit เป็นโปรแกรมที่สร้างลิงก์สัญลักษณ์ไปยังไบนารี sudo [ 28 ]เมื่อเรียกใช้ sudo ผ่านนามแฝง sudoedit sudo จะทำงานเสมือนว่าได้ส่งแฟล็ก -e แล้ว และอนุญาตให้ผู้ใช้แก้ไขไฟล์ที่ต้องการสิทธิ์เพิ่มเติมในการเขียน[ 29 ]
Microsoft ได้ปล่อยเครื่องมือของตนเองที่เรียกว่าsudoสำหรับWindowsในเดือนกุมภาพันธ์ 2024 อินเทอร์เฟซของมันคล้ายกับเวอร์ชัน Unix โดยให้ความสามารถในการเรียกใช้คำสั่งที่มีสิทธิ์สูงขึ้นจากเซสชันคอนโซลที่ไม่มีสิทธิ์สูงขึ้น แม้ว่าการใช้งานจะแตกต่างกันโดยสิ้นเชิง[ 30 ]โปรแกรมrunasให้ฟังก์ชันการทำงานที่เทียบเคียงได้ใน Windows แต่ไม่สามารถส่งผ่านไดเร็กทอรีปัจจุบัน ตัวแปรสภาพแวดล้อม หรือบรรทัดคำสั่งยาวๆ ไปยังกระบวนการลูกได้ และในขณะที่มันรองรับการเรียกใช้กระบวนการลูกในฐานะผู้ใช้อื่น มันไม่รองรับการยกระดับสิทธิ์แบบง่ายๆHamilton C shellยังมี true suและsudoสำหรับ Windows ที่สามารถส่งข้อมูลสถานะทั้งหมดนั้นและเริ่มต้นกระบวนการลูกได้ทั้งแบบมีสิทธิ์สูงขึ้นหรือในฐานะผู้ใช้อื่น (หรือทั้งสองอย่าง) [ 31 ] [ 32 ]
อินเทอร์เฟซผู้ใช้แบบกราฟิกมีอยู่สำหรับ sudo – โดยเฉพาะgksudo – แต่ถูกยกเลิกการใช้งานในDebianและไม่มีอยู่ในUbuntu อีกต่อ ไป[ 33 ] [ 34 ]อินเทอร์เฟซผู้ใช้อื่นๆ ไม่ได้สร้างขึ้นบน sudo โดยตรง แต่ให้การยกระดับสิทธิ์ชั่วคราวที่คล้ายกันเพื่อวัตถุประสงค์ในการดูแลระบบ เช่นpkexecในระบบปฏิบัติการที่คล้าย Unix, User Account ControlในMicrosoft WindowsและMac OS X Authorization Services [ 35 ]
doasซึ่งมีให้ใช้งานตั้งแต่OpenBSD 5.8 (ตุลาคม 2015) ได้รับการเขียนขึ้นเพื่อทดแทนsudoใน ระบบพื้นฐาน ของ OpenBSDโดยระบบพื้นฐานดังกล่าวยังคงมีให้ใช้งานในรูปแบบพอร์ต[ 36 ]
gosu เป็นเครื่องมือที่คล้ายกับ sudo ซึ่งเป็นที่นิยมในคอนเทนเนอร์ที่เทอร์มินัลอาจใช้งานไม่ได้อย่างสมบูรณ์ หรือในกรณีที่มีผลกระทบที่ไม่พึงประสงค์จากการเรียกใช้ sudo ในสภาพแวดล้อมคอนเทนเนอร์[ 37 ]
sudo เวอร์ชันที่เขียนใหม่ เรียกว่า sudo-rs ซึ่งเขียนด้วยภาษาโปรแกรม Rustได้รับการนำมาใช้เป็นค่าเริ่มต้นในUbuntu [ 38 ]
ดูเพิ่มเติม
ลิงก์ภายนอก
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ซูโด
sudo ( / s uː d uː / หรือ / ˈ s uː d oʊ / [ 4 ] ) เป็น คำสั่ง เชลล์ บน ระบบปฏิบัติการ แบบ Unix ที่ช่วยให้ผู้ใช้สามารถเรียกใช้โปรแกรมด้วยสิทธิ์ความปลอดภัยของผู้ใช้อื่น...
ประวัติศาสตร์
Robert Coggeshall and Cliff Spencer wrote the original subsystem around 1980 at the Department of Computer Science at SUNY/Buffalo . [ 12 ] Robert Coggeshall brought sudo with him to the University of Colorado Boulder .
Design
Unlike for su , users supply their personal password to sudo (if necessary) [ 18 ] rather than that of the superuser or other account. This allows authorized users to exercise altered privileges without compromising the secrecy of the other account's password.
การกำหนดค่า
ไฟล์ /etc/sudoers ดังกล่าวประกอบด้วยรายชื่อผู้ใช้หรือกลุ่มผู้ใช้ที่มีสิทธิ์ในการเรียกใช้ชุดคำสั่งย่อยในขณะที่มีสิทธิ์ของ ผู้ใช้ root หรือผู้ใช้อื่นที่ระบุไว้ ไฟล์นี้สามารถแก้ไขได้โดยใช้คำสั่ง sudo visudo Sudo มีตัวเลือกการกำหนดค่าหลายอย่าง เช่น...