วิธีเรียกใช้โปรแกรมในฐานะผู้ใช้ root จากตัวเรียกใช้งานใน Linux

การปรับปรุงครั้งล่าสุด: 15 2026 ตุลาคม
  • Root ให้สิทธิ์ในการควบคุมอย่างเต็มที่ แต่ Ubuntu และดิสทริบิวชันอื่นๆ มักปิดใช้งานสิทธิ์นี้ไว้เป็นค่าเริ่มต้นเพื่อลดความเสี่ยง
  • Sudo อนุญาตให้คุณยกระดับสิทธิ์เป็นกรณีๆ ไป และจะบันทึกว่าใครเป็นผู้เรียกใช้คำสั่งแต่ละคำสั่ง
  • สำหรับแอปพลิเคชันแบบกราฟิก มีตัวช่วยต่างๆ เช่น kdesu, gksu, gksudo หรือ pkexec ซึ่งสามารถใช้ในไฟล์เรียกใช้งาน .desktop ได้
  • ความปลอดภัยขึ้นอยู่กับการใช้สิทธิ์ขั้นต่ำสุด การหลีกเลี่ยงสคริปต์ที่ไม่น่าเชื่อถือ และการตรวจสอบการเข้าถึงระดับสูง

วิศวกรระบบที่ดูแลจัดการเซิร์ฟเวอร์ในศูนย์ข้อมูลสมัยใหม่

ใน Windows หลายคนคุ้นเคยกับการกด Shift+Enter หรือ Shift+คลิกซ้ายเพื่อเปิดโปรแกรมด้วยสิทธิ์ระดับสูงจากเมนู Start ใน Linux นั้นไม่ง่ายเสมอไป เพราะระบบรักษาความปลอดภัยอาศัยสิทธิ์root, sudo และตัวช่วยแบบกราฟิกและสภาพแวดล้อมเดสก์ท็อปแต่ละแบบก็มีเครื่องมือของตัวเอง ถึงกระนั้นก็ยังมีวิธีง่ายๆ ในการเรียกใช้แอปพลิเคชันในฐานะ root จากตัวเรียกใช้งาน ทางลัด หรือเมนูแอปพลิเคชัน แม้ว่าสิ่งสำคัญคือต้องเข้าใจว่าการทำเช่นนั้นหมายถึงอะไร

ประเด็นสำคัญคือ ผู้ใช้ root มีอำนาจควบคุมระบบอย่างสมบูรณ์และระบบปฏิบัติการรุ่นใหม่ๆ โดยเฉพาะ Ubuntu และระบบปฏิบัติการที่พัฒนาต่อยอดจาก Ubuntu มักจะปิดใช้งานการล็อกอินโดยตรง ดังนั้น การล็อกอินในฐานะ root จึงไม่ใช่เรื่องปกติ แต่จะใช้วิธีการยกระดับสิทธิ์เป็นครั้งคราวโดยใช้คำสั่ง `sudo` หรือโปรแกรมกราฟิกที่ขอรหัสผ่าน หากเราต้องการให้ไอคอนเรียกใช้งานแอปพลิเคชันด้วยสิทธิ์เหล่านั้น เราจะต้องแก้ไขคำสั่งที่ไอคอนนั้นเรียกใช้ หรือสร้างไอคอนเรียกใช้งานเฉพาะขึ้นมา

การเรียกใช้โปรแกรมในฐานะ root นั้นหมายความว่าอย่างไรกันแน่?

เวิร์กสเตชันสำหรับผู้ดูแลระบบ พร้อมจอภาพหลายจอที่แสดงเทอร์มินัล Linux

ใน Linux บัญชี root มีUID 0 และสิทธิ์ไม่จำกัดสามารถอ่าน แก้ไข หรือลบไฟล์ใดๆ ติดตั้งซอฟต์แวร์ เปลี่ยนการตั้งค่าเคอร์เนล และควบคุมกระบวนการทำงานของผู้ใช้ใดๆ ก็ได้ ทำให้เป็นเครื่องมือที่มีประสิทธิภาพอย่างเหลือเชื่อ แต่ก็มีความเสี่ยงสูงเช่นกันหากใช้โดยไม่ระมัดระวัง การพิมพ์ผิดเพียงเล็กน้อยในคำสั่ง `rm` หรือ `mv` อาจทำให้ระบบใช้งานไม่ได้ และสคริปต์ที่เป็นอันตรายซึ่งทำงานในฐานะ root สามารถติดตั้งช่องโหว่ แก้ไขมาตรการรักษาความปลอดภัย หรือขโมยข้อมูลโดยแทบไม่มีร่องรอยใดๆ

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

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

