การใช้งาน POSIX ACL บทลินุกซ์ ตอนที่ 1

โดยดั้งเดิมการกำหนดสิทธิในการอ่านหรือแก้ไขไฟล์หรือไดเร็คทอรี บน Linux/UNIX นั้น จะถูกกำหนดในรูปแบบของ permission โดยจะแบ่งเป็น สามส่วนใหญ่ๆ คือ user, group และ others แต่การใช้งานโดยทั่วไปแล้ว เช่นผ่าน File Server ถ้าเปรียบเทียบกับการกำหนดสิทธิบน Windows แล้ว บางครั้งเราอาจต้องการกำหนดรายละเอียดย่อยมากกว่านั้น เช่น ให้มากกว่า 1 user หรือ มากกว่า 1 group เข้ามีสิทธิเกี่ยวกับไฟล์เช่น คนนี้อ่านได้อย่างเดียว กลุ่มนี้อ่านได้ แล้วเขียนได้ด้วย ซึ่งรูปแบบ permission จะไม่สามารถทำได้

ถ้าต้องการกำหนดสิทธิโดยละเอียดมากขึ้น บน Linux จะมีคุณสมบัติ POSIX ACL หรือ Extended ACL ให้สามารถเรียกใช้งานได้ โดยคุณสมบัตินี้ติดตั้งมากับ Linux นานพอสมควร  โดยไม่ต้องติดตั้งโปรแกรมอะไรเพิ่มเติม

Continue reading “การใช้งาน POSIX ACL บทลินุกซ์ ตอนที่ 1”

การแปลง Linux man page ให้เป็น HTML

man page บางคำสั่งบน Linux/UNIX นั้น นอกจากจะอธิบายวิธีการใช้งานโปรแกรมแล้ว จะพูดถึงพื้นฐานของคำสั่งนั้นด้วยด้วย บางคำสั่งมีขนาดยาวมากๆ หลายหน้าจอ ซึ่งอาจไม่สะดวกอ่าน หรือทำให้เมื่อยล้าต่อการศึกษาทำความเข้าใจ โดยเฉพาะส่วนตัวผมเองนั้น ไม่ชอบการอ่านบนหน้าจอนานๆ

วิธีการหนึ่งที่ผมใช้คือ ผมจะแปลงไฟล์ manual page ให้เป็นไฟล์ HTML โดยใช้คำสั่ง man2html ก่อนเพื่อนำไปสั่งพิมพ์ ซึ่งข้อดีนอกจากการจัดรูปแบบตัวอักษรของไฟล์ HTML แล้ว ยังมีการสร้างลิ้งค์เชื่อมโยงในแต่ละหัวข้อให้ด้วย ซึ่งจะสะดวกในการอ้างอิง

Continue reading “การแปลง Linux man page ให้เป็น HTML”

คอนฟิก Serial Port เพื่อใช้เป็น Console Redirection บนลินุกซ์

ในบางครั้งที่เกิดปัญหากับลินุกซ์จนทำให้ไม่สามารถจะ login, telnet หรือ ssh เข้าไปที่ตัวเครื่องได้ ซึ่งอาจเนื่องมาจาก network ที่ต่ออยู่มีปัญหาหรืออาจจะเป็นปัญหาอื่นๆ

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

วิธีการหนึ่งที่ทำได้ แต่ต้องคอนฟิกไว้ตั้งแต่ตอนต้น ก่อนเกิดปัญหาคือ การใช้ console ผ่านทาง Serial Port หรือ COM Port ของเครื่อง โดยคอนฟิกพอร์ตนี้ให้ทำหน้าที่เป็น console ของเครื่อง แล้วใช้เครื่องอื่นๆ เช่น notebook ต่อสาย console เข้าไป ก็สามารถที่จะ login ผ่าน console ได้ ถ้าเปรียบเทียบก็เหมือนกับใช้ notebook ต่อสาย console เข้ากับอุปกรณ์ network ที่มีแต่ Serial Port เท่านั้น เช่น Cisco, 3Com, Alcatel,..

Continue reading “คอนฟิก Serial Port เพื่อใช้เป็น Console Redirection บนลินุกซ์”

ทดสอบแก้ไขดิสก์ที่มีปัญหาใน Software-RAID บนลินุกซ์

