ฉันเคย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
-e
sudoedit
-e
-e
(แก้ไข) ตัวเลือกที่แสดงให้เห็นว่าแทนการใช้คำสั่งที่ผู้ใช้ต้องการที่จะแก้ไขอย่างใดอย่างหนึ่งหรือไฟล์อื่น ๆ อีกมากมาย แทนที่คำสั่งสตริง "sudoedit
" จะใช้เมื่อปรึกษานโยบายความปลอดภัย หากผู้ใช้ได้รับอนุญาตจากนโยบายจะมีการดำเนินการตามขั้นตอนต่อไปนี้:
- สำเนาชั่วคราวทำจากไฟล์ที่จะแก้ไขโดยเจ้าของถูกตั้งค่าเป็นผู้ใช้ที่เรียกใช้
- ตัวแก้ไขที่ระบุโดยนโยบายจะถูกเรียกใช้เพื่อแก้ไขไฟล์ชั่วคราว
sudoers
นโยบายการใช้SUDO_EDITOR
,VISUAL
และEDITOR
ตัวแปรสภาพแวดล้อม (ตามลำดับ) ถ้าไม่มีSUDO_EDITOR
,VISUAL
หรือEDITOR
มีการตั้งค่าโปรแกรมแรกที่ระบุไว้ในการแก้ไขsudoers(5)
ตัวเลือกที่ถูกนำมาใช้- หากมีการแก้ไขไฟล์ชั่วคราวจะถูกคัดลอกกลับไปยังตำแหน่งเดิมและเวอร์ชันชั่วคราวจะถูกลบออก
หากไฟล์ที่ระบุไม่มีอยู่ไฟล์นั้นจะถูกสร้างขึ้น โปรดทราบว่าไม่เหมือนกับคำสั่งส่วนใหญ่ที่ดำเนินการโดย
sudo
ตัวแก้ไขจะทำงานโดยไม่มีการแก้ไขสภาพแวดล้อมของผู้ใช้ หากด้วยเหตุผลบางอย่างsudo
ไม่สามารถอัปเดตไฟล์ด้วยเวอร์ชันที่แก้ไขได้ผู้ใช้จะได้รับคำเตือนและสำเนาที่แก้ไขจะยังคงอยู่ในไฟล์ชั่วคราว
โดยเฉพาะอย่างยิ่งให้จดบันทึกขั้นตอนที่สาม: เฉพาะในกรณีที่มีการแก้ไขไฟล์เมื่อสิ้นสุดการแก้ไขเป็นการเปลี่ยนแปลงดั้งเดิม ดังนั้นหากคุณมีโปรแกรมที่ดูไฟล์สิ่งนี้จะช่วยหลีกเลี่ยง (ก) การเขียนระดับกลางที่ถูกหยิบขึ้นมาและ (ข) การกระทำที่ไม่จำเป็นหากคุณตัดสินใจที่จะไม่ทำการเปลี่ยนแปลงใด ๆ ในตอนท้าย