ความเสี่ยงของการใช้สิทธิ์ root โดยไม่ระมัดระวัง

หนึ่งในอันตรายที่เห็นได้ชัดที่สุดคือการลบไฟล์สำคัญโดยไม่ตั้งใจในฐานะผู้ใช้ root จะไม่มีข้อจำกัดด้านสิทธิ์การเข้าถึง คำสั่งเช่น `sudo rm -rf /` สามารถลบข้อมูลในระบบได้โดยไม่มีการแจ้งเตือนล่วงหน้า นอกจากนี้โดยปกติแล้วจะไม่มีถังรีไซเคิลสำหรับไฟล์ที่ถูกลบ ดังนั้นการกู้คืนอาจต้องใช้เครื่องมือทางนิติวิทยาศาสตร์ที่ซับซ้อน หรือแม้แต่การติดตั้งระบบใหม่ทั้งหมด

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

  แพทช์ Linux สำหรับการรองรับ RAS บนแพลตฟอร์ม Qualcomm

นอกจากนี้ยังมีปัญหาเรื่องการตรวจสอบย้อนกลับ เมื่อคุณใช้ `sudo` ระบบจะบันทึกคำสั่ง ผู้ใช้ที่ออกคำสั่ง และเวลาลงใน`/var/log/auth.log`, `/var/log/secure` หรือ `journalctl`หากคุณล็อกอินโดยตรงในฐานะ root ทุกอย่างจะปรากฏในมุมมองของ root และคุณจะสูญเสียความสามารถในการทราบว่าใครเป็นผู้ทำการเปลี่ยนแปลงแต่ละครั้ง ในสภาพแวดล้อมที่มีผู้ดูแลระบบหลายคน หรือตามมาตรฐานการตรวจสอบ ISO 27001, PCI DSS หรือมาตรฐานอื่นๆ การขาดการตรวจสอบย้อนกลับนี้ถือเป็นจุดอ่อนที่สำคัญ

วิธีการขอสิทธิ์ต่างๆ จากเทอร์มินัล

รายละเอียดภาพหน้าจอของเทอร์มินัล Ubuntu ที่แสดงบันทึกระบบและการตรวจสอบกระบวนการทำงาน

วิธีที่นิยมและแนะนำมากที่สุดคือการใส่ `sudo` นำหน้าคำสั่งเฉพาะ ตัวอย่างเช่น ในการอัปเดตแพ็กเกจ รีสตาร์ทบริการ หรือแก้ไขไฟล์ที่ได้รับการป้องกัน `sudo` จะขอรหัสผ่านของผู้ใช้ของคุณ ไม่ใช่รหัสผ่าน root และหลังจากยืนยันตัวตนของคุณแล้ว จะเรียกใช้คำสั่งด้วยสิทธิ์ที่สูงขึ้น หากคุณต้องการเรียกใช้ในฐานะผู้ใช้อื่น คุณสามารถใช้`sudo -u username command`ได้ และหากคุณรู้ตัวว่าลืมใช้ `sudo` คุณสามารถทำซ้ำคำสั่งสุดท้ายด้วย`sudo !! `

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

ในทางกลับกัน คำสั่ง `su` ใช้สำหรับสลับผู้ใช้`su - root`หรือ`su -`จะใช้ตัวแปรสภาพแวดล้อมของผู้ใช้เป้าหมายด้วย ในขณะที่`su root`หรือ `su` ที่ไม่มีเครื่องหมายขีดกลาง จะคงส่วนหนึ่งของสภาพแวดล้อมก่อนหน้าไว้ ความแตกต่างนี้อธิบายถึงข้อผิดพลาดเช่น `command not found`: คำสั่งของผู้ดูแลระบบมักจะอยู่ใน `/usr/local/sbin`, `/usr/sbin` และ `/sbin` ซึ่งเป็นพาธที่ไม่ปรากฏใน PATH ของผู้ใช้ทั่วไปเสมอไป หากคุณใช้ `su` ที่ไม่มีเครื่องหมายขีดกลาง คุณจะต้องพิมพ์พาธแบบเต็มหรือเปลี่ยนไปใช้ `su -` เพื่อรับค่า PATH ของ root

