คำสั่ง ของ User สูงสุด หรือ Root ในลีนุ๊ค SUDO และ CHMOD บน Linux

SUDO (สูดู) หรือ Super User Do (ซูปเปอร์ ยูเซอ ดู) คือคำสั่งที่ใช้สำหรับเปิดใช้สิทธิ์การ ROOT (รูท) และเราจะเห็นใช้งานกันมากในเครื่อง Linux เพื่อที่เราจะสามารถจัดการกับไฟล์และโฟลเดอร์ต่างๆ หรือติดตั้งโปรแกรมเพิ่มเติมได้ เมื่อเราป้อนคำสั่ง sudo นำหน้าคำสั่งต่างๆ จะทำให้เรามีสิทธิ์เท่ากับยูสเซอร์ในระดับ root ถึงแม้ว่าจะล็อคอินผ่านยูสเซอร์ธรรมดาก็ตาม  พอมาถึงจุดนี้ ทุกคนอาจจะเข้าใจว่า ถ้ายูสเซอร์ทุกคนสามารถพิมพ์คำสั่ง sudo ได้ ก็หมายความว่า ความปลอดภัยของระบบก็ไม่มี เพราะทุกคนก็สามารถใช้สิทธิ์ root ยูสเซอร์โดยพิมพ์ sudo นำหน้าคำสั่งได้ แต่อันที่จริง ไม่ใช่ยูสเซอร์ทุกคนจะได้รับสิทธิ์นี้ เราจะต้องมีการระบุ ว่ายูสเซอร์คนใดสามารถรับสิทธิ์เป็น superuser หรือ root ได้ เนื่องจากตามที่โปรแกรมกำหนดมาให้มีเพียงยูสเซอร์ pi เท่านั้นที่เป็นยูสเซอร์ซึ่งได้รับสิทธิ์การใช้คำสั่ง sudo มาโดยอัตโนมัติ จึงสามารถใช้สิทธิ์การเป็น root ยูสเซอร์ได้  แต่ถ้าเราสร้างยูสเซอร์คนใหม่ จะต้องมีการกำหนดสิทธิ์การใช้คำสั่ง sudo เสียก่อน หากผู้ใช้คนใดไม่ได้ถูกระบุให้สามารถใช้ sudo  ผู้ใช้คนนั้นก็จะไม่สามารถใช้คำสั่ง sudo เพื่อใช้สิทธิ์การเป็น root ยูสเซอร์ได้ ถ้าจะให้เข้าใจง่ายๆคือการใช้ sudo นั้นเวลาที่ท่านใช้จริง หลังจากพิมพ์ sudo เพื่อทำอะไรสักอย่าง มันจะให้เราใส่รหัสผ่านไปก่อน (โปรดทราบว่า การใช้คำสั่ง su นั้น ทำให้เรามีเวลาคิดทบทวนก่อนใช้คำสั่งนั้นๆ เพราะคำสั่งใน OS ตระกูล Linux ในฐานะ root นั้น ทำได้ทุกอย่าง และทันที ไม่สามารถ undo ได้ ผมเคย sudo มั่ว จนได้ลง OS ใหม่มาแล้ว ดังนั้นการใช้งาน sudo ควรใช้งานด้วยความระมัดระวัง)

คำสั่ง sudo เบื้องต้น

sudo apt-get update
คือ อัพเดทฐานข้อมูลของแพ็กเก็จทั้งหมด รันคำสั่งนี้เมื่อเปลี่ยนแปลงไฟล์ /etc/apt/sources.list
sudo apt-cache search <keyword>
 คือ ค้นหาแพ็กเก็จที่ต้องการติดตั้ง เช่น sudo apt-cache search firefox
sudo apt-get install <package>
คือ การดาวน์โหลด และติดตั้งแพ็กเก็จ
 
sudo apt-get -d install <package>​
คือ ดาวน์โหลดแพ็กเก็จเก็บไว้ใน /var/cache/apt/archives แต่ไม่ติดตั้ง
sudo apt-cache show <package>
คือ แสดงข้อมูลรายละเอียดของแพ็กเก็จ
sudo apt-get upgrade   
คือ เชคดูว่าแพ็กเก็จที่ติดตั้งไปทั้งหมดมีเพ็กเก็จใดมีการอัพเดทบ้าง ต่อจากนั้นก็จะถามว่าต้องการดาวน์โหลดและติดตั้ง
sudo apt-get autoclean
คือ ลบแพ็กเก็จที่ดาวน์โหลดมาไม่สมบูรณ์ หรือแพ็กเก็จที่ไม่ได้ใช้ติดตั้งแล้ว
sudo apt-get clean 
คือ ลบทุกแพ็กเก็จที่ดาวน์โหลดมาเก็บอยู่ที่ /var/cache/apt/archives
sudo apt-get -f install 
 คือ กรณีที่มีความผิดพลาดเกิดขึ้นในขณะที่กำลังติดตั้งแพ็กเก็จ เช่น สั่งยกเลิก หรือ ไฟฟ้าดับ แล้วใช้คำสั่ง apt-get install  แล้วมีข้อความ error สามารถใช้คำสั่ง apt-get -f install ช่วยแก้ปัญหาได้ sudo apt-config -v คือ แสดงเวอร์ชัน และ ราย ละเอียดของ APT utilities
sudo apt-get remove <package>
คือ ลบแพ็กเก็จที่ติดตั้งไปแล้ว
sudo apt-get purge name
 คือ เหมือนกับ remove แต่จะลบ ไฟล์คอนฟิคด้วย
