ถ้าคุณเคยใช้ Linux หรือรู้จักใครสักคนที่ใช้ Linux แล้วคุณอาจเคยได้ยินคำสั่ง sudo คำสั่งนี้เป็นส่วนประกอบที่สำคัญสำหรับการกระจาย Linux ทุกเครื่องและสิ่งใดที่ทำให้คุณสามารถเรียกใช้คำสั่งในฐานะผู้ใช้รายอื่นได้โดยเฉพาะผู้ใช้ root คุณสามารถล็อกอินเป็นผู้ใช้ root ได้โดยใช้คำสั่ง suแต่ถือว่ามีความเสี่ยงสูงและไม่มีใครเคยทำสิ่งนี้
จริงแล้วมันเป็นเช่นนั้น อันตรายที่ถูกปิดการใช้งานโดยค่าเริ่มต้นในการแจกแจง Linux เช่น Ubuntu แต่คุณต้องใช้คำสั่ง sudoถ้าคุณต้องการเรียกใช้คำสั่งในฐานะผู้ใช้ root ดังนั้นสิ่งที่เกี่ยวกับ Windows? โชคดีที่คนส่วนใหญ่เข้าสู่ระบบ Windows ในฐานะผู้ดูแลระบบซึ่งเหมือนกับผู้ใช้ root ใน Linux อย่างไรก็ตาม Microsoft ได้พยายามลดผลกระทบที่เป็นอันตรายของการเข้าสู่ระบบในฐานะผู้ดูแลระบบด้วยการเปิดใช้งานการควบคุมบัญชีผู้ใช้หรือ UAC
ด้วยวิธีนี้แม้ว่าผู้ใช้จะมีสิทธิ์ระดับผู้ดูแลระบบแอ็พพลิเคชันที่ทำงานภายใต้บัญชีดังกล่าวจะไม่ สืบทอดสิทธิ์เหล่านี้เว้นแต่ผู้ใช้จะได้รับอนุญาตด้วยตนเอง ซึ่งจะช่วยป้องกันมัลแวร์และสปายแวร์ไม่ให้ติดไวรัสผู้ใช้ Windows ที่ลงชื่อเข้าใช้ในฐานะผู้ดูแลระบบ
ดังนั้นในขณะที่ผู้ใช้ Linux มีคำสั่ง sudo ผู้ใช้ Windows มีอะไรบ้าง? มีทางเลือกที่ผู้ใช้ Windows สามารถใช้เพื่อเรียกใช้คำสั่งที่มีสิทธิ์ยกระดับได้หรือไม่? มีคำสั่ง sudo สำหรับ Windows หรือไม่? ในบทความนี้ฉันจะพูดถึงห้าทางเลือกในคำสั่ง sudo สำหรับผู้ใช้ Windows
หมายเหตุ: เครื่องมือเหล่านี้ค่อนข้างเก่าแล้ว หรืออาจไม่ทำงานกับ Windows รุ่นล่าสุด
คำสั่ง Windows Runas
Windows มีคำสั่ง runasซึ่งเป็นคำที่ตรงกับ sudo บน Linux ใช้คำสั่ง runas คุณสามารถเรียกใช้สคริปต์โปรแกรมหรือคำสั่งในฐานะผู้ใช้รายอื่นหรือในฐานะผู้ดูแลระบบได้ ไวยากรณ์เต็มสำหรับคำสั่ง runas คือ:
runas [{/profile|/noprofile}] [/env] [/netonly] [/smartcard] [/showtrustlevels] [/trustlevel] /user:UserAccountName program
ถ้าคุณต้องการเปิดพรอมต์คำสั่งผู้ดูแลระบบคุณสามารถพิมพ์ข้อความต่อไปนี้:
/ noprofile จะไม่โหลดโปรไฟล์ผู้ใช้ปัจจุบัน คุณสามารถลบที่ถ้าคุณต้องการเข้าถึงตัวแปรสภาพแวดล้อมของผู้ใช้ ถ้าคุณต้องการเปิดไฟล์ข้อความโดยใช้ Notepad ที่มีสิทธิ์ของผู้ดูแลระบบคุณสามารถใช้คำสั่งนี้ได้:
runas /user:Administrator "notepad my_file.txt"
คุณสามารถเช็คเอาต์ หน้า Technet ใน runas ได้ ข้อมูลเพิ่มเติมเกี่ยวกับการใช้งาน
โปรดทราบว่าเมื่อใช้คำสั่ง runas ถ้าคุณติดตั้งโปรแกรมหรือทำการเปลี่ยนแปลงการตั้งค่าอื่น ๆ การเปลี่ยนแปลงจะกระทำกับบัญชีผู้ใช้ที่คุณใช้อยู่ สั่ง ตัวอย่างเช่นสมมุติว่าคุณมีผู้ใช้ X ซึ่งเป็นผู้ใช้ปกติและผู้ใช้ Y ซึ่งเป็นผู้ดูแลระบบ ถ้าคุณเข้าสู่ X แล้วรัน runas โดยใช้ข้อมูลประจำตัวของผู้ดูแลระบบการเปลี่ยนแปลงจะทำในการตั้งค่าของผู้ดูแลระบบไม่ใช่ผู้ใช้ X
ดังนั้นถ้าคุณติดตั้งแอพพลิเคชันโดยคลิกขวาที่ไฟล์ EXE และ การเลือก Run as Administrator จะได้รับการติดตั้งไปยังโปรไฟล์ผู้ใช้ของผู้ดูแลระบบในตัวไม่ใช่ชื่อผู้ใช้ที่คุณเข้าสู่ระบบ ถ้าคุณต้องการสิทธิ์ที่ยกระดับอย่างแท้จริงเช่น sudo โดยไม่มีปัญหาโปรไฟล์โปรดดูทางเลือกถัดไปด้านล่าง
Sudo for Windows - Sourceforge
Sudo สำหรับ Windows เป็นโปรแกรมฟรีที่คุณสามารถติดตั้งได้ซึ่งจะทำให้คุณได้รับคำสั่ง sudo ใน Linux สำหรับ Windows ข้อแตกต่างเพียงอย่างเดียวคือ Sudo for Windows "จะเก็บรักษาโปรไฟล์ผู้ใช้และกรรมสิทธิ์ในวัตถุที่สร้างขึ้น"ตามที่ผู้พัฒนาแจ้งไว้ นี่เป็นประโยชน์จริงๆถ้าคุณต้องการใช้สิทธิ์ที่สูงขึ้นในการติดตั้งแอปหรือเปลี่ยนแปลงสถานที่ของผู้ใช้เช่นเอกสารของฉัน ฯลฯ
จะให้สิทธิพิเศษแก่ผู้ดูแลระบบ แต่จะทำให้การเปลี่ยนแปลงทั้งหมดในปัจจุบันเป็นไปได้ โปรไฟล์แทนบัญชีที่คุณใช้เพื่อเรียกใช้คำสั่งด้วย โปรแกรมต้องใช้. NET เวอร์ชัน 2.0 ซึ่งคุณไม่สามารถดาวน์โหลดทีละรายการได้ เพื่อให้ได้ 2.0 คุณต้องติดตั้ง . NET Framework 3.5 ซึ่งรวมถึง 2.0
เมื่อคุณติดตั้ง Sudo for Windows คุณจำเป็นต้องเพิ่มบัญชีผู้ใช้ที่คุณอนุญาตให้มี ยกระดับสิทธิพิเศษให้กับกลุ่มเฉพาะที่สร้างขึ้นโดยโปรแกรมที่เรียกว่า Udoers <คลิกขวาที่ My Computer หรือ PC นี้และคลิกที่ จัดการจากนั้นขยาย ผู้ใช้และกลุ่มและคลิกที่ กลุ่มSudoers
คลิกสองครั้งที่ Sudoersและคลิก บนปุ่ม เพิ่ม
ในช่องโต้ตอบถัดไปให้คลิกปุ่ม ขั้นสูงแล้วคลิก ค้นหาเดี๋ยวนี้รายการนี้จะแสดงรายการผู้ใช้และกลุ่มทั้งหมดในระบบ ดับเบิลคลิกที่ผู้ใช้ที่คุณต้องการเพิ่ม
ทำซ้ำขั้นตอนนี้สำหรับผู้ใช้จำนวนมากที่คุณต้องการเพิ่ม จากนั้นคลิกตกลงและคุณจะเห็นสมาชิกที่อยู่ในกล่องรายการ สมาชิกที่แสดงด้านบน คลิกตกลงและตอนนี้คุณควรจะสามารถใช้ sudo GUI และคำสั่ง หากคุณคลิกขวาที่โปรแกรมคุณจะเห็นตัวเลือก Sudo
นอกจากนี้คุณยังสามารถเปิด พรอมต์คำสั่งและพิมพ์ sudo เพื่อเรียกใช้คำสั่งที่มีสิทธิ์ยกระดับ
โดยรวมแล้วมันดูดีและทำงานได้ดีมาก อย่างไรก็ตามโปรดทราบว่าโปรแกรมนี้มีประโยชน์อย่างมากสำหรับการเปิด โปรแกรมหรือกระบวนการต่างๆผ่านทางคลิกขวาหรือผ่านทางคำสั่ง แต่ไม่ได้มีไว้สำหรับรันแอ็ตทริบิวต์บรรทัดคำสั่ง ตัวอย่างเช่นถ้าคุณต้องการทำ sudo mkdir "c: \ Program Files \ new" จะไม่สามารถใช้ Sudo for Windows ได้ สำหรับฟังก์ชันการทำงานนั้นมีโปรแกรมอื่นที่เรียกว่าสิ่งเดียวกัน แต่โดยนักพัฒนาซอฟต์แวร์รายอื่น อ่านด้านล่าง
Sudo for Windows - Luke Sampson
มีนักพัฒนารายอื่นซึ่งเขียน Sudo สำหรับ Windows อื่นที่ช่วยให้คุณสามารถรันแอ็ปพลิเคชันบรรทัดคำสั่งได้เช่นกัน ให้กลับไปที่ตัวอย่างเกี่ยวกับการสร้างโฟลเดอร์ใหม่ใน C: \ Program Files คุณไม่สามารถทำได้โดยค่าเริ่มต้น
ด้านบนฉันใช้ PowerShell แต่คุณจะได้รับข้อผิดพลาดเดียวกันโดยใช้คำสั่ง พร้อมท์ด้วย อย่างไรก็ตามเมื่อคุณติดตั้ง Sudo for Windows เพียงแค่เพิ่ม sudo คำที่ด้านหน้าของคำสั่งและทำงานได้อย่างสมบูรณ์แบบโดยไม่มีข้อผิดพลาด!
ในการติดตั้งคุณต้องเปิด PowerShell จากนั้นพิมพ์ข้อมูลต่อไปนี้ คำสั่งตามลำดับ:
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')set-executionpolicy unrestricted -s cu -f scoop install sudo
แค่นั้นแหละ! ตอนนี้คุณสามารถเริ่มต้นพิมพ์คำสั่งและเพิ่ม sudo ที่ด้านหน้า เฉพาะสิ่งที่น่ารำคาญเกี่ยวกับโปรแกรมนี้ก็คือหน้าต่าง UAC ยังคงปรากฏขึ้นและคุณคลิกใช่เพื่อให้สามารถทำงานได้ แม้จะมีความรำคาญเล็กน้อยประโยชน์ที่เป็นอย่างดีคุ้มค่า
Elevate
ยกขึ้น เป็นโปรแกรมที่ทำงานร่วมกับ UAC และไม่ทำงานเหมือนกัน sudo ด้วย Elevate จะเปลี่ยนผู้ใช้ที่ทำการดำเนินการให้กับ Administrator เช่นคำสั่ง runas อย่างไรก็ตามมีประโยชน์สำหรับการทำงานในบรรทัดคำสั่งหรือไฟล์แบทช์
จุดประสงค์หลักของการยกระดับคือไม่ใช้ UAC แต่ เพื่อเริ่มต้นกระบวนการในสถานะยกระดับจากเปลือกที่ไม่ได้รับการยกระดับและดำเนินการต่อตามปกติหลังจากคำสั่งเสร็จสิ้น Elevate มีประโยชน์สำหรับการเขียนสคริปต์เนื่องจากคุณไม่จำเป็นต้องกังวลเกี่ยวกับการพยายามเขียนสคริปต์โดยคลิกขวาและเรียกใช้ Command Prompt ในฐานะผู้ดูแลระบบ
Elevation PowerToys for Windows
สำหรับ ในบรรดาผู้ที่ทำงานมากในบรรทัดคำสั่งหรือทำงานร่วมกับสคริปต์และไฟล์แบทช์จากนั้นหน้า 14มีเครื่องมือและสคริปต์ที่มีประโยชน์จำนวนมาก
สคริปต์ไฟฟ้ากำลังสูง ถูกสร้างขึ้นเพื่อเอาชนะด้านที่น่าผิดหวังของ UAC เมื่อพยายามยกระดับโปรแกรมจากบรรทัดคำสั่งหรือเรียกใช้สคริปต์ในฐานะผู้ดูแลระบบ
หวังว่าเครื่องมือและโปรแกรมที่เพียงพอสำหรับคุณทำให้คุณรู้สึกเหมือนกำลังใช้ sudo บน Windows ไม่มีทางเลือกที่สมบูรณ์แบบสำหรับมัน แต่มีค่อนข้างน้อยตัวเลือกที่เข้ามาใกล้ ถ้าคุณใช้อย่างอื่นเพื่อยกระดับโปรแกรมคำสั่งหรือสคริปต์ใน Windows ให้เราทราบในความคิดเห็น สนุก!