บทความเกี่ยวกับ Raspberry Pi
บทความเกี่ยวกับ Arduino
1 | การติดตั้งโปรแกรม Arduino IDE บนระบบปฏิบัติการ Windows |
บทความเกี่ยวกับ Home Automation
ระบบปฏิบัติการ Raspbian เป็นลีนุกซ์ที่รันบนราสเบอรี่พาย มีฐานการพัฒนามาจาก Debian ซึ่งก็เหมือนกับระบบปฏิบัติการอื่นๆ ที่เกิดมาจาก Linux ซึ่งเป็นระบบที่สนับสนุนผู้ใช้โปรแกรมหลายๆ คนที่สามารถล็อคอินเพื่อใช้งานราสเบอรี่พาย พร้อมๆ กันหลายๆ คน หรือเป็นระบบที่เรียกว่า Multi-user operating system เนื่องจากเป็นระบบที่สามารถใช้งานกันหลายๆ คน เพื่อความปลอดภัยของผู้ใช้และระบบปฏิบัติการ จึงมีการจำกัดสิทธิ์ผู้ใช้ในการเข้าถึงไฟล์และโฟลเดอร์ต่างๆ เพื่อรักษาความเป็นส่วนตัวของผู้ใช้แต่ละคน และเพื่อรักษาความปลอดภัยของไฟล์ระบบต่างๆ
ผู้ใช้โปรแกรมในระดับ user จะได้รับสิทธิ์การรันโปรแกรมต่างๆ และสามารถบันทึกและแก้ไขไฟล์ในโฟลเดอร์ /home ของตนเองเท่านั้น ไม่มีสิทธิ์เข้าไปเปิดดูหรือแก้ไขไฟล์ ในโฟลเดอร์ของผู้ใช้ในระดับ user คนอื่นๆ และไม่มีสิทธิ์เข้าไปแก้ไขไฟล์ต่างๆ ของระบบปฏิบัติการ Raspbian แต่มียูสเซอร์อีกประเภทหนึ่งบนระบบปฏิบัติการ Raspbian หรือระบบปฏิบัติการ Linux ที่มีสิทธิ์พิเศษเหนือ user ธรรมดาโดยทั่วไปคือ superuser ซึ่งมักจะใช้ชื่อยูสเซอร์ว่า root ยูสเซอร์ประเภทนี้มีสิทธิ์ที่จะเข้าถึงและทำอะไรก็ได้กับไฟล์และโฟลเดอร์เกือบทั้งหมดในเครื่อง รวมทั้งไฟล์และโฟลเดอร์ต่างๆ ของ user ต่างๆ ด้วย
SUDO (super user do) บ่อยครั้งที่เราป้อนคำสั่งผ่านโปรแกรม Terminal อาทิ เช่น PuTTY เรามักจะพบเสมอว่าในการติดตั้งหรืออับเดทโปรแกรม เรามักจะต้องป้อนคำสั่ง sudo นำหน้าคำสั่งต่างๆ เพื่อที่จะได้รับสิทธิ์เป็น superuser เพื่อให้สามารถจัดการแก้ไขและบันทึกไฟล์ต่างๆ ของระบบปฏิบัติการราสเบียนได้ โดยทั่วไป เรามักจะล็อคอินผ่านยูสเซอร์ pi ซึ่งเป็นยูสเซอร์ธรรมดาที่โปรแกรมสร้างมาให้ แต่มีการระบบสิทธิ์พิเศษไว้ให้สามารถใช้คำสั่ง sudo ได้ เมื่อเราล็อคอินยูสเซอร์ pi มาแล้ว หากเราจำเป็นที่จะต้องเข้าไปจัดการแก้ไขไฟล์และโฟลเดอร์ต่างๆ ของระบบหรือจำเป็นต้องติดตั้งโปรแกรมใหม่ๆ เราจะต้องขอใช้สิทธิ์พิเศษในฐานะของ superuser โดยป้อนคำสั่ง sudo นำหน้าคำสั่งต่างๆ เพื่อใช้สิทธ์ในการเป็น root ยูสเซอร์ จึงจะสามารถจัดการกับไฟล์และโฟลเดอร์ต่างๆ หรือติดตั้งโปรแกรมเพิ่มเติมได้ เมื่อเราป้อนคำสั่ง sudo นำหน้าคำสั่งต่างๆ จะทำให้เรามีสิทธิ์เท่ากับยูสเซอร์ในระดับ root ถึงแม้ว่าจะล็อคอินผ่านยูสเซอร์ธรรมดาก็ตาม พอมาถึงจุดนี้ ผู้อ่านอาจจะเข้าใจว่า ถ้ายูสเซอร์ทุกคนสามารถพิมพ์คำสั่ง sudo ได้ ก็หมายความว่า ความปลอดภัยของระบบก็ไม่มี เพราะทุกคนก็สามารถใช้สิทธิ์ root ยูสเซอร์โดยพิมพ์ sudo นำหน้าคำสั่งได้ แต่อันที่จริง ไม่ใช่ยูสเซอร์ทุกคนจะได้รับสิทธิ์นี้ เราจะต้องมีการระบุ ว่ายูสเซอร์คนใดสามารถรับสิทธิ์เป็น superuser หรือ root ได้ เนื่องจากตามที่โปรแกรมกำหนดมาให้มีเพียงยูสเซอร์ pi เท่านั้นที่เป็นยูสเซอร์ซึ่งได้รับสิทธิ์การใช้คำสั่ง sudo มาโดยอัตโนมัติ จึงสามารถใช้สิทธิ์การเป็น root ยูสเซอร์ได้ แต่ถ้าเราสร้างยูสเซอร์คนใหม่ จะต้องมีการกำหนดสิทธิ์การใช้คำสั่ง sudo เสียก่อน หากผู้ใช้คนใดไม่ได้ถูกระบุให้สามารถใช้ sudo ผู้ใช้คนนั้นก็จะไม่สามารถใช้คำสั่ง sudo เพื่อใช้สิทธิ์การเป็น root ยูสเซอร์ได้ มาถึงจุดนี้ เราพอจะเข้าใจแล้วว่าระบบยังมีความปลอดภัย ตัวอย่าง เช่น โดยปกติ เมื่อเราต้องการติดตั้งโปรแกรมใหม่ เราจะต้องพิมพ์คำสั่ง apt-get install แล้วตามด้วยชื่อโปรแกรม ในที่นี้คือโปรแกรม kodi แต่เมื่อเราพิมพ์คำสั่ง apt-get install kodi แล้วจะปรากฏข้อความดังนี้
โปรแกรมรายงานว่า ไม่สามารถเปิดไฟล์ได้และถูกปฏิเสธในการเข้าถึงไฟล์ Permission denied และถามว่าเราเป็น root ยูสเซอร์หรือไม่ แล้วออกจากคำสั่ง โดยที่ไม่ได้ติดตั้งโปรแกรมให้ เนื่องจากเราไม่ได้ใช้สิทธิ์เป็น root ยูสเซอร์ แต่ถ้าเราพิมพ์คำสั่ง sudo นำหน้า คือ sudo apt-get install kodi ดังรูปข้างล่างนี้ เราก็จะได้รับสิทธิ์การติดตั้งโปรแกรมได้ เป็นต้น
อนึ่ง นอกจากการใช้ sudo นำหน้าคำสั่ง เพื่อให้ได้รับสิทธิ์เป็น root ยูสเซอร์แล้ว เรายังสามารถใช้ Shell command เพื่อให้สามารถใช้สิทธิ์การเป็น root ยูสเซอร์ได้อย่างต่อเนื่อง โดยไม่ต้องเสียเวลาพิมพ์คำสั่ง sudo นำหน้าคำสั่งต่างๆ หลายๆไ ครั้ง โดยเราสามารถพิมพ์ sudo su เพื่อเข้าสู่โหมด shell command ดังรูปข้างล่างนี้
คำสั่งต่างๆ ที่ป้อนต่อๆ ไปจะได้รับสิทธิ์การเป็น root ทั้งหมด โดยไม่ต้องพิมพ์ sudo นำหน้า จนกว่าเราจะออกจากโหมด shell โดยพิมพ์คำสั่ง exit หรือกดปุ่ม Ctrl+D สังเกตุว่า เมื่อเข้าสู่ shell โหมดพร้อมท์(Prompt) จะเปลี่ยนจาก pi@raspberrypi:~ $ เป็น root@raspberrypi:/home/pi#
อย่างที่ได้กล่าวไว้ในตอนต้นว่า ถ้าผู้ใช้ทุกคนสามารถใช้คำสั่ง sudo ได้ ระบบก็จะไม่มีความปลอดภัย แต่เราสามารถระบุสิทธิ์การใช้ sudo ได้ โดยผู้ที่จะกำหนดสิทธิ์จะต้องได้รับสิทธิ์การใช้คำสั่ง sudo จึงจะสามารถกำหนดสิทธิ์ให้กับยูสเซอร์คนอื่นๆ ที่จะถูกสร้างใหม่ได้ โดยแก้ไข้ไฟล์ sudoers ในโฟลเดอร์ /etc หรือเพิ่มยูสเซอร์เข้าไปในกลุ่ม sudo ยูสเซอร์ด้วยคำสั่ง usermod สามารถพิมพ์คำสั่ง sudo nano /etc/sudoers เราจึงจะกำหนดสิทธิ์การใช้คำสั่ง sudo ให้กับยูสเซอร์ได้
เป็นอันว่าในบทความนี้ เราก็รู้จักกับ root ยูสเซอร์และยูสเซอร์ธรรมดา และเข้าวิธีการใช้งานคำสั่ง sudo ในเบื้องต้นแล้ว
*******************************
หน้าที่เข้าชม | 859,455 ครั้ง |
ผู้ชมทั้งหมด | 384,604 ครั้ง |
เปิดร้าน | 6 ม.ค. 2560 |
ร้านค้าอัพเดท | 8 ก.ย. 2568 |