หากคุณต้องการตั้งรหัสผ่านให้กับผู้ใช้ root คุณสามารถทำได้โดยใช้คำสั่ง`sudo passwd root` Ubuntu ไม่แนะนำให้ทำเช่นนี้ แต่ในทางเทคนิคแล้วอนุญาตให้ root มีรหัสผ่านได้ หากต้องการล็อกบัญชี ให้ใช้คำสั่ง`sudo passwd -l root`และหากต้องการปลดล็อก ให้ใช้คำสั่ง `sudo passwd -u root` ใน SSH การเข้าถึง root โดยตรงจะถูกควบคุมโดย`PermitRootLogin`ใน `/etc/ssh/sshd_config` วิธีที่ปลอดภัยที่สุดคือตั้งค่าเป็น `no` หรืออย่างมากที่สุด `prohibit-password` เพื่ออนุญาตเฉพาะรหัสผ่าน SSH เท่านั้น หลังจากนั้น คุณต้องรีสตาร์ทบริการ SSH

ปรับแต่งเสื้อสเวตเตอร์ให้ถูกต้องแม่นยำ

ไฟล์`/etc/sudoers`กำหนดว่าใครสามารถใช้ `sudo` และเพื่อวัตถุประสงค์ใด ไม่ควรแก้ไขไฟล์นี้ด้วยตนเอง วิธีที่ถูกต้องคือใช้คำสั่ง`sudo visudo`ซึ่งจะล็อกไฟล์และตรวจสอบไวยากรณ์ก่อนบันทึก กฎพื้นฐานจะมีรูปแบบ `host user=(target_user)` ตัวอย่างเช่น `bob ALL=(ALL) ALL` อนุญาตให้ `bob` เรียกใช้คำสั่งใดๆ ในฐานะ root บนเครื่องใดก็ได้ นอกจากนี้ยังสามารถใช้กลุ่มได้ เช่น `%admin ALL=(ALL) ALL`

  เคอร์เนล Liquorix ใน Linux: เคอร์เนลที่ได้รับการปรับแต่งมาเพื่อใช้งานบนเดสก์ท็อปและเล่นเกม

เพื่อกำหนดสิทธิ์ที่ละเอียดขึ้น จึงมีการใช้ชื่อแทน (aliases) เช่น`User_Alias ​​​​ADMINS = alice, bob`ใช้สำหรับจัดกลุ่มผู้ใช้ และ`Cmnd_Alias ​​​​LOCATE = /usr/sbin/updatedb`ใช้สำหรับจัดกลุ่มคำสั่ง จากนั้นใช้ `ADMINS ALL = LOCATE` เพื่อให้เฉพาะผู้ใช้เหล่านั้นเท่านั้นที่สามารถเรียกใช้คำสั่งเหล่านั้นได้ สามารถสร้างชื่อแทนเช่น `NETWORKING` สำหรับคำสั่งต่างๆ เช่น `route`, `ifconfig`, `ping`, `iptables` เป็นต้น วิธีการนี้ใช้หลักการให้สิทธิ์ขั้นต่ำที่สุดโดยไม่ให้สิทธิ์ระดับ root เต็มรูปแบบแก่ใครเลย

ตัว เลือก NOPASSWDช่วยให้คุณเรียกใช้คำสั่งบางอย่างได้โดยไม่ต้องใช้รหัสผ่าน เช่น `pi ALL=(ALL)`. NOPASSWD: ALL ซึ่งสะดวก แต่ก็อันตรายหากนำไปใช้ในทางที่ผิด นอกจากนี้ ทุกครั้งที่ใช้ `sudo` จะถูกบันทึกไว้ ซึ่งช่วยในการตรวจสอบการเข้าถึงและแก้ไขปัญหา หากมีสิ่งใดผิดพลาด การตรวจสอบบันทึกเหล่านี้จะช่วยระบุได้ว่าการเปลี่ยนแปลงล่าสุดใดที่ทำให้เกิดความล้มเหลว

การเปิดใช้งานแอปพลิเคชันแบบกราฟิกในฐานะผู้ใช้ root จากตัวเรียกใช้งาน

ภาพหน้าจอเทอร์มินัล Linux ที่แสดงรายการไฟล์ในไดเร็กทอรีราก /

สำหรับโปรแกรมที่มีอินเทอร์เฟซแบบกราฟิก การใช้ `sudo` โดยตรงมักจะไม่ได้ผลดีนัก เพราะไม่มีเทอร์มินัลให้ป้อนรหัสผ่าน นี่คือจุดที่ตัวช่วยแบบกราฟิก เข้ามามี บทบาท ใน KDE มี`kdesu` : หากคุณรู้ว่าคำสั่งใดที่ใช้เปิดแอปพลิเคชัน คุณสามารถเรียกใช้ `kdesu that_command` ได้ ตัวเลือก `Run Command` ในเมนู KDE ยังช่วยให้คุณสามารถเปิดแอปพลิเคชันในฐานะผู้ใช้อื่นได้โดยการป้อนข้อมูลประจำตัวของพวกเขา ในสภาพแวดล้อม GNOME และ GTK มีการใช้ `gksu`และ`gksudo` อย่างแพร่หลาย ซึ่งเป็นส่วนหน้าสำหรับ `sudo` หรือ `su` ตัวอย่างเช่น `gksu synaptic` หรือ `gksudo gparted` จะเปิดแอปพลิเคชันและขอรหัสผ่าน

