Tuesday, December 26, 2006

Monday, December 25, 2006

music.exe (virus)

Hi ^^
ไวรัส music.exe

การตรวจสอบว่าเราติดไวรัสตัวนี้หรือไม่
- Ctrl+Alt+Del
ดูที่ Tab process
ถ้ามัน มี music.exe อยู่ แสดงว่าคุณติดมันแล้วครับ

อาการ
- เราจาไม่สามารถ double click ที่ทุกๆ ไดรว์ได้เลยแต่เราแค่สามารถคลิกขวาแล้วจึง Open มันได้
- ใน folder ทุกๆ อันมันจะมีไฟล์ที่มีชื่อเหมือนกับ ชื่อ folder ของมัน เช่น ใน folder ชื่อ a แล้วใน folder นี้ก็จะ มี a.exe ปรากฏอยู่ครับ
- ไฟล์ที่มีนามสกุล mp3 หรือ ไฟล์ karaoke มันจะหายไปเพราะไอ้ไวรัสตัวนี้มันจาไปลบมันคับ

วิธีแก้
- Start->Run พิมพ์ regedit แล้วเข้าไปตาม path นี้ครับ
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
จะมี “music”=”C:\\music.exe” จะรอช้าอยู่ใย ลบมันออกมันซะ
- ยังไม่หมดครับ ให้เราเข้าไป C:\Windows\ แล้วมองหาไฟล์ backup.reg ชื่อเหมือนไฟล์ระบบเราเลย แต่อย่าไปสนใจครับไอ้ตัวนี้อ่ะตัวดี ลบมันซะ
- จากนั้นเราก็ เปิด (โดยการคลิกขวาแล้วจึง open นะ)My Computer ขึ้นมาเข้าไปแก้ Hidden file ให้แสดง มันจะเห็นไฟล์ music.exe กับ autorun อยู่ แต่เดี๋ยวก่อนอย่าพึ่งไปลบมันครับ
- ให้ไปลบ music.exe และ autorun ที่มันมีใจแต่ละ drive ในเครื่องคอมพิวเตอร์ของเรา ถ้าเรามี แฟรชไดรว์เราก็ต้องเข้าไปตรวจสอบมันด้วยนะครับ
- ให้เราเปิด task list ด้วยการกด Ctrl+Alt+Del แล้วเลือก Application มั AccessDriveAndFile ให้เรา End process มันซะ

แล้วก็ restart เครื่องขึ้นมาใหม่อาการที่เราไม่สามารถ double click ในแต่ละ drive ได้นั้นก็จะกลับมาเป็นปกติครับ แต่ว่าชื่อ folder ที่เป็น exe มันก็ยังอยู่ครับ เราสามารถ ค้นหาแล้วลบมันด้วยการ search ไฟล์ในระบบ ให้ค้นหาแบบ advance ให้เราแสดงไฟล์แบบ detail เพื่อจะดูขนาดมันแล้วก็ ค้นหาไฟล์ *.exe ที่มีขนาด ของ folder.exe ครับ

*อย่าไป double click มันนะครับ ไอ้ชื่อ folder .exe อ่ะ

ไม่แน่ใจว่าจะได้ผลมั้ยนะ ก็คัดลอกบทความนี้มาจากที่อื่นอีกทีครับ

Saturday, December 23, 2006

Ubuntu /var/lock/mrtg

Hi ^^

root@JUI:/etc/mrtg# mrtg router-traffic.cfg
Saturday, 23 December 2006 at 17:19: ERROR: Creating templock /var/lock/mrtg/ectory at /usr/bin/mrtg line 1757.

root@JUI:/etc/mrtg# env LANG=C /usr/bin/mrtg router-traffic.cfg
Saturday, 23 December 2006 at 17:26: ERROR: Creating templock /var/lock/mrtg/router-traffic.cfg_l_21684: No such file or directory at /usr/bin/mrtg line 1757.

Ref Solution
(high) Bug #30428:

/var/lock/mrtg disappears on reboot


Description (edit)

In current dapper /var/lock/mrtg -directory disappears on reboot.
Without this directory mrtg won't run, and won't update stats.
Creation of this directory as root makes it work again, but it will disappear again on reboot.


Solve

add "mkdir /var/lock/mrtg" to /etc/rc.local



การเปลี่ยนภาษา​​​ใน​​ xfce

Hi ^^ Ref

​​เคยแนะนำ​​​ไป​​​แล้ว​​​ใน​​​เรื่องของการติดตั้ง​​ Xubuntu ​​วันนี้​​​เลยมา​​​เพิ่มเติมเกี่ยว​​​กับ​​ xfce ​​ซะหน่อย​​ ​​ซึ่ง​​​ครั้งนี้​​​จะ​​​ขอพูด​​​ถึง​​​เรื่องของการสลับแป้นพิมพ์นะครับ​​ ​​คือปกติน่ะ​​​เครื่องมันก็พิมพ์ภาษาอังกฤษ​​​ได้​​(แหงล่ะ) ​​ทีนี้​​​จะ​​​ทำ​​​ไง​​​ให้​​​พิมพ์ภาษา​​​ไทย​​​ได้
ขั้นแรก ​​เปิดไฟล์​​ /etc/X11/xorg.conf
ต่อมา​​! ​​ต่อมาก็หนีสิ​​​เดี๋ยวมันต่อยเอา​​(แป่ว) ​​เพิ่มสองบรรทัดข้างล่างลงไปแถวๆ​​ Section "InputDevice"
Option "XkbLayout" "us,th"
Option "XkbOptions" "grp:alt_shift_toggle"

เสร็จ​​​แล้ว​​​หน้าตา​​​จะ​​​ประมาณนี้

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us,th"
Option "XkbOptions" "grp:alt_shift_toggle"
EndSection

​​รีสตาร์ท​​ X ​​ครับ​​ ​​หรือ​​​ง่ายๆ​​​ก็รีสตาร์ทเครื่องนั่นแหล่ะ

Thursday, December 14, 2006

Wednesday, December 13, 2006

Thai language problem in firefox

Hi ^^ Ref

#apt-get install libthai-dev
หรือ libthai0

แล้ว​​​ไฟร์ฟอกซ์ก็​​​จะ​​​ตัดคำ​​​ได้​​ ​​แต่ปัญหาคือ​​ ​​อักระที่​​​เป็น​​ tab ​​จะ​​​โชว์ขึ้นมา​​​เป็น​​​ก้อนสี่​​​เหลี่ยมที่​​​เป็น​​​รหัสภาษา​​ ​​วิธี​​​แก้​​​ให้​​​ติดตั้ง​​ extension ​​ลงไปอีกตัวครับ​​ ​​ชื่อว่า​​ Thai Words Separator ​​แล้ว​​​รีสตาร์ทไฟร์ฟอกซ์​​​ใหม่​​ ​​คุณก็​​​จะ​​​ได้​​​พบ​​​กับ​​​การแสดงผลหน้า​​​เว็บเพจที่ตัดคำ​​​สวยงาม ​​​ไม่​​​มีก้อนสี่​​​เหลี่มมากวนใจอีกต่อไป​​​แล้ว​​​ครับ​​

คำ​สั่ง​ Unix ​ที่​ใช้​เป็น​ประจำ

ที่มา: http://www.vwin.co.th/document.php?node=4

