Computer >> คอมพิวเตอร์ >  >> ซอฟต์แวร์ >> ซอฟต์แวร์

5 Windows ทางเลือกแทนคำสั่ง Linux sudo

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

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

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

    ดังนั้นในขณะที่ผู้ใช้ Linux มีคำสั่ง sudo ผู้ใช้ Windows มีอะไรบ้าง มีทางเลือกอื่นที่ผู้ใช้ Windows สามารถใช้เพื่อเรียกใช้คำสั่งที่มีสิทธิ์ระดับสูงหรือไม่? มีคำสั่ง sudo สำหรับ Windows หรือไม่? ในบทความนี้ ผมจะพูดถึงทางเลือก 5 ทางสำหรับคำสั่ง sudo สำหรับผู้ใช้ Windows

    หมายเหตุ :เครื่องมือเหล่านี้บางตัวค่อนข้างเก่าแล้ว ดังนั้นอาจใช้หรือไม่ทำงานกับ Windows เวอร์ชันล่าสุด

    คำสั่ง Windows Runas

    Windows มี runas คำสั่งซึ่งเป็นคู่โดยตรงกับ sudo บน Linux เมื่อใช้คำสั่ง runas คุณสามารถรันสคริปต์ โปรแกรม หรือคำสั่งในฐานะผู้ใช้อื่นหรือในฐานะผู้ดูแลระบบ ไวยากรณ์แบบเต็มสำหรับคำสั่ง runas คือ:

    runas [{/profile|/noprofile}] [/env] [/netonly] [/smartcard] [/showtrustlevels] [/trustlevel] /user:UserAccountName program

    หากคุณต้องการเปิดพรอมต์คำสั่งการดูแลระบบ คุณสามารถพิมพ์ดังต่อไปนี้:

    runas /noprofile /user:Administrator cmd

    5 Windows ทางเลือกแทนคำสั่ง Linux sudo

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

    runas /user:Administrator "notepad my_file.txt"

    คุณสามารถชำระเงินที่หน้า Technet บน runas เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการใช้งาน

    โปรดทราบว่าเมื่อใช้คำสั่ง runas หากคุณติดตั้งโปรแกรมหรือเปลี่ยนแปลงการตั้งค่า ฯลฯ การเปลี่ยนแปลงจะเกิดขึ้นกับบัญชีผู้ใช้ที่คุณเรียกใช้คำสั่ง ตัวอย่างเช่น สมมติว่าคุณมีผู้ใช้ X ซึ่งเป็นผู้ใช้ปกติ และผู้ใช้ Y ซึ่งเป็นผู้ดูแลระบบ หากคุณเข้าสู่ระบบ X แล้วเรียกใช้ runas โดยใช้ข้อมูลประจำตัวของผู้ดูแลระบบ การเปลี่ยนแปลงจะมีผลกับการตั้งค่าของผู้ดูแลระบบ ไม่ใช่ X ของผู้ใช้

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

    Sudo สำหรับ Windows – Sourceforge

    Sudo สำหรับ Windows เป็นโปรแกรมฟรีที่คุณสามารถติดตั้งได้ ซึ่งจะให้ประสบการณ์เดียวกันกับคำสั่ง sudo บน Linux สำหรับ Windows ข้อแตกต่างเพียงอย่างเดียวคือ Sudo สำหรับ Windows “รักษาโปรไฟล์ของผู้ใช้และความเป็นเจ้าของวัตถุที่สร้างขึ้น” ตามที่ผู้พัฒนาระบุ สิ่งนี้มีประโยชน์มากหากคุณต้องการใช้การอนุญาตระดับสูงสำหรับการติดตั้งแอพหรือเปลี่ยนแปลงตำแหน่งของผู้ใช้ เช่น My Documents เป็นต้น

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

    เมื่อคุณติดตั้ง Sudo สำหรับ Windows แล้ว คุณต้องเพิ่มบัญชีผู้ใช้ที่คุณอนุญาตให้มีสิทธิ์ระดับสูงสำหรับกลุ่มเฉพาะที่สร้างโดยโปรแกรมที่เรียกว่า Sudoers . คลิกขวาที่ My Computer หรือ PC เครื่องนี้ แล้วคลิก จัดการ . จากนั้นขยายผู้ใช้และกลุ่ม และคลิกที่ กลุ่ม . คุณควรเห็นชื่อ Sudoers .

    5 Windows ทางเลือกแทนคำสั่ง Linux sudo

    ดับเบิลคลิกที่ Sudoers และคลิกที่ เพิ่ม ปุ่ม.

    5 Windows ทางเลือกแทนคำสั่ง Linux sudo

    ในกล่องโต้ตอบถัดไป ให้คลิก ขั้นสูง จากนั้นคลิก ค้นหาเลย . ซึ่งจะแสดงรายการผู้ใช้และกลุ่มทั้งหมดในระบบ ดับเบิลคลิกผู้ใช้ที่คุณต้องการเพิ่ม

    5 Windows ทางเลือกแทนคำสั่ง Linux sudo

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

    5 Windows ทางเลือกแทนคำสั่ง Linux sudo

    คุณยังสามารถเปิดพรอมต์คำสั่งแล้วพิมพ์ sudo เพื่อเรียกใช้คำสั่งด้วยสิทธิ์ระดับสูง

    5 Windows ทางเลือกแทนคำสั่ง Linux sudo

    โดยรวมแล้วมันค่อนข้างดีและทำงานได้ดีมาก อย่างไรก็ตาม โปรดทราบว่าโปรแกรมนี้มีประโยชน์มากสำหรับ การเปิดตัว โปรแกรมหรือกระบวนการด้วยการคลิกขวาหรือผ่านพรอมต์คำสั่ง แต่ไม่ได้มีไว้สำหรับเรียกใช้แอปบรรทัดคำสั่ง ตัวอย่างเช่น หากคุณต้องการทำ sudo mkdir “c:\Program Files\new” สิ่งนี้จะไม่ทำงานโดยใช้ Sudo สำหรับ Windows สำหรับฟังก์ชันนั้น มีโปรแกรมอื่นที่เรียกว่าสิ่งเดียวกัน แต่โดยนักพัฒนาอื่น อ่านด้านล่าง

    Sudo สำหรับ Windows – ลุค แซมป์สัน

    มีนักพัฒนารายอื่นที่เขียน Sudo สำหรับ Windows อีกรายที่ให้คุณรันแอปบรรทัดคำสั่งได้เช่นกัน กลับไปที่ตัวอย่างเกี่ยวกับการสร้างโฟลเดอร์ใหม่ใน C:\Program Files คุณไม่สามารถทำได้โดยค่าเริ่มต้น

    5 Windows ทางเลือกแทนคำสั่ง Linux sudo

    ด้านบนฉันกำลังใช้ PowerShell แต่คุณจะได้รับข้อผิดพลาดเดียวกันโดยใช้พรอมต์คำสั่งด้วย อย่างไรก็ตาม เมื่อคุณติดตั้ง Sudo สำหรับ Windows เพียงเพิ่มคำว่า sudo ที่ด้านหน้าของคำสั่ง และทำงานได้อย่างสมบูรณ์โดยไม่มีข้อผิดพลาด!

    ในการติดตั้ง คุณต้องเปิด PowerShell แล้วพิมพ์คำสั่งต่อไปนี้ตามลำดับ:

    iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
    
    set-executionpolicy unrestricted -s cu -f
    
    scoop install sudo

    หากทุกอย่างทำงานได้ดี คุณจะเห็นผลลัพธ์ต่อไปนี้ใน PowerShell หลังจากแต่ละคำสั่ง:

    5 Windows ทางเลือกแทนคำสั่ง Linux sudo

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

    ยกสูง

    Elevate เป็นโปรแกรมที่ทำงานร่วมกับ UAC และใช้งานไม่ได้เหมือนกับ sudo ทุกประการ ด้วย Elevate มันจะเปลี่ยนผู้ใช้ที่รันเป็นผู้ดูแลระบบเหมือนกับที่คำสั่ง runas ทำ อย่างไรก็ตาม มันมีประโยชน์สำหรับการทำงานในบรรทัดคำสั่งหรือกับไฟล์แบตช์

    5 Windows ทางเลือกแทนคำสั่ง Linux sudo

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

    Elevation PowerToys สำหรับ Windows

    สำหรับผู้ที่ทำงานเกี่ยวกับบรรทัดคำสั่งหรือทำงานกับสคริปต์และไฟล์แบตช์เป็นจำนวนมาก หน้า Elevation PowerToys สำหรับ Windows มีเครื่องมือและสคริปต์ที่มีประโยชน์ค่อนข้างน้อย

    5 Windows ทางเลือกแทนคำสั่ง Linux sudo

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

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