ในระบบสมัยใหม่ gksu มักไม่เป็นที่นิยมหรือถูกยกเลิกการใช้งานแล้ว ทางเลือกที่นิยมใช้แทนคือpkexecซึ่งใช้ PolicyKit เป็นพื้นฐาน โดย pkexec อนุญาตให้โปรแกรมทำงานด้วยสิทธิ์ตามนโยบายที่กำหนดไว้ โปรแกรมเรียกใช้งาน (launcher) ในปัจจุบันหลายตัวใช้ pkexec สำหรับงานด้านการดูแลระบบ แนวคิดก็เหมือนกัน คือ ผู้ใช้ไม่จำเป็นต้องเปิดเทอร์มินัล แต่ระบบจะตรวจสอบสิทธิ์ในลักษณะที่มีการควบคุม

ในการสร้างทางลัดในตัวเรียกใช้งาน คุณต้องแก้ไข ไฟล์ . desktopบรรทัด `Exec` คือหัวใจสำคัญ หากคุณต้องการให้เรียกใช้งานในฐานะผู้ใช้ root คุณสามารถใช้คำสั่งเช่น `Exec=gksu /path/to/program`, `Exec=kdesu /path/to/program` หรือ `Exec=pkexec /path/to/program` หากคุณใช้ `sudo` โดยตรง คุณจะต้องตั้งค่าตัวเรียกใช้งานให้มี `Terminal=true` หรือกำหนดค่า askpass แบบกราฟิก คุณยังสามารถลองกด Alt+F2 แล้วพิมพ์ตัวช่วยและชื่อโปรแกรม เช่น `gksu synaptic` ใน KDE คำสั่ง `kdesu synaptic` หรือตัวเลือกในการเรียกใช้งานในฐานะผู้ใช้อื่นจะทำหน้าที่คล้ายกัน

มีทางเลือกแบบคลาสสิกอีกอย่างหนึ่งคือconsolehelperซึ่งเป็นตัวห่อหุ้มสำหรับแอปพลิเคชัน GUI คุณสร้างลิงก์สัญลักษณ์ เช่น /usr/bin/xterm-root ชี้ไปยัง /usr/sbin/consolehelper จากนั้นกำหนดค่า PAM โดยการสร้าง /etc/pam.d/xterm-root ด้วยการรวม auth, account และ session จาก config-util ต่อไป คุณกำหนดค่า /etc/security/console.apps/xterm-root ด้วย USER=root และ PROGRAM=/usr/bin/xterm เมื่อคุณเรียกใช้ xterm-root consolehelper จะแจ้งให้ยืนยันตัวตน PAM และเรียกใช้ xterm ในฐานะ root หากคุณพบข้อผิดพลาด "Xlib connection to :0.0 refused by server" การเรียกใช้ xhost local:root อาจช่วยได้

อย่างไรก็ตาม การเปิดแอปพลิเคชันแบบกราฟิกในฐานะผู้ใช้ root มีข้อเสียอยู่หลายประการ ได้แก่ การผสมผสานตัวแปรสภาพแวดล้อม การทำลายเซสชันบัส ส่งผลกระทบต่อ Wayland หรือ X11 และการสร้างไฟล์ที่เป็นของ root ในไดเร็กทอรีโฮมของคุณ ทางที่ดีที่สุดคือควรใช้เฉพาะกับเครื่องมือการจัดการเฉพาะ และปิดทันทีที่ใช้งานเสร็จอย่าท่องอินเทอร์เน็ตหรือเปิดเอกสารที่น่าสงสัยในฐานะผู้ใช้ rootเพราะการโจมตีใดๆ ก็ตามจะทำให้ได้รับสิทธิ์เต็มรูปแบบ

ตัวอย่างทั่วไปของงานที่ต้องใช้สิทธิ์ระดับรูท