Unix ​เป็น​ระบบปฏิบัติการที่นิยม​ใช้​กับ​แพร่หลายบนระบบขนาด​ใหญ่​ ​และ​ใน​ปัจจุบัน​ยัง​มีระบบปฏิบัติการ​ใน​ลักษณะของ​ Unix-like ​เกิดขึ้นมากมาย​ ​และ​ ​เริ่ม​เป็น​ที่นิยม​ใช้​กัน​มากหลายยิ่งขึ้นบนเครื่องคอมพิวเตอร์​ส่วน​บุคคล​ ​เอกสารชุดนี้​จึง​สรุปคำ​สั่งบน​ Unix ​ที่มัก​ใช้​เป็น​ประจำ​โดย​มีการยกตัวอย่างเปรียบเทียบ​กับ​ DOS/Windows ​พร้อม​กับ​อธิบาย​ถึง​ส่วน​ขยายเพิ่มเติมของคำ​สั่ง​ ​เพื่ออำ​นวย​ความ​สะดวก​ให้​กับ​ผู้​เริ่มหัด​ใช้​ Unix ​ทั่ว​ไป

ความ​รู้พื้นฐานเกี่ยว​กับ​ Unix ​ที่ควรทราบ

  1. Unix ​เป็น​ระบบปฏิบัติการแบบ​ Multi User ​และ​ Multi Tasking ​ซึ่ง​แตกต่าง​จาก​ Window ​ที่​เป็น​ระบบปฏิบัติการแบบ​ Multi Tasking ​แต่​ไม่​เป็น​ Multi User ​กล่าวคือ​ ​ณ​ ​เวลาหนึ่งๆ​ ​บนระบบ​ Unix ​จะ​มี​ผู้​ใช้​งานเครื่องคอมพิวเตอร์​ได้​มากกว่า​ 1 ​คนพร้อม​กัน​ ​ทำ​ให้​ Unix ​มีระบบการจัดการ​ Permission ​และ​ระบบรักษา​ความ​ปลอดภัยของข้อมูลดีกว่า​และ​ซับซ้อนกว่า​ DOS/Window
  2. ระบบ​ File System ​ของ​ Unix ​นั้น​จะ​เป็น​ระบบ​ Single Root ​กล่าวคือ​จะ​มี​ Logical Driver ​เพียง​ Drive ​เดียว​เท่า​นั้น​ ​และ​กรณีมี​ Harddisk ​หลายตัว​หรือ​หลาย​ Partition ​แต่ละ​ Partition ​จะ​ถูกกำ​หนด​ให้​เป็น​เพียง​ Directory ​ย่อยของระบบ​ ​ซึ่ง​จะ​ต่าง​กับ​ DOS/Window ​ที่​เป็น​ระบบ​ Multiple Root ​ที่​จะ​แยก​ Drive / Parition ​ตามตัวอักษร​ ​เช่น​ A: , C: ​เป็น​ต้น
  3. เนื่อง​จาก​ Unix ​เป็น​ระบบปฏิบัติการที่พัฒนา​ด้วย​ภาษา​ C ​ดัง​นั้น​ชื่อต่างๆ​ ​บน​ Unix ​จึง​มีลักษณะ​เป็น​ Case-sensitive ​เช่น​ ​กรณี​แฟ้มข้อมูลชื่อ​ MyFile ​กับ​ myfile ​จะ​เป็น​แฟ้มข้อมูลคนละชื่อ​กัน​
  4. ระบบ​ Permission ​ของ​ Unix ​จะ​แบ่ง​เป็น​ 3 ​ระดับคือ​ ​ระดับเจ้าของ​ (User ​หรือ​ Owner) ​ระดับกลุ่ม​ (Group) ​และ​ ​ระดับบุคคล​อื่น​ (Other) ​โดย​ใน​แต่ละระดับ​จะ​แบ่งออก​เป็น​สิทธิ​ใน​การประมวลผล​ (execute) ​การอ่าน​ (read) ​และ​ ​การเขียน​ (write) ​ทั้ง​รายละ​เอียดเพิ่มเติม​ให้​ดู​จาก​คำ​สั่ง​ chmod
  5. กรณีที่​ผู้​ใช้​กระทำ​คำ​สั่ง​ใด​ผิดพลาด​นั้น​ ​บน​ Unix ​เรา​สามารถ​ที่​จะ​ Interrupt ​เพื่อยกเลิกการทำ​งานของคำ​สั่ง​หรือ​โปรแกรม​นั้นๆ​ ​ได้​โดย​การกด​ CTRL + C
  6. มาตรฐานของระบบ​ Keyboard ​บนเครื่อง​ Unix ​บางเครื่องอาจ​จะ​แตกต่าง​กับ​มาตรฐาน​ Keyboard ​บนเครื่องที่​เรา​ใช้​อยู่​ ​ดัง​นั้น​ใน​บางกรณี​ ​เช่น​ ​การ​ telnet ​จาก​เครื่อง​อื่น​เข้า​สู่ระบบ​ Unix ​เรา​จึง​ไม่​อาจ​ใช้​ Key ​บางอันตามปกติ​ได้​ ​เช่น​ backspace ​ดัง​นั้น​เพื่ออำ​นวย​ความ​สะดวก​ให้​เรา​สามารถ​ใช้​ backspace ​ได้​ตามปกติ​จึง​ต้อง​มีการ​ map key ​ใหม่​ด้วย​การเรียกคำ​สั่ง​ stty erase [backspace]

คำ​สั่งเกี่ยว​กับ​การจัดการแฟ้มข้อมูล

ls

เป็น​คำ​สั่งที่​ใช้​สำ​หรับแสดงแฟ้มข้อมูล​ ​(​ใน​ทำ​นองเดียว​กับ​ dir) ​มาก​จาก​คำ​ว่า​ list

โครงสร้างคำ​สั่ง

ls [option]... [file]...

โดย​ option ​ที่มัก​ใช้​กัน​ใน​ ls ​คือ

-l ​จะ​แสดงผลลัพธ์​แบบ​ Long Format ​ซึ่ง​จะ​แสดง​ Permission ​ของแฟ้ม​ด้วย

-a ​จะ​แสดงแฟ้มข้อมูล​ทั้ง​หมด

-F ​จะ​แสดง​ / ​หลัง​ Directory ​และ​ * ​หลังแฟ้มข้อมูลที่​ execute ​ได้​

ตัวอย่าง

ls -l

ls -al

ls -F

ls /usr/bin

แหล่งข้อมูลเพิ่มเติม​ : ls --help ​และ​ man ls

cp

เป็น​คำ​สั่งที่​ใช้​สำ​หรับสำ​เนา​แฟ้มข้อมูล​ ​(​ใน​ทำ​นองเดียว​กับ​ copy) ​มา​จาก​คำ​ว่า​ copy

โครงสร้างคำ​สั่ง

cp source target

ตัวอย่าง

cp test.txt test1.bak

แหล่งข้อมูลเพิ่มเติม​ : cp --help ​และ​ man cp

mv

เป็น​คำ​สั่งที่​ใช้​สำ​หรับการย้ายแฟ้มข้อมูล​และ​ Directory ​รวม​ถึง​การเปลี่ยนชื่อ​ด้วย​ ​(​ใน​ทำ​นองเดียว​กับ​ move) ​มา​จาก​คำ​ว่า​ move