หลังจากที่เราคอนฟิก Software RAID จากบทความที่ผ่านมาแล้ว ในบทความนี้จะกล่าวถึงวิธีการทดสอบในกรณีที่ดิสก์มีปัญหา วิธีการแก้ไข การป้องกันโดยเพิ่มดิสก์เพื่อทำหน้าที่เป็น spare

Continue reading “ทดสอบแก้ไขดิสก์ที่มีปัญหาใน Software-RAID บนลินุกซ์”

การสร้าง Software RAID บนลินุกซ์

ในบทความนี้จะอธิบายการสร้างคอนฟิก Software RAID บนลินุกซ์ เพื่อเป็นการป้องกันข้อมูลเสียหายอันเนื่องมาจากดิสก์ที่ใช้เก็บ (Physical Disk) มีปัญหา

การสร้าง disk partition สำหรับทำ Software RAID
การทำ Software RAID บนลินุกซ์นั้น จะทำบน disk Parition ดังนั้นเราต้องแบ่ง parition ของดิสก์ให้เรียบร้อยก่อน โดยขนาดของแต่ละ partition ที่จะนำมารวมกันนั้น ควรจะมีขนาดเท่ากัน ซึ่งจริงๆ แล้วควรจะเป็นดิสก์ยี่ห้อเดียวกัน รุ่นเดียวกันด้วย เพื่อประสิทธิภาพดีที่สุด

Continue reading “การสร้าง Software RAID บนลินุกซ์”

Linux Shell : การใช้คำสั่ง grep เพื่อค้นหาคำในไฟล์

วิธีการทำงานของคำสั่ง grep คือจะอ่านไฟล์ที่เราต้องการค้นหาทีละบรรทัด แล้วดูว่าตรง (match) กับคำหรือรูปแบบที่เราต้องการค้นหาหรือไม่ ซึ่งผลลัพธ์โดยดีฟอลต์ที่ได้จากการรันคำสั่ง จะแสดงผลลัพธ์เป็นบรรทัดต่างๆ ที่ตรงกับคำหรือรูปแบบนั้นๆ

Continue reading “Linux Shell : การใช้คำสั่ง grep เพื่อค้นหาคำในไฟล์”

Linux Shell : ดึงฟิลด์ที่ต้องการด้วยคำสั่ง cut

ในบทความนี้จะอธิบายการใช้คำสั่ง cut และเปรียบเทียบความเร็วที่ได้ ระหว่างการใช้คำสั่ง cut และการเขียนโปรแกรมเป็น PHP เพื่อดึงฟิลด์ที่ต้องการจากไฟล์ โดยใช้คำสั่ง time เพิ่มต่อหน้าการรันคำสั่งเพื่อแสดงผลเวลาที่ใช้ไปในการประมวลผล

โจทย์ : มีไฟล์ที่เป็นรูปแบบตัวหนังสือ (text-based) โดยในแต่ละบรรทัดเก็บข้อมูลเป็นฟิลด์ต่างๆ ที่อยู่ในรูปแบบเดียวกัน คั่นด้วยเครื่องหมาย , (comma) : (colon) หรืออื่นๆ

ความต้องการคือ ให้ดึงเฉพาะฟิลด์ที่ 3 ออกมาจากไฟล์ มาแสดงผลออกหน้าจอ

ตัวอย่างเช่นไฟล์ /etc/passwd ซึ่งจะเก็บข้อมูลต่างๆ ของบัญชีผู้ใช้งาน (User Account) บนระบบ UNIX/Linux โดยฟิลด์ต่างๆ จะคั่นด้วยเครื่องหมาย : colon

Continue reading “Linux Shell : ดึงฟิลด์ที่ต้องการด้วยคำสั่ง cut”

ใช้คำสั่ง snmpwalk เพื่อเก็บ MAC Address จาก Cisco Catalyst Switch

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

หลังจากค้นคว้าทดลองอยู่พอสมควร ได้ผลลัพธ์ตามที่ต้องการแล้ว เลยขอนำมาเรียบเรียง โดยจะอธิบายเฉพาะวิธีการใช้คำสั่ง snmpwalk เพื่อดึงค่า MAC Address จาก Cisco Catalyst Switch