การดำเนินการในชีวิตประจำวันหลายอย่างจำเป็นต้องใช้สิทธิ์ระดับสูง การจัดการแพ็กเกจด้วย apt, zypper, dnf หรือ yum มักต้องใช้ sudo ตัวอย่างเช่น`sudo apt update` , `sudo apt install firefox` หรือ `sudo zypper install docker-ce` เช่นเดียวกับบริการระบบ: `sudo systemctl restart apache2` , `sudo systemctl restart ssh` หรือ `sudo systemctl restart nginx` ในการแก้ไขบัญชีผู้ใช้ ให้ใช้ `sudo usermod` และในการเปลี่ยนความเป็นเจ้าของไฟล์ ให้ใช้ `sudo chown` การแก้ไขการตั้งค่าที่สำคัญ เช่น `/etc/ssh/sshd_config` ก็จำเป็นต้องใช้สิทธิ์ root หากทำด้วย nano, vim หรือ gedit

  วิธีการซ่อม GRUB โดยไม่ต้องใช้ LiveCD ทีละขั้นตอน

คุณไม่จำเป็นต้องใช้ `sudo` สำหรับคำสั่งที่เพียงแค่ดูข้อมูลหรือไม่ได้แก้ไขระบบ เช่น `zypper repos` หรือ `systemctl status NetworkManager` การใช้ `sudo` กับทุกอย่างจนเป็นนิสัยนั้นเป็นสิ่งที่ไม่ควรทำ วิธีที่เหมาะสมคือการเพิ่มสิทธิ์การเข้าถึงเฉพาะเมื่อจำเป็นเท่านั้นแล้วจึงเปลี่ยนกลับไปใช้สิทธิ์ผู้ใช้ปกติโดยเร็วที่สุด

แนวปฏิบัติที่ดีที่สุดเมื่อทำงานกับสิทธิ์การเข้าถึงระดับสูง

ภาพระยะใกล้ของตู้แร็คเซิร์ฟเวอร์ที่มีแสงสีฟ้าส่องสว่างในศูนย์ข้อมูล

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

นอกจากนี้ ยังควรตั้งค่าสิทธิ์ sudo อย่างละเอียด ไม่ควรพึ่งพากลุ่ม sudo เพียงอย่างเดียวสำหรับทุกอย่าง และควรตรวจสอบบันทึกการใช้งานอย่างสม่ำเสมอ หากคุณดูแลเซิร์ฟเวอร์ ให้ตรวจสอบ `/var/log/auth.log`, `/var/log/secure` หรือ `journalctl -xe` เพื่อตรวจจับการใช้งานที่ไม่เหมาะสม ในสภาพแวดล้อมที่มีผู้ใช้หลายคน การรู้ว่าใครเป็นผู้เรียกใช้คำสั่งใด ๆ นั้นเป็นสิ่งสำคัญสำหรับความรับผิดชอบและการปฏิบัติตามกฎระเบียบด้านความปลอดภัย

เปิดใช้งานและปิดใช้งานรูทด้วยหัว

หากคุณตัดสินใจที่จะเปิดใช้งานการเข้าถึงระดับรูท ให้กำหนดรหัสผ่านด้วยคำสั่ง `sudo passwd root` ใช้รหัสผ่านนั้นเฉพาะสำหรับงานที่จำเป็นเท่านั้น แล้วล็อกบัญชีอีกครั้ง หากต้องการปิดใช้งานการเข้าสู่ระบบ SSH โดยตรง ให้แก้ไขไฟล์ `sshd_config` และตั้งค่า `PermitRootLogin no` หรือ `prohibit-password` จากนั้นรีสตาร์ท SSH หากต้องการล็อกบัญชีในเครื่อง ให้ใช้คำสั่ง `sudo passwd -l root` หากต้องการปลดล็อก ให้ใช้คำสั่ง `sudo passwd -u root` มาตรการเหล่านี้จะช่วยลดช่องโหว่การโจมตีและป้องกันการโจมตีแบบ Brute-force ต่อบัญชีที่มีอำนาจสูงสุด

ในกรณีส่วนใหญ่ คำตอบที่ใช้งานได้จริงสำหรับคำถามเริ่มต้นคือใช่ คุณสามารถเรียกใช้โปรแกรมจากตัวเรียกใช้งานด้วยสิทธิ์ผู้ดูแลระบบโดยใช้ตัวช่วยกราฟิก เช่น kdesu, gksu, gksudo หรือ pkexec หรือโดยการสร้างไฟล์ .desktop ด้วยคำสั่งที่เหมาะสม อย่างไรก็ตาม นี่ไม่ใช่สิ่งที่คุณควรตั้งค่าไว้สำหรับทุกแอปพลิเคชัน ควรมีตัวเรียกใช้งานสำหรับผู้ดูแลระบบโดยเฉพาะที่มีชื่อที่ชัดเจนและใช้เฉพาะเมื่อจำเป็นเท่านั้น

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