sudo add-apt-repository ppa:name
คือ เพิ่ม repository (ต้องลง python-software-properties ก่อน)

 

คำสั่ง CHMOD

           CHMOD คือ ค่า Permission หรืออธิบายเป็นไทยคือ ค่าของความมีสิทธิ์ในการเข้าถึง และใช้งาน File หรือ Directory นั้น ๆ ซึ่ง CHMOD จะมีค่าต่าง ๆ แบ่งเป็นตัวเลข 3 หลัก เช่น 755, 777 เป็นต้น ในความหมายของเลขแต่ละหลักทั้ง 3 หลัก จะมีความหมายดังนี้

 ตารางแบ่งตามกลุ่มผู้ใช้
 Owner(หลักที่1)  Group(หลักที่ 2) Others & Public (หลักที่3)
Execute  Write Read  Execute  Write Read  Execute   Write  Read
4 2 1 4 2 1 4 2 1
 Example : 755 = Owner (7), Group (5), Other (5)

 *Owner คือ เจ้าของไฟล์, Group คือ กลุ่มผู้ใช้งานรวมกับเจ้าของไฟล์, Other & Public คือ กลุ่มผู้ใช้งานจากภายนอก

Execute คือการ อนุญาตให้สั่งไฟล์หรือ Directory

Write คือการ อนุญาตให้เขียนไฟล์หรือ Directory

Read คือการ อนุญาตให้อ่านไฟล์หรือ Directory

ยกตัวอย่างเช่น 777 ก็คือ เปิดสิทธ์ทั้งหมดกลุ่มผู้ใช้ โดยที่

Owner(หลักที่1) จะนำเอา 4+2+1=7 

Group(หลักที่ 2) 4+2+1=7 

Others & Public (หลักที่3) 4+2+1=7

ผลลัพท์คือ 777

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
การใช้งานฟังก์ชัน Window ใน Selenium เพื่อจัดการกับหน้าต่างของเบราว์เซอร์
โดย athirach.offcial ศ 29 มี.ค. 2024 2:36 pm บอร์ด Software testing
0
162
ศ 29 มี.ค. 2024 2:36 pm โดย athirach.offcial View Topic การใช้งานฟังก์ชัน Window ใน Selenium เพื่อจัดการกับหน้าต่างของเบราว์เซอร์
การใช้ Selenium เพื่อส่งคีย์ (send_keys) ไปยังฟิลด์ค้นหา
โดย athirach.offcial ศ 29 มี.ค. 2024 1:57 pm บอร์ด Software testing
0
222
ศ 29 มี.ค. 2024 1:57 pm โดย athirach.offcial View Topic การใช้ Selenium เพื่อส่งคีย์ (send_keys) ไปยังฟิลด์ค้นหา
selenium การใช้ driver.get เพื่อเข้าสู่เว็บไซต์โดยอัตโนมัติ
โดย athirach.offcial ศ 29 มี.ค. 2024 1:50 pm บอร์ด Software testing
0
250
ศ 29 มี.ค. 2024 1:50 pm โดย athirach.offcial View Topic selenium การใช้ driver.get เพื่อเข้าสู่เว็บไซต์โดยอัตโนมัติ
พิมพ์ pdf จาก excel สามารถกำหนดให้พิมพ์บนล่างก่อนแล้วค่อยไปพิมพ์ซ้ายไปขวาได้มั้ยคะ
โดย MBMoo ศ 29 มี.ค. 2024 1:34 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
3
217
ศ 29 มี.ค. 2024 1:48 pm โดย mindphp View Topic พิมพ์ pdf จาก excel สามารถกำหนดให้พิมพ์บนล่างก่อนแล้วค่อยไปพิมพ์ซ้ายไปขวาได้มั้ยคะ
เมธอด dict() ในการพัฒนาระบบ Python การสร้างพจนานุกรมอย่างมีประสิทธิภาพ
โดย athirach.offcial พฤ 28 มี.ค. 2024 12:33 pm บอร์ด Python Knowledge
0
368
พฤ 28 มี.ค. 2024 12:33 pm โดย athirach.offcial View Topic เมธอด dict() ในการพัฒนาระบบ Python การสร้างพจนานุกรมอย่างมีประสิทธิภาพ
การใช้งาน filter() กรองตัวเลขหรือตัวอักษรในภาษา Python
โดย athirach.offcial พฤ 28 มี.ค. 2024 12:16 pm บอร์ด Python Knowledge
0
135
พฤ 28 มี.ค. 2024 12:16 pm โดย athirach.offcial View Topic การใช้งาน filter() กรองตัวเลขหรือตัวอักษรในภาษา Python
เมธอด strip() ใน Python การใช้งานเพื่อลบตัวอักษรที่กำหนด
โดย athirach.offcial พฤ 28 มี.ค. 2024 12:03 pm บอร์ด Python Knowledge
1
397
ศ 29 มี.ค. 2024 9:24 am โดย athirach.offcial View Topic เมธอด strip() ใน Python การใช้งานเพื่อลบตัวอักษรที่กำหนด
Attribute ในภาษา Python: วิธีกำหนดค่าและใช้งาน
โดย athirach.offcial พฤ 28 มี.ค. 2024 11:37 am บอร์ด Python Knowledge
0
107
พฤ 28 มี.ค. 2024 11:37 am โดย athirach.offcial View Topic Attribute ในภาษา Python: วิธีกำหนดค่าและใช้งาน