จะตั้ง visudo ให้ใช้ตัวแก้ไขที่แตกต่างจากค่าเริ่มต้นบน Fedora ได้อย่างไร?


28

Fedora 14 จะใช้ vi เป็นค่าเริ่มต้นเมื่อใช้งาน visudo มีวิธีที่จะเปลี่ยนสิ่งนี้เป็นอย่างอื่นหรือไม่?

คำตอบ:


44

การเพิ่มDefaults editor=/path/to/editorไฟล์ sudoers จะทำให้ visudo ใช้ตัวแก้ไขที่ระบุสำหรับการเปลี่ยนแปลง

นอกจากนี้หากแพ็กเกจ sudo ของคุณถูกสร้างขึ้นด้วย --with-env-editor เช่นเดียวกับค่าเริ่มต้นในลีนุกซ์ลีนุกซ์บางตัว, คุณยังสามารถตั้งค่าตัวแปรสภาพแวดล้อม EDITOR ได้ด้วยการดำเนินการexport EDITOR=/path/to/editor. ดำเนินการในบรรทัดคำสั่งซึ่งจะเปลี่ยนกลับทันทีที่เซสชันเชลล์นั้นสิ้นสุดลงการตั้งค่าตัวแปรในโปรไฟล์ ~ / .bashrc หรือ / etc / จะทำให้การเปลี่ยนแปลงยังคงอยู่


คุณช่วยระบุคำสั่งที่คุณดำเนินการได้ไหม
Tok

@Tshepang - คุณสามารถตั้งค่าตัวแก้ไขค่าเริ่มต้น = / usr / bin / nano ในไฟล์ sudoers เพื่อระบุตัวแก้ไข ณ จุดนี้ฉันสมมติว่าคุณต้องการใช้นาโนตามที่ระบุในความคิดเห็นก่อนหน้าของคุณ
Tok

@Tshepang - ใช่ แต่นี่น่าจะเป็นผลิตภัณฑ์ที่สร้างแพ็คเกจโดยใช้ --with-env-editor
Tok

1
@Tok: สิ่งที่ระบบไม่visudoให้เกียรติ$VISUALและ$EDITOR?
Gilles 'หยุดความชั่วร้าย'

3
@Gilles - จากการอ่านของฉัน Ubuntu เพิ่งเปลี่ยนพารามิเตอร์การสร้างของแพ็คเกจ sudo เป็นไม่รวม--with-env-editorเมื่อเร็ว ๆ นี้ที่นี่มีความหมายภายในหน่วยความจำของอินเทอร์เน็ต นอกจากนี้แพคเกจ sudo เปลี่ยนค่าเริ่มต้นของพวกเขาเมื่อเร็ว ๆ นี้เพื่อใช้ vi เป็นตัวแก้ไขค่าเริ่มต้นซึ่งฉันเชื่อว่าสอดคล้องกับการเปลี่ยนแปลงพฤติกรรมที่เกี่ยวข้องกับการยอมรับตัวแปรด้านสิ่งแวดล้อม ฉันไม่มีช่วงเวลาที่ชัดเจนว่าอย่างไรเวลาหรือกิจกรรมเหล่านี้เกี่ยวข้องกันในเวลานี้
Tok

11

ดังต่อไปนี้

  • ใช้งานได้สำหรับ distros ที่ใช้alternatives(เดิมทีคือ Debian และ forks แต่ตอนนี้ distros ที่สำคัญที่สุดคือ IIUC)
  • มีข้อได้เปรียบที่

    1. คุณไม่จำเป็นต้องแก้ไขsudoersก่อนด้วยเครื่องมือแก้ไขเริ่มต้น
    2. มันใช้งานได้แม้ว่า package = sudoยังไม่ได้ถูกสร้างขึ้น--with-env-editor

จาก commandline:

  1. วิ่ง sudo update-alternatives --config editor
  2. เลือกเครื่องมือแก้ไขที่ต้องการจากเมนู (โหมดข้อความ) หากคุณไม่เห็นเครื่องมือแก้ไขที่คุณต้องการคุณอาจต้องติดตั้ง ยกเลิกทำเช่นนั้นและทำซ้ำ

sudo visudo ตอนนี้ควรเปิดตัวแก้ไขที่คุณเลือก


7

โปรแกรม unix ปกติที่ต้องการเรียกใช้ตัวแก้ไขจะเรียกใช้โปรแกรมที่มีชื่ออยู่ในEDITORหรือVISUALตัวแปรสภาพแวดล้อมและหากไม่ได้ตั้งค่าตัวแปรค่าเริ่มต้นขึ้นอยู่กับระบบ โปรแกรมจำนวนมาก แต่ไม่ใช่ทั้งหมดตรวจสอบทั้งสองอย่างEDITORและVISUAL; ความแตกต่างนั้นล้าสมัยมานาน (เมื่อคุณเรียกใช้EDITORบนโทรพิมพ์และVISUALบนขั้ว "แก้ว" ... ) ดังนั้นคุณควรตั้งค่าทั้งสองเป็นค่าเดียวกัน มีความขัดแย้งกันว่าเนื้อหาของตัวแปรควรเป็นพา ธ แบบเต็มไปยังไฟล์ที่เรียกทำงานได้ชื่อไฟล์ที่เรียกใช้งานที่ค้นหา$PATHหรือข้อมูลโค้ดของเชลล์ดังนั้นคุณควรติดกับพา ธ ไปยังไฟล์ปฏิบัติการที่ไม่มีเชลล์ metacharacter ค่าเริ่มต้นของระบบเมื่อไม่มีการตั้งค่าตัวแปรเป็นแบบดั้งเดิมvinanoแม้ว่าการกระจายบางส่วนมีการเปลี่ยนแปลงนี้ให้แก้ไขมือใหม่ง่ายมากขึ้นเช่น

visudoตรวจสอบทั้งสองVISUALและEDITOR(สิ่งนี้สามารถรวบรวมได้สันนิษฐานได้ว่าจะห้ามไม่ให้รูทใช้โปรแกรมแก้ไขซึ่งความปลอดภัยที่ผู้จัดจำหน่ายไม่เชื่อถือ แต่ OpenBSD ก็ไม่ทำเช่นนี้)


3

ขั้นตอนเหล่านี้ให้ฉันตั้งค่าตัวแก้ไขเป็น vi สำหรับ visudo บน Ubuntu 12.04 ซึ่งอาจทำงานได้กับการกระจายส่วนใหญ่:

ออกคำสั่ง:

sudo visudo

นี่เป็นการเปิดไฟล์ sudoers ใน nano ใกล้ด้านบนคุณจะเห็นบรรทัดนี้:

Defaults    env_reset

เพิ่มบรรทัดต่อไปนี้ใต้บรรทัดด้านบน:

Defaults    editor=/usr/bin/vi

บันทึกไฟล์และออก เปิด visudo อีกครั้งในฐานะผู้ใช้เริ่มต้นของคุณ:

sudo visudo

ตอนนี้ไฟล์ sudoers จะเปิดขึ้นใน VI


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