Continue reading “ใช้คำสั่ง snmpwalk เพื่อเก็บ MAC Address จาก Cisco Catalyst Switch”

ดูรายละเอียดไฟล์ iso บนลินุกซ์

ในบางครั้งเมื่อเรามีไฟล์อยู่ในรูปแบบ iso ซึ่งเป็นได้มาจากการทำ image ของ CD หรือ DVD ก็ตาม ก่อนที่จะนำมาใช้งานเพื่อ write ใส่แผ่น ถ้าเราต้องการตรวจสอบดูว่าในไฟล์ iso นั้น มีไฟล์อะไรอยู่บ้าง ตามที่เราต้องการหรือไม่

วิธีการดูรายละเอียดไฟล์ที่อยู่ใน iso สามารถทำได้โดยง่าย บนลินุกซ์ดังนี้

ตรวจสอบข้อมูลของไฟล์ในเบื้องต้น
บนลินุกซ์จะมีคำสั่ง file เพื่อใช้ตรวจสอบว่าไฟล์เป็นไฟล์ในรูปแบบไหน

ตัวอย่างการใช้คำสั่ง file ตรวจสอบไฟล์ iso สำหรับติดตั้ง Fedora 9

[root@images iso]# file Fedora-9-x86_64-DVD.iso
Fedora-9-x86_64-DVD.iso: ISO 9660 CD-ROM filesystem data 'Fedora 9 x86_64 DVD            ' (bootable)

ตรวจสอบรายละเอียดภายในไฟล์ iso
หลังจากดูข้อมูลในเบื้องต้นแล้ว ว่าเป็นไฟล์ในรูปแบบ iso เราสามารถใช้คำสั่ง mount เพื่อดูไฟล์ที่อยู่ใน iso ไฟล์นี้ได้ ดังนี้

[root@images iso]# mount -o loop Fedora-9-x86_64-DVD.iso /media/
[root@images iso]# ls /media/
GPL       media.repo                     repodata          RPM-GPG-KEY-fedora          RPM-GPG-KEY-rawhide
images    Packages                       RPM-GPG-KEY       RPM-GPG-KEY-fedora-rawhide  TRANS.TBL
isolinux  README-BURNING-ISOS-en_US.txt  RPM-GPG-KEY-beta  RPM-GPG-KEY-fedora-test

ในตัวอย่างนี้หลังจากการ mount เข้ากับ /media/ แล้ว เราสามารถดูไฟล์ต่างๆ ได้ ซึ่งจริงๆ ก็สามารถใช้งานไฟล์เหล่านี้ได้โดยตรงเลย แต่เป็นแบบอ่านไฟล์ได้อย่างเดียวเท่านั้น ไม่สามารถแก้ไขได้ ซึ่งก็เหมือนกับเราเรียกใช้งานจากแผ่น CD หรือ DVD นั่นเอง เพียงแต่ไม่จำเป็นต้องนำไปเขียนใส่แผ่น CD หรือ DVD อีกต่อไป

ยกเลิกการ mount
หลังจากใช้งานเรียบร้อย ถ้าเราต้องการยกเลิกการ mount ก็สามารถทำได้โดยใช้คำสั่ง umount

[root@images iso]# umount /media/

ปรับปรุง samba เป็นเวอร์ชั่นล่าสุดใน Fedora 9

หลังจาก ติดตั้ง Fedora 9 แบบประหยัดพื่นที่สุด ในบทความนี้ จะแนะนำวิธีการปรับปรุง (update) และติดตั้งโปรแกรม Samba เพิ่มเติม เพื่อเตรียมเครื่องสำหรับคอนฟิกทำหน้าที่เป็น Samba PDC ต่อไป

เวอร์ชั่นของ Samba ที่ติดตั้งมาพร้อมกับ Fedora 9 นั้น ปรับปรุงมาจาก pre-release ซึ่งตอนต้นเดือนกรกฎาคม Samba ได้ออกเวอร์ชั่น 3.2 แบบสมบูรณ์มา ดังนั้นก่อนที่จะนำไปคอนฟิกต่อไป แนะนำให้ปรับปรุงเป็นเวอร์ชั่นล่าสุด

Continue reading “ปรับปรุง samba เป็นเวอร์ชั่นล่าสุดใน Fedora 9”