ฉันเคยsudoeditสร้างไฟล์:
 $ sudoedit /etc/systemd/system/apache2.service
แต่เมื่อฉันไปบันทึกไฟล์มันเขียนไว้ในไดเรกทอรีชั่วคราว (/ var / temp / blahblah) เกิดอะไรขึ้น? เหตุใดจึงไม่บันทึกลงในไดเรกทอรีระบบ
ฉันเคยsudoeditสร้างไฟล์:
 $ sudoedit /etc/systemd/system/apache2.service
แต่เมื่อฉันไปบันทึกไฟล์มันเขียนไว้ในไดเรกทอรีชั่วคราว (/ var / temp / blahblah) เกิดอะไรขึ้น? เหตุใดจึงไม่บันทึกลงในไดเรกทอรีระบบ
คำตอบ:
ประเด็นsudoeditคือเพื่อให้ผู้ใช้สามารถแก้ไขไฟล์ที่ไม่ได้รับอนุญาตในขณะที่เรียกใช้โปรแกรมแก้ไขที่ไม่ได้รับสิทธิพิเศษ ในการทำให้สิ่งนี้เกิดขึ้นให้sudoeditคัดลอกไฟล์ที่จะแก้ไขไปยังตำแหน่งชั่วคราวทำให้สามารถเขียนได้โดยผู้ใช้ที่ร้องขอและเปิดในตัวแก้ไขที่กำหนดค่า นั่นเป็นสาเหตุที่ผู้แก้ไขแสดงชื่อไฟล์ที่ไม่เกี่ยวข้องในไดเรกทอรีชั่วคราว เมื่อตัวแก้ไขออกให้sudoeditตรวจสอบว่ามีการเปลี่ยนแปลงใด ๆ เกิดขึ้นจริงหรือไม่และคัดลอกไฟล์ชั่วคราวที่ถูกเปลี่ยนกลับไปที่ตำแหน่งเดิมหากจำเป็น
visudo /etc/sudoers
                    visudo sudoeditฉันรู้ว่าvisudoมันทำอย่างแน่นอน ขอบคุณที่ล้างข้อมูล!
                    นี่คือคำอธิบายอย่างในmanpage คำอธิบายของ(ซึ่งเทียบเท่ากับ) พูดว่า:sudo-esudoedit
-e
-e(แก้ไข) ตัวเลือกที่แสดงให้เห็นว่าแทนการใช้คำสั่งที่ผู้ใช้ต้องการที่จะแก้ไขอย่างใดอย่างหนึ่งหรือไฟล์อื่น ๆ อีกมากมาย แทนที่คำสั่งสตริง "sudoedit" จะใช้เมื่อปรึกษานโยบายความปลอดภัย หากผู้ใช้ได้รับอนุญาตจากนโยบายจะมีการดำเนินการตามขั้นตอนต่อไปนี้:
- สำเนาชั่วคราวทำจากไฟล์ที่จะแก้ไขโดยเจ้าของถูกตั้งค่าเป็นผู้ใช้ที่เรียกใช้
 - ตัวแก้ไขที่ระบุโดยนโยบายจะถูกเรียกใช้เพื่อแก้ไขไฟล์ชั่วคราว
 sudoersนโยบายการใช้SUDO_EDITOR,VISUALและEDITORตัวแปรสภาพแวดล้อม (ตามลำดับ) ถ้าไม่มีSUDO_EDITOR,VISUALหรือEDITORมีการตั้งค่าโปรแกรมแรกที่ระบุไว้ในการแก้ไขsudoers(5)ตัวเลือกที่ถูกนำมาใช้- หากมีการแก้ไขไฟล์ชั่วคราวจะถูกคัดลอกกลับไปยังตำแหน่งเดิมและเวอร์ชันชั่วคราวจะถูกลบออก
 หากไฟล์ที่ระบุไม่มีอยู่ไฟล์นั้นจะถูกสร้างขึ้น โปรดทราบว่าไม่เหมือนกับคำสั่งส่วนใหญ่ที่ดำเนินการโดย
sudoตัวแก้ไขจะทำงานโดยไม่มีการแก้ไขสภาพแวดล้อมของผู้ใช้ หากด้วยเหตุผลบางอย่างsudoไม่สามารถอัปเดตไฟล์ด้วยเวอร์ชันที่แก้ไขได้ผู้ใช้จะได้รับคำเตือนและสำเนาที่แก้ไขจะยังคงอยู่ในไฟล์ชั่วคราว
โดยเฉพาะอย่างยิ่งให้จดบันทึกขั้นตอนที่สาม: เฉพาะในกรณีที่มีการแก้ไขไฟล์เมื่อสิ้นสุดการแก้ไขเป็นการเปลี่ยนแปลงดั้งเดิม ดังนั้นหากคุณมีโปรแกรมที่ดูไฟล์สิ่งนี้จะช่วยหลีกเลี่ยง (ก) การเขียนระดับกลางที่ถูกหยิบขึ้นมาและ (ข) การกระทำที่ไม่จำเป็นหากคุณตัดสินใจที่จะไม่ทำการเปลี่ยนแปลงใด ๆ ในตอนท้าย