โครงสร้างคำ​สั่ง

mv source target

ตัวอย่าง

mv *.tar /backup

mv test.txt old.txt

mv bin oldbin

แหล่งข้อมูลเพิ่มเติม​ : mv --help ​และ​ man mv

rm

เป็น​คำ​สั่งที่​ใช้​สำ​หรับลบแฟ้มข้อมูล​ ​(​ใน​ทำ​นองเดียว​กับ​ del) ​มา​จาก​คำ​ว่า​ remove

โครงสร้างคำ​สั่ง

rm [option]... [file]...

โดย​ option ​ที่มัก​ใช้​กัน​ใน​ rm ​คือ

-r ​ทำ​การลบข้อมูล​ใน​ directory ​ย่อยทั่งหมด

-i ​โปรแกรม​จะ​ถามยืนยันก่อนทำ​การลบ

-f ​โปรแกรม​จะ​ลบข้อมูลทันที​ ​โดย​ไม่​ถามยืนยันก่อน

ตัวอย่าง

rm -rf test/

rm test.doc

แหล่งข้อมูลเพิ่มเติม​ : rm --help ​และ​ man rm

คำ​สั่งเกี่ยว​กับ​การจัดการ​ Directory / Folder

pwd

เป็น​คำ​สั่งที่​ใช้​สำ​หรับแสดง​ Directory ​ปัจจุบัน​ ​(​ใน​ทำ​นองเดียว​กับ​การพิมพ์​ cd ​บน​ DOS) ​มา​จาก​คำ​ว่า​ print work directory

โครงสร้างคำ​สั่ง​ / ​ตัวอย่าง

pwd

cd

เป็น​คำ​สั่งที่​ใช้​สำ​หรับเปลี่ยน​ directory ​ปัจจุบัน​ ​(​ใน​ทำ​นองเดียว​กับ​ cd) ​มา​จาก​คำ​ว่า​ change directory

โครงสร้างคำ​สั่ง

cd directory

โดย​ directory ​ใน​ที่นี้อาจ​เป็น​ relative ​หรือ​ absolute path ​ก็​ได้​

ตัวอย่าง

cd /usr

cd ~ ​(​เป็น​การ​เข้า​สู่​ home directory)

cd - ​(​เป็น​การยกเลิกคำ​สั่ง​ cd ​ครั้งก่อน)

cd .. ​(​เป็น​การออก​จาก​ directory 1 ​ชั้น

ข้อควรระวัง​ : ​คำ​สั่ง​ cd ​บน​ UNIX ​จะ​ต้อง​มี​เว้นวรรคเสมอ

mkdir

เป็น​คำ​สั่งที่​ใช้​สำ​หรับการสร้าง​ directory ​(​ใน​ทำ​นองเดียว​กับ​ dos) ​มา​จาก​คำ​ว่า​ make directory

โครงสร้างคำ​สั่ง

mkdir [option]... [file]...

โดย​ option ​ที่มัก​ใช้​กัน​ใน​ mkdir ​คือ

-m ​จะ​ทำ​การกำ​หนด​ Permissioin ​(​ให้​ดูคำ​สั่ง​ chmod ​เพิ่มเติม)

-p ​จะ​ทำ​การสร้าง​ Parent Directory ​ให้​ด้วย​กรณีที่​ยัง​ไม่​มีการระบุ

directory ​ใน​ที่นี้อาจ​เป็น​ relative ​หรือ​ absolute path ​ก็​ได้​

ตัวอย่าง

mkdir /home

mkdir -p -m755 ~/local/bin

แหล่งข้อมูลเพิ่มเติม​ : mkdir --help ​และ​ man mkdir

rmdir

เป็น​คำ​สั่งที่​ใช้​สำ​หรับการลบ​ directory ​(​ใน​ทำ​นองเดียว​กับ​ dos) ​มา​จาก​คำ​ว่า​ remove directory

โครงสร้างคำ​สั่ง

rmdir [option]... [file]...

โดย​ option ​ที่มัก​ใช้​กัน​ใน​ mkdir ​คือ

-p ​จะ​ทำ​การลบ​ Child ​และ​ Parent Directory ​ตามลำ​ดับ

directory ​ใน​ที่นี้อาจ​เป็น​ relative ​หรือ​ absolute path ​ก็​ได้​

ตัวอย่าง

rmdir /home

mkdir -p /home/local/data

แหล่งข้อมูลเพิ่มเติม​ : rmdir --help ​และ​ man rmdir

คำ​สั่งเกี่ยว​กับ​การ​ค้น​หา​แฟ้มข้อมูล​ ​และ​ Permission

file

บนระบบ​ DOS/Windows ​นั้น​ ​ประ​เภทของแฟ้มข้อมูล​จะ​ถูกระบุ​ด้วย​นามสกุล​ ​แต่​ใน​ UNIX ​จะ​ไม่​มีนามสกุลเพื่อ​ใช้​ระบุประ​เภทของแฟ้มข้อมูล​ ​ดัง​นั้น​การหาประ​เภทของแฟ้มข้อมูล​จะ​ดู​จาก​ Context ​ภาย​ใน​ของแฟ้ม​ ​ซึ่ง​คำ​สั่ง​ file ​จะ​ทำ​การอ่าน​ Content ​และ​บอกประ​เภทของแฟ้มข้อมูล​นั้นๆ

โครงสร้างคำ​สั่ง

file [option]... file

ตัวอย่าง

file /bin/sh

file report.doc

แหล่งข้อมูลเพิ่มเติม​ : file --help ​และ​ man file

find

เป็น​คำ​สั่งที่​ใช้​สำ​หรับ​ค้น​หา​แฟ้มข้อมูล

โครงสร้างคำ​สั่ง

find [path].. expression

ลักษณะของ​ expression ​เช่น

-name [pattern] ​เพื่อ​ใช้​หาชื่อ​ file ​ตาม​ pattern ​ที่ระบุ

-perm [+-] mode ​เพื่อ​ใช้​หา​ file ​ตาม​ mode ​ที่​ต้อง​การ

-user NAME ​หา​ file ​ที่​เป็น​ของ​ user ​ชื่อ​ NAME

-group NAME ​หา​ file ​ที่​เป็น​ของ​ group ​ชื่อ​ NAME

ตัวอย่าง

find -name *.doc

find /usr -perm +111 (หา​แฟ้มที่มี​ Permission ​อย่างน้อย​เป็น​ 111)

แหล่งข้อมูลเพิ่มเติม​ : file --help ​และ​ man file

chown

ใช้​สำ​หรับเปลี่ยนเจ้าของแฟ้มข้อมูล​หรือ​ Directory

โครงสร้างคำ​สั่ง

chown [option]... owner[:group] file ​หรือ

chown [option]... :group file

โดย​ option ​ที่มัก​ใช้​กัน​ใน​ chown ​คือ

-R ​เปลี่ยน​ Permission ​ของทุกๆ​ ​แฟ้มย่อย​ใน​ Directory

ตัวอย่าง

chown krerk:users /home/krerk

chown nobody data.txt

แหล่งข้อมูลเพิ่มเติม​ : chown --help ​และ​ man chown

chgrp

ใช้​สำ​หรับเปลี่ยนกลุ่มเจ้าของแฟ้มข้อมูล​หรือ​ Directory

โครงสร้างคำ​สั่ง

chgrp [option]... group file

โดย​ option ​ที่มัก​ใช้​กัน​ใน​ chgrp ​คือ

-R ​เปลี่ยน​ Permission ​ของทุกๆ​ ​แฟ้มย่อย​ใน​ Directory

ตัวอย่าง

chgrp users /home/krerk

chown nobody data.txt

แหล่งข้อมูลเพิ่มเติม​ : chgrp --help ​และ​ man chgrp

chmod

ใช้​สำ​หรับเปลี่ยนเจ้าของแฟ้มข้อมูล​หรือ​ Directory

โครงสร้างคำ​สั่ง

chmod [option]... mode[mode] file ​หรือ

chmod [option]... octalmode file

โดย​ option ​ที่มัก​ใช้​กัน​ใน​ chown ​คือ

-R ​เปลี่ยน​ Permission ​ของทุกๆ​ ​แฟ้มย่อย​ใน​ Directory

และ​การอ้างอิง​ mode ​จะ​ใช้​ตัวอักษร​ u g o a + - r w x X s t u g o ​โดย

u ​หมาย​ถึง​ User ​ผู้​เป็น​เจ้าของแฟ้ม

g ​หมาย​ถึง​ Group ​ผู้​เป็น​เจ้าของแฟ้ม

o ​หมาย​ถึง​ ​บุคคล​อื่นๆ

a ​หมาย​ถึง​ ​ทุกๆ​ ​กลุ่ม

r ​หมาย​ถึง​ ​สิทธิ​ใน​การอ่าน

w ​หมาย​ถึง​ ​สิทธิ​ใน​การเขียน​/​แก้​ไข

w ​หมาย​ถึง​ ​สิทธิ​ใน​การ​ execute ​หรือ​ ​ค้น​หา​ ​(​ใน​กรณีของ​ Directory)

ส่วน​ s t u g ​และ​ o ​นั้น​ ​จะ​ขอกล่าว​ถึง​ใน​เอกสารเรื่อง​ Unix Permission ​ต่อไป

เนื่อง​จาก​ผลลัพธ์ของคำ​สั่ง​ ls -l ​จะ​แสดง​เป็น​ลำ​ดับ​ ​ดังตัวอย่างต่อไปนี้

$ ls -l krerk.jpg
-rw-r--r-- 1 pok pok 13201 ​เม​.​ย​. 21 2000 krerk.jpg

ดัง​นั้น​ ​การเขียน​ Permission ​อาจ​จะ​เขียน​ได้​เป็น​เลขฐาน​ 8 ​เช่น​ 644 ​หมาย​ถึง​ 110100100 ​ซึ่ง​จะ​ตรง​กับ​ rw-r--r- ​เป็น​ต้น

ตัวอย่าง

chmod 750 /home/krerk (แก้​ไข​ได้​(เขียน)​ได้​เฉพาะ​เจ้าของแฟ้ม​ ​และ​สามารถ​ execute ​ได้​เฉพาะกลุ่ม​และ​เจ้าของ​เท่า​นั้น)

chmod 644 data.txt (rw-r--r-- ​เจ้าของแฟ้ม​ ​อ่าน​และ​เขียน​ได้​ ​กลุ่มเจ้าของแฟ้ม​และ​บุคคล​อื่นๆ​ ​อ่าน​ได้​ )

(เพื่อประกอบ​ความ​เข้า​ใจ​ ​ให้​ผู้​ใช้​ลองเปลี่ยน​ mode ​และ​ดูผลลัพธ์​ด้วย​ ls -l)

แหล่งข้อมูลเพิ่มเติม​ : chmod --help ​และ​ man chmod

คำ​สั่งเกี่ยว​กับ​การดู​ ​และ​ ​แก้​ไขข้อมูล​ใน​แฟ้มข้อมูล

cat

ใช้​สำ​หรับดูข้อมูลภาย​ใน​แฟ้มข้อมูล​ ​หรือ​ Standard Input ​และ​แสดงผลออกมาทาง​ Standard Output ​(​ใน​ทำ​นองเดียว​กัน​กับ​คำ​สั่ง​ type) ​มา​จาก​คำ​ว่า​ concatinate

โครงสร้างคำ​สั่ง

cat [optioin]... [file]

โดย​ option ​ที่มัก​ใช้​กัน​ใน​ chown ​คือ

-n ​เพื่อทำ​การแสดงเลขบรรทัด

ตัวอย่าง

cat data.txt

cat file1.txt file2.txt > file3.txt (นำ​ข้อมูล​ใน​ file1.txt ​และ​ file2.txt ​มาต่อ​กัน​ ​แล้ว​เก็บ​ไว้​ใน​ file3.txt)

แหล่งข้อมูลเพิ่มเติม​ : cat --help ​และ​ man cat

more

สืบ​เนื่อง​จาก​คำ​สั่ง​ cat ​ไม่​เหมาะ​กับ​การดูข้อมูลที่มี​ความ​ยาวมากๆ​ ​ดัง​นั้น​ ​จึง​ได้​มีการพัฒนา​ more ​ขึ้น​ ​เพื่อ​ช่วย​ให้​สามารถ​ดูข้อมูลที่มีขนาดยาว​ได้​เป็น​ช่วงๆ

โครงสร้างคำ​สั่ง

more file

ภาย​ใน​โปรแกรม​ more ​จะ​มีคำ​สั่งเพื่อ​ใช้​งานคราวๆ​ ​ดังนี้

= ​แสดงเลขบรรทัด

q ​ออก​จาก​โปรแกรม

​เลื่อนไป​ยัง​หน้าถัดไป

​เลื่อนไป​ยัง​บรรทัดถัดไป

h ​แสดง​ help

ตัวอย่าง

more data.txt

แหล่งข้อมูลเพิ่มเติม​ : man more ​และ​ help ​ของ​ more

less

less ​เป็น​การพัฒนาคำ​สั่ง​ more ​ให้​มีประสิทธิภาพมากขึ้น​ ​เนื่อง​จาก​ more ​จะ​ไม่​สามารถ​ดูข้อมูลย้อนหลัง​ได้​ less ​จึง​เป็น​ปรับปรุง​และ​เพิ่มเติมเงื่อนไขบางอย่าง​ให้​ more

โครงสร้างคำ​สั่ง

less file

ตัวอย่าง

less data.txt

แหล่งข้อมูลเพิ่มเติม​ : man less ​และ​ help ​ของ​ less

head

จะ​แสดง​ส่วน​หัวของแฟ้มข้อมูล​ ​ตามจำ​นวนบรรทัดที่​ต้อง​การ

โครงสร้างคำ​สั่ง

head [option] file

โดย​ option ​ที่มัก​ใช้​กัน​ใน​ chown ​คือ

-n ​เพื่อทำ​การระบุบรรทัดที่​ต้อง​การ​ (หาก​ไม่​ระบุ​จะ​เป็น​ 10 ​บรรทัด)

ตัวอย่าง

head data.txt

head -n 10 data.txt

แหล่งข้อมูลเพิ่มเติม​ : head --help ​และ​ man head

tail

จะ​แสดง​ส่วน​ท้ายของแฟ้มข้อมูล​ ​ตามจำ​นวนบรรทัดที่​ต้อง​การ

โครงสร้างคำ​สั่ง

tail [option] file

โดย​ option ​ที่มัก​ใช้​กัน​ใน​ chown ​คือ

-n ​เพื่อทำ​การระบุบรรทัดที่​ต้อง​การ​ (หาก​ไม่​ระบุ​จะ​เป็น​ 10 ​บรรทัด)

-c ​เพื่อระบุจำ​นวน​ byte

ตัวอย่าง

tail data.txt

tail -n 10 data.txt

แหล่งข้อมูลเพิ่มเติม​ : tail --help ​และ​ man tail

คำ​สั่งเกี่ยว​กับ​ผู้​ใช้​ ​และ​ ​การสื่อสาร

whoami

ใช้​เพื่อแสดงว่า​ผู้​ใช้​ซึ่ง​ login ​เข้า​สู่ระบบ​นั้น​ (ตัวเรา​เอง) login ​ด้วย​ชื่ออะ​ไร​

โครงสร้างคำ​สั่ง​/​ตัวอย่าง

whoami ​หรือ

who am i (บน​ SUN OS ​หรือ​ UNIX ​บางตัว​เท่า​นั้น)

who

ใช้​เพื่อแสดงว่ามี​ผู้​ใช้​ใด​บ้างที่กำ​ลังทำ​งาน​อยู่​บนระบบ

โครงสร้างคำ​สั่ง​/​ตัวอย่าง

who

finger

ใช้​สำ​หรับแสดงรายละ​เอียดของ​ผู้​ใช้

โครงสร้างคำ​สั่ง

finger [user@host] ​หรือ

finger [@host]

กรณี​ไม่​ระบุชื่อ​ finger ​จะ​แสดงรายละ​เอียดของ​ User ​ที่กำ​ลัง​ logon ​อยู่​บนเครื่อง​นั้นๆ​ ​ทั้ง​หมด​ ​ซึ่ง​หาก​ไม่​ระบุ​ host ​ด้วย​ ​โปรแกรม​จะ​ถือว่าหมาย​ถึง​เครื่องปัจจุบัน

ตัวอย่าง

finger

finger krerk@vwin.co.th

finger krerk

finger @student.netserv.chula.ac.th

แหล่งข้อมูลเพิ่มเติม​ : man finger

talk

ใช้​สำ​หรับการพูดคุยระหว่าง​ผู้​ใช้​ด้วย​กัน​บนระบบ​ ​ซึ่ง​ผู้​ใช้​ทั้ง​ทั้ง​ 2 ​ฝ่าย​จะ​ต้อง​พิมพ์คำ​สั่ง​ Talk ​ถึง​กัน​ก่อน​ ​จึง​จะ​เริ่มการสนทนา​ได้

โครงสร้างคำ​สั่ง

talk user[@host] [tty]

กรณี​ไม่​ระบุ​ host ​โปรแกรม​จะ​ถือว่าหมาย​ถึง​เครื่องปัจจุบัน​ (นอก​จาก​นี้​ยัง​มีคำ​สั่ง​ ytalk ​ซึ่ง​สามารถ​พูดคุย​ได้​พร้อม​กัน​มากกว่า​ 2 ​คน) ​ซึงบางกรณี​เราอาจ​จะ​ต้อง​ระบุ​ tty ​ด้วย​หากมี​ผู้​ใช้​ Log in ​เข้า​สู่ระบบ​ด้วย​ชื่อเดียว​กัน​มากกว่า​ 1 ​หน้าจอ

ตัวอย่าง

talk krerk@vwin.co.th

แหล่งข้อมูลเพิ่มเติม​ : man talk

write

จะ​ใช้​เพื่อการส่งข้อมูลทางเดียว​จาก​ผู้​เขียนไป​ถึง​ผู้​รับบนเครื่องเดียว​กัน​เท่า​นั้น

โครงสร้างคำ​สั่ง

write user [tty]

เมื่อมีการพิมพ์คำ​สั่ง​ write ​ผู้​ใช้​จะ​เห็นข้อ​ความ​ซึ่ง​จะ​แสดงว่าข้อ​ความ​ดังกล่าวถูกส่งมา​โดย​ใคร​ ​ซึ่ง​หาก​ผู้​รับ​ต้อง​การตอบกลับ​ ​ก็​จะ​ต้อง​ใช้​คำ​สั่ง​ write ​เช่น​กัน​ ​เมื่อพิมพ์​เสร็จ​แล้ว​ให้​พิมพ์ตัวอักษร​ EOF ​หรือ​ ​กด​ CTRL+C ​เพื่อ​เป็น​การ​ interrupt ​ทั้ง​นี้ข้อ​ความ​ที่พิมพ์หลัง​จาก​ write ​จะ​ถูกส่งหลัง​จาก​การกด​ Enter ​เท่า​นั้น

ตัวอย่าง

write krerk

แหล่งข้อมูลเพิ่มเติม​ : man write

mesg

จะ​ใช้​เพื่อควบคุมว่า​ผู้​อื่น​มีสิทธิที่​จะ​ส่งข้อ​ความ​ write ​ถึง​เรา​หรือ​ไม่

โครงสร้างคำ​สั่ง

mesg [y | n]

โดย​ option ​มี​ความ​หมายคือ

y - ​หมาย​ถึง​ผู้​อื่น​มีสิทธิที่​จะ​ส่งข้อ​ความ​ถึง​เรา

n - ​หมาย​ถึง​ผู้​อื่น​มี​ไม่​สิทธิที่​จะ​ส่งข้อ​ความ​ถึง​เรา

ตัวอย่าง

mesg y

mesg n

แหล่งข้อมูลเพิ่มเติม​ : man mesg

คำ​สั่ง​ทั่ว​ไป​ / ​อื่นๆ

man

เพื่อ​ใช้​แสดงรายละ​เอียดข้อมูลของคำ​สั่ง​ ​หรือ​ ​วิธีการ​ใช้​แฟ้มข้อมูลต่างๆ​ ​มา​จาก​คำ​ว่า​ manual

โครงสร้างคำ​สั่ง

man [section]... manpage

โดย​ section ​ต่างๆ​ ​ของ​ manpage ​คือ

1 ​จะ​เป็น​ User Command

2 ​จะ​เป็น​ System Calls

3 ​จะ​เป็น​ Sub Routines

4 ​จะ​เป็น​ Devices

5 ​จะ​เป็น​ File Format

ตัวอย่าง

man printf

man 1 ls

แหล่งข้อมูลเพิ่มเติม​ : man man

tar

ใช่​เพื่อการ​ backup ​และ​ restore file ​ทั้ง​นี้การ​ tar ​จะ​เก็บ​ทั้ง​โครงสร้าง​ directory ​และ​ file permission ​ด้วย​ (เหมาะสำ​หรับการเคลื่อนย้าย​ ​หรือ​แจกจ่ายโปรแกรมบนระบบ​ UNIX) ​มา​จาก​คำ​ว่า​ tape archive

โครงสร้างคำ​สั่ง

tar [option]... [file]...

โดย​ option ​ที่มัก​ใช้​กัน​ใน​ echo ​คือ

-c ​ทำ​การสร้าง​ใหม่​ (backup)

-t ​แสดงรายชื่อแฟ้มข้อมูล​ใน​แฟ้มที่​ backup ​ไว้

-v ​ตรวจสอบ​ความ​ถูก​ต้อง​ของการประมวลผล

-f ​ผลลัพธ์ของมาที่​ file

-x ​ทำ​การ​ restore

ตัวอย่าง

tar -cvf mybackup.tar /home/*

tar -tf mybackup.tar

tar -xvf mybackup.tar

แหล่งข้อมูลเพิ่มเติม​ : tar --help ​และ​ man tar

alias

เพื่อกำ​หนด​ macro ​ให้​ใช้​คำ​สั่ง​ได้​สะดวกมากขึ้น​ (แบบเดียว​กัน​กับ​การกำ​หนด​ macro ​ด้วย​ doskey)

โครงสร้างคำ​สั่ง

alias macroname='command'

ตัวอย่าง

alias ll='ls -F -l'

แหล่งข้อมูลเพิ่มเติม​ : man ​ของ​ Shell ​ที่​ใช้​อยู่

echo

แสดงข้อ​ความ​ออกทาง​ standard output

โครงสร้างคำ​สั่ง

echo [option]... msg

โดย​ option ​ที่มัก​ใช้​กัน​ใน​ echo ​คือ

-n ​ไม่​ต้อง​ขึ้นบรรทัด​ใหม่

ตัวอย่าง

echo -n "Hello"

echo "Hi.."

free -k

แหล่งข้อมูลเพิ่มเติม​ : man echo

free

แสดงหน่วย​ความ​จำ​ที่​เหลือ​อยู่​บนระบบ

โครงสร้างคำ​สั่ง

free [-b|-k|-m]

โดย​ option ​ที่มัก​ใช้​กัน​ใน​ free ​คือ

-b ​แสดงผลลัพธ์​เป็น​หน่วย​ byte

-k ​แสดงผลลัพธ์​เป็น​หน่วย​ kilobyte

-m ​แสดงผลลัพธ์​เป็น​หน่วย​ megabyte

ตัวอย่าง

free

free -b

free -k

แหล่งข้อมูลเพิ่มเติม​ : free--help ​และ​ man free

sort

ใช้​เพื่อทำ​การจัดเรียงข้อมูล​ใน​แฟ้มตามลำ​ดับ​ ​(​ทั้ง​นี้​จะ​ถือว่าข้อมูลแต่ละบรรทัด​เป็น​ 1 record ​และ​จะ​ใช้​ field ​แรก​เป็น​ key)

โครงสร้างคำ​สั่ง

sort [option] file

ตัวอย่าง

sort data.txt

แหล่งข้อมูลเพิ่มเติม​ : sort --help ​และ​ man sort

การ​ Redirection ​และ​ Pipe

ทั้ง​ DOS/Windows ​และ​ UNIX ​ต่างก็มี​ความ​สามารถ​ใน​การ​ Redirection ​และ​ Pipe ​ด้วย​กัน​ทั้ง​สิ้น​ ​ซึ่ง​ประ​โยชน์ของการ​ Redirection ​และ​ ​การ​ Pipe ​คือการที่​สามารถ​นำ​โปรแกรม​เล็กๆ​ ​หลายโปรแกรมมา​ช่วย​กัน​ทำ​งานที่ซับซ้อนมายิ่งขึ้น​ได้

​การ​ Pipe ​คือการนำ​ผลลัพธ์ที่​ได้​จาก​โปรแกรมหนึ่ง​ ​ไป​เป็น​อินพุทของอีกโปรแกรมหนึ่ง​ ​เช่น​

ls | sort

เป็น​การนำ​ผลลัพธ์ที่​ได้​จาก​ ls ​ส่ง​เป็น​อินพุต​ให้​โปรแกรม​ sort ​ทำ​งานต่อ​เป็น​ต้น

การ​ Redirection ​คือการเปลี่ยนที่มาของอินพุต​ ​และ​ ​เอาพุตที่​แสดงผลลัพธ์​ ​จาก​ Keyboard ​หรือ​ ​จอ​ Monitor ​เป็น​แฟ้มข้อมูล​ ​หรือ​ Device ​ต่างๆ​ ​เช่น

ls >list.txt

​เป็น​การนำ​ผลลัพธ์ที่​ได้​จาก​ ls ​เก็บลง​ใน​แฟ้มข้อมูลชื่อ​ list.txt ​เป็น​ต้น

ทั้ง​นี้​ ​การ​ Redirection ​จะ​เป็น​การสร้างแฟ้มข้อมูล​ใหม่​เสมอ​ ​ใน​กรณีที่​ต้อง​การเขียนข้อมูลต่อท้ายอาจทำ​ได้​โดย​การ​ใช้​ >> ​แทน​ > ​เช่น

ls >list.txt

pwd >> list.txt

ผลลัพธ์​จาก​คำ​สั่ง​ pwd ​จะ​แสดงต่อท้ายผลลัพธ์​จาก​คำ​สั่ง​ ls ​ใน​ list.txt

ใน​ทำ​นองเดียว​กัน​ ​เรา​สามารถ​ใช้​ Redirection ​เพื่อรับข้อมูล​จาก​ File ​ได้​ซึ่ง​จะ​ช่วย​ให้​เรา​สามารถ​ Run Program ​ที่​ต้อง​การ​ Input ​แบบ​ Batch ​ได้​ ​(​ซึ่ง​จะ​กล่าว​ถึง​ใน​การเขียน​ Shell Script ​ต่อไป)

ใช้​คำ​สั่ง​ Unix ​บน​ DOS/Windows

ปัจจุบัน​ได้​มี​ผู้​ Port ​โครงสร้าง​และ​ Utility ​ของ​ Unix ​ไป​ยัง​ Window ​หรือ​ WindowNT ​ภาย​ใต้​ชื่อ​ Project “Cygwin” ​ซึ่ง​ผู้​ใช้​สามารถ​ทำ​งานบน​ Window ​ได้​เหมือน​กับ​การทำ​งานบน​ Unix ​ทุกประการ​ ​ทั้ง​นี้รวม​ถึง​การพัฒนา​โปรแกรม​ด้วย​ ​ซึ่ง​ใน​ปัจจุบัน​ Project ​ดังกล่าวดู​แล​โดย​ RedHat ​ดัง​นั้น​หาก​ผู้​อ่านท่าน​ใด​มี​ความ​สนใจ​ ​สามารถ​หาข้อมูลเพิ่มเติม​และ​ Download ​ได้​จาก​ http://www.cygwin.com/ ​หรือ​ http://www.cygnus.com/

นอก​จาก​นี้​ยัง​มีการ​ Port ​โปรแกรมต่างๆ​ ​ใน​โครงการของ​ GNU ​ไป​ยัง​ระบบ​ DOS ​ภาย​ใต้​ชื่อ​ DJGPP ​ซึ่ง​ประกอบไป​ด้วย​ Compiler ​และ​โปรแกรมต่างๆ​ ​บน​ Unix ​โดย​สามารถ​หาข้อมูลเพิ่มเติม​ได้​จาก​ http://www.gnu.org/

ตารางเปรียบเทียบการ​ใช้​คำ​สั่งระหว่าง​ DOS ​และ​ UNIX

DOS UNIX หมายเหตุ
ATTRIB +-attrib file chmod mode file ระบบ​ Permission ​แตกต่าง​กัน
BACKUP tar cvf file file การทำ​งานแตกต่าง​กัน
CD dir cd dir/ คล้ายคลึง​กัน
COPY file1 file2 cp file1 file2 เหมือน​กัน
DEL file rm file เหมือน​กัน
DELTREE rm -R file เหมือน​กัน
DIR ls ​หรือ​ ls -al ​และ​ du , df dir ​จะ​แสดงเนื้อที่ที่​ใช้​ ​และ​ ​เนื้อที่ที่​เหลือ​ด้วย​ ​ซึ่ง​ UNIX ​ต้อง​ดู​ด้วย​ du ​และ​ df ​แทน
DIR file /S find . -name file บน​ Unix ​จะ​ทำ​งาน​ได้​ดีกว่า
DOSKEY name command alias name='command' เป็น​การสร้าง​ macro ​ใน​ทำ​นองเดียว​กัน
ECHO msg echo "msg" เหมือน​กัน
FC file1 file2 diff file1 file2 เหมือน​กัน
HELP command man command ทำ​นองเดียว​กัน
MEM free ทำ​นองเดียว​กัน
MD dir ​หรือ​ MKDIR dir mkdir dir เหมือน​กัน
MORE <> more file ​หรือ​ less file less ​จะ​ทำ​งาน​ได้​ดีกว่า
MOVE file1 file2 mv file1 file2 เหมือน​กัน
RD dir ​หรือ​ RMDIR dir rmdir dir ​หรือ​ rm -d dir เหมือน​กัน
RESTORE tar xvf file การทำ​งานแตกต่าง​กัน
SORT file sort file เหมือน​กัน
TYPE file more file ​หรือ​ less file less ​จะ​ทำ​งาน​ได้​ดีกว่า

เอกสารอ้างอิง

  • R. Thomas, J. Yates, "A USER GUIDE TO THE UNIX SYSTEM", OSBORNE/McGRAW-HILL,2nd Edition,1987.
  • G. Gonzato,"From DOS/Windows to Linux HOWTO"
  • Unix man pages Document.

Sunday, December 10, 2006

Cisco mibs ที่ควรรู้

Hi ^^ ไอ้พวกเนี๋ยเราสามารถหาได้จาก ftp ของ cisco เค้าอ่ะเค้าแชร์ไว้อยู่แต่ต้องงมเอาอันใหนมันเยอะ
-------------------------------------------------------------------------------------------
readonly int freeMem
description "(null)"
characteristics "-N freeMem -O 1.3.6.1.4.1.9.2.1.8 -T INTEGER -A RO -X equal -F 0"

freeMem OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Return the amount of free memory in bytes."
::= { lsystem 8 }
-------------------------------------------------------------------------------------------
readonly int busyPer
description "(null)"
characteristics "-N busyPer -O 1.3.6.1.4.1.9.2.1.56 -T INTEGER -A RO -X equal -F 0"

busyPer OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"CPU busy percentage in the last 5 second
period. Not the last 5 realtime seconds but
the last 5 second period in the scheduler."
::= { lsystem 56 }
-------------------------------------------------------------------------------------------
readonly int avgBusy1
description "(null)"
characteristics "-N avgBusy1 -O 1.3.6.1.4.1.9.2.1.57 -T INTEGER -A RO -X equal -F 0"
avgBusy1 OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"1 minute exponentially-decayed moving
average of the CPU busy percentage."
::= { lsystem 57 }
-------------------------------------------------------------------------------------------
readonly int avgBusy5
description "(null)"
characteristics "-N avgBusy5 -O 1.3.6.1.4.1.9.2.1.58 -T INTEGER -A RO -X equal -F 0"
avgBusy5 OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"5 minute exponentially-decayed moving
average of the CPU busy percentage."
::= { lsystem 58 }
-------------------------------------------------------------------------------------------

Example :

C:\>snmpwalk -c public -v 1 host "1.3.6.1.4.1.9.2.1.56"
SNMPv2-SMI::enterprises.9.2.1.56.0 = INTEGER: 17

C:\>

เราอาจจะใช้
enterprises.9.2.1.56.0 แทน 1.3.6.1.4.1.9.2.1.56 เช่น

Target[host-cpuload]:
enterprises.9.2.1.56.0&enterprises.9.2.1.56.0:public@host

Saturday, December 9, 2006

Config snmpd.conf

Hi ^^

# incl/excl subtree mask
view all included .1 80
view system included .iso.org.dod.internet.mgmt.mib-2.system

เราสามารถใช้ .iso แทน .1
เคยเจอปัญหาใน debian เราต้องใช้ .iso แทนอ่ะครับถึงจะดึงค่า freemem ได้อ่ะ

* .1 หรือ .iso คือสามาถที่จะจัดการค่า oid ตั้งแต่ .1 หรือ .iso ลงไปได้หมดครับ

SNMP Server and Client in Debian

What is net-snmp ?

Simple Network Management Protocol (SNMP) is a widely used protocol for monitoring the health and welfare of network equipment (eg. routers), computer equipment and even devices like UPSs. Net-SNMP is a suite of applications used to implement SNMP v1, SNMP v2c and SNMP v3 using both IPv4 and IPv6.


Net-SNMP Tutorials

http://www.net-snmp.org/tutorial/tutorial-5/ Download Net-SNMP

http://www.net-snmp.org/download.html Net-SNMP Documentation

http://www.net-snmp.org/docs/readmefiles.html Installing SNMP Server in Debian

If you want to install snmp server in debian you need to install snmpd package using the following command

#apt-get install snmpd

This will complete the installation process.

Configuring SNMP Server in Debian

Default Configuration files are located at /etc/snmp directory this contains the following files.

snmpd.conf snmptrapd.conf

/etc/snmp/snmpd.conf - configuration file for the Net-SNMP SNMP agent.

/etc/snmp/snmptrapd.conf - configuration file for the Net-SNMP trap daemon.

Now we need to concentrate on snmpd.conf file for our configuration. If you want to see the default snmpd.conf file.

Before doing any changes to your /etc/snmp/snmpd.conf file take a copy of original file using the following command

#cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig

Set up the snmp server to allow read access from the other machines in your network for this you need to open the file /etc/snmp/snmpd.conf change the following Configuration and save the file. first step

# sec.name source community
com2sec paranoid default public
#com2sec readonly default public
#com2sec readwrite default private

to

#com2sec paranoid default public
com2sec local localhost public
com2sec localNet 192.168.0.0 /24 public
#com2sec readwrite default private

you can define the source whichever way you want like only allow from local machine for that you need to add 127.0.0.1 under source and you can define your community in this case we are using public as our community.

Second Step

####
# Second, map the security names into group names:

# sec.model sec.name
group MyROSystem v1 paranoid
group MyROSystem v2c paranoid
group MyROSystem usm paranoid
group MyROGroup v1 readonly
group MyROGroup v2c readonly
group MyROGroup usm readonly
group MyRWGroup v1 readwrite
group MyRWGroup v2c readwrite
group MyRWGroup usm readwrite

to

group MyROSystem v1 local
group MyROSystem v2c local
group MyROSystem usm local
group MyROGroup v1 localnet
group MyROGroup v2c localnet
group MyROGroup usm localnet
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local

Third Step

####
# Third, create a view for us to let the groups have rights to:

# incl/excl subtree mask
view all included .1 80
view system included .iso.org.dod.internet.mgmt.mib-2.system

Don't chnage anything here leave this one as default setting

Final Step

####
# Finally, grant the 2 groups access to the 1 view with different
# write permissions:

# context sec.model sec.level match read write notif
access MyROSystem "" any noauth exact system none none
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all none

Don't chnage anything here leave this one as default setting.

Optional Configuration

# System contact information

syslocation Unknown (configure /etc/snmp/snmpd.local.conf)
syscontact Root (configure /etc/snmp/snmpd.local.conf)

to

syslocation MainDatacenter
syscontact webmaster@debianhelp.co.uk

Now the above configuration able to access local and 192.168.0.0 /24 network machines to use full functionality of MIB's this is very important if you want to collect the information from existing machines in above network.

Now you need to restart the snmp services using the following command

#/etc/init.d/snmpd restart

Now the SNMP server configuration is active and running.

Testing your Configuration

#snmpwalk localhost -c public -v1

SNMPv2-MIB::sysDescr.0 = STRING: Linux sritest 2.4.27-2-386 #1 Wed Aug 17 09:33:35 UTC 2005 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
SNMPv2-MIB::sysUpTime.0 = Timeticks: (656698) 1:49:26.98
SNMPv2-MIB::sysContact.0 = STRING: webmaster@debianhelp.co.uk
SNMPv2-MIB::sysName.0 = STRING: debiantest
SNMPv2-MIB::sysLocation.0 = STRING: Maindatacenter
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORID.1 = OID: IF-MIB::ifMIB
SNMPv2-MIB::sysORID.2 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.3 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.4 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.5 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.6 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORID.7 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.8 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.9 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance

If you want more options and how to use snmpd.conf file you need to check snmpd.conf man page

If you want to monitor your server or desktop machine resources like disk capacity,load,process check here SNMP Client installation in debian

Now we have seen how to configure SNMP server in above section now we need to install client in other machines for this you need to install snmp or scli packages

#apt-get install snmp scli tkmib

This will complete the snmp client installation.

Configuration

The system wide configuration file is /etc/snmp/snmp.conf check the community name is same as server if not you need to change the community name and you need to restart the snmp service.Edit the /etc/snmp/snmp.conf file and change the following settings and save the file

com2sec paranoid default public
#com2sec readonly default public
#com2sec readwrite default private
to:

#com2sec paranoid default public
com2sec readonly 127.0.0.1 public
#com2sec readwrite default private

Now you need to restart the snmp service using the following command

#/etc/init.d/snmp restart

Testing your Configuration

#snmpwalk -v 2c -c public remotemachineipaddress system

SNMPv2-MIB::sysDescr.0 = STRING: Linux sritest 2.4.27-2-386 #1 Wed Aug 17 09:33:35 UTC 2005 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
SNMPv2-MIB::sysUpTime.0 = Timeticks: (168871) 0:28:08.71
SNMPv2-MIB::sysContact.0 = STRING: webmaster@debianhelp.co.uk
SNMPv2-MIB::sysName.0 = STRING: debiantest
SNMPv2-MIB::sysLocation.0 = STRING: maindatacenter
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORID.1 = OID: IF-MIB::ifMIB
SNMPv2-MIB::sysORID.2 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.3 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.4 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.5 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.6 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORID.7 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.8 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.9 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORDescr.1 = STRING: The MIB module to describe generic objects for network interface sub-layers
SNMPv2-MIB::sysORDescr.2 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.3 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.6 = STRING: View-based Access Control Model for SNMP. Alternately, you can use scli, #scli localhost and then type in show or monitor. This will confirm the SNMP service is active and working properly.

References:

Secure phpMyAdmin

Hi ^^ ครั้งก่อนได้นำเสนอการเข้าใช้ phpMyAdmin เมื่อเราได้ตั้ง password ให้กับ mysql server แล้วทำให้เราไม่สามารถเข้าใช้งาน phpMyAdmin ใน

/var/www/html/phpMyAdmin/library/config.default.php

เราสามารถแก้ไขได้ ด้วยการเพิ่มรหัสผ่านที่เราได้ทำการตั้งไว้ใน mysql server

$cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
$cfg['Servers'][$i]['password'] = 'password'; // MySQL password (only needed
// with 'config' auth_type)

สีน้ำเงิน (เป็นรหัสผ่านที่ท่านได้กำหนดไว้นะครับไม่จำเป็นต้องเป็นคำว่า password) คือตัวที่เราต้องเพิ่มเข้าไปถ้า mysql server เรามีรหัสผ่าน ปัญหาก็คือ ใครก็สามารถเ้ข้าใช้ mysql server ของเราได้สบายสิครับ หรือ อาจจะโดน พวกที่นึกว่าตัวเองเป็นแฮคเกอร์ระดับสุดยอด เข้าไปแก้ไขข้อมูลก็เป็นได้ แต่วันจะนำเสนอ ไม่ให้คนเข้าไปใช้ได้ง่ายๆ ครับ

- ลองสังเกต ด้านบนของบรรทัด

$cfg['Servers'][$i]['user'] = 'root'; // MySQL user

- มันจะมีบรรทัดหนึ่งที่ได้ใส่ค่า config ไว้

$cfg['Servers'][$i]['auth_type'] = 'config';

- ทีนี้มันก็จะมี comment อธิบายอยู่ครับ

// Authentication method (config, http or cookie based)?

- คำที่มันบอกให้เราใส่ก็จะมี config , http และ cookie
เราก็ลองเปลี่ยนไปใส่ค่าอีก 2 ตัวที่เหลือ ดูสิครับลองใส่ทีละตัวนะครับ เช่น
$cfg['Servers'][$i]['auth_type'] = 'http';

- ถ้าเราใส่ http มันก็จะมี popup ให้เราใส่ ชื่อผู้ใช้ กับ รหัสผ่าน เราก็ใส่เป็น root หรือ user ที่มีใน mysql server ของเราที่เราได้ตั้งค่า user name password เอาไว้ครับ

- ถ้าเราใส่เป็น cookie มันจะมีฟอร์มให้เรากรอก user และ password แต่ถ้ามันไม่มีช่อง ให้เรากรอกเราต้องไปแก้ไขในส่วนของ
$cfg['blowfish_secret'] = '';

- โดยเราเพิ่มคำว่า cookie เข้าไปครับ
$cfg['blowfish_secret'] = 'cookie';

- ลองรีเฟรช หน้า phpMyAdmin อีกทีครับ

* การตั้งรหัสผ่านใน mysql server
mysql> set password=password('yourpassword');

Thursday, December 7, 2006

Linux install file

[root@localhost Desktop]# ./jre-1_5_0_09-linux-i586-rpm.bin
bash: ./jre-1_5_0_09-linux-i586-rpm.bin: Permission denied

อันนี้จะเกิดขึ้นเพื่อ Permission ของไฟล์นั้น เราไม่สามารถ Execute มันได้ฉนั้นเราต้องแก้ Permissions ของไฟล์นั้นครับด้วยการคลิกขวา ดูที่แท็ป Permissions แล้วก็ติ๊กให้ Execute ได้

Sunday, December 3, 2006

Register @msn.com

ไม่เข้าใจเหมือนกันว่า msn.com กับ hotmail.com Account อันใหนมันจาดีกว่ากันนะครับ
แต่ก่อนก็ใช้ msn.com แต่ลืมรหัสผ่านก็เลยเปลี่ยนมาใช้ hotmail.com
Click here...