คำสั่ง ของ 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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
การปรับเปลี่ยน
โดย freewere พฤ 29 ก.ค. 2010 10:42 am บอร์ด Programming - PHP
2
1214
ศ 30 ก.ค. 2010 2:39 pm โดย mindphp View Topic การปรับเปลี่ยน
สอบถาม Code php เรื่องการโพสรูปน่ะครับ
โดย kingkong27 พ 28 ก.ค. 2010 12:39 pm บอร์ด Programming - PHP
3
1855
ศ 30 ก.ค. 2010 1:55 am โดย imsn View Topic สอบถาม Code php เรื่องการโพสรูปน่ะครับ
Designbkkhost, โดเมน, โฮสติ้ง, domain, hosting, reseller, จดโดเมน, เช่าโฮส, ราคา
โดย idezmax พฤ 29 ก.ค. 2010 3:32 am บอร์ด Web Hosting Review - Free Host Share Host VPS
0
1684
พฤ 29 ก.ค. 2010 3:32 am โดย idezmax View Topic Designbkkhost, โดเมน, โฮสติ้ง, domain, hosting, reseller, จดโดเมน, เช่าโฮส, ราคา
จะ redirect ไปที่หน้า index โดยมีชื่อที่ล็อกอินด้วย...
โดย Anonymous พ 28 ก.ค. 2010 2:15 pm บอร์ด Programming - PHP
1
1356
พฤ 29 ก.ค. 2010 12:21 am โดย mindphp View Topic จะ redirect ไปที่หน้า index โดยมีชื่อที่ล็อกอินด้วย...
ถามเรื่องการควบคุมภาวะพร้อมกัน....โดยไม่ใช้การ lock
โดย Anonymous พ 28 ก.ค. 2010 2:50 pm บอร์ด Programming - PHP
4
1205
ศ 30 ก.ค. 2010 2:35 pm โดย mindphp View Topic ถามเรื่องการควบคุมภาวะพร้อมกัน....โดยไม่ใช้การ lock
background นิ่ง ๆ ในแบบนี้ทำยังไงครับ รบกวนด้วยนะคร้าบบบบบ
โดย imjp27 ส 24 ก.ค. 2010 10:08 am บอร์ด HTML CSS
2
3006
พ 28 ก.ค. 2010 12:35 pm โดย imjp27 View Topic background นิ่ง ๆ ในแบบนี้ทำยังไงครับ รบกวนด้วยนะคร้าบบบบบ
Javascript เปิดหน้าใหม่ แบบ popup พร้อมทั้งใส่ properties ให้ windown ใหม่
โดย mindphp พ 28 ก.ค. 2010 3:30 am บอร์ด AJAX Javascript Library - jQuery
0
7287
พ 28 ก.ค. 2010 3:30 am โดย mindphp View Topic Javascript เปิดหน้าใหม่ แบบ popup พร้อมทั้งใส่ properties ให้ windown ใหม่
อยากรู้วิธีเขียนโค๊ด php เชื่อมฐานข้อมูล database ใน sql2005 ครับ
โดย dusittorn อ 27 ก.ค. 2010 5:01 pm บอร์ด SQL - Database
1
5173
อ 27 ก.ค. 2010 5:15 pm โดย mindphp View Topic อยากรู้วิธีเขียนโค๊ด php เชื่อมฐานข้อมูล database ใน sql2005 ครับ