Author: grianggrai.n

  • Shorewall Blacklist

    • ใช้ได้กับ Shorewall 4.4.12 ขึ้นมา
    • แก้แฟ้ม /etc/shorewall/interfaces โดยเพิ่มความว่า blacklist ต่อท้ายของเดิม เป็น

    net eth0 detect tcpflags,logmartians,nosmurfs,blacklist

    • เพิ่มลิสต์ที่ต้องการบล็อคลงไปในแฟ้ม /etc/shorewall/blacklist
    • ตัวอย่างค้นหาเครื่องที่ต้องการบล็อคการเข้าถึงพอร์ต 80 และ 443

    grep -R phpmyadmin/scripts/setup.php /var/log/apache2|cut -d: -f2|awk '{ print $1 }'|sort -t'.' -n -k1,1 -k2,2 -k3,3 -k4,4|uniq

    • จากตัวอย่างในเครื่องเราไม่มี phpmyadmin แต่มีคนพยายามเข้าถึงตัวติดตั้ง phpmyadmin ฉะนั้นบล็อค IP พวกนี้ไว้ก่อน (บล็อคถาวรกรั่กๆ…)
    • เอา IP จากข้อที่แล้วมาใส่ในแฟ้ม /etc/shorewall/blacklist รูปแบบ

    #ADDRESS/SUBNET PROTOCOL PORT

    • เช่น

    93.115.210.90 tcp 80,443
    93.174.93.153 tcp 80,443
    94.23.58.185 tcp 80,443
    94.102.51.155 tcp 80,443
    103.247.21.60 tcp 80,443
    107.6.88.155 tcp 80,443
    109.163.232.218 tcp 80,443
    110.170.34.220 tcp 80,443
    111.90.168.5 tcp 80,443
    115.84.101.78 tcp 80,443
    115.238.101.45 tcp 80,443
    115.239.253.11 tcp 80,443
    116.93.105.112 tcp 80,443
    117.35.96.146 tcp 80,443
    118.140.120.26 tcp 80,443
    119.52.254.20 tcp 80,443
    119.57.51.154 tcp 80,443
    122.49.0.220 tcp 80,443
    123.125.148.79 tcp 80,443
    125.210.204.242 tcp 80,443

    • restart shorewall

    sudo shorewall restart

    • IP ที่ถูกแบล็คลิสต์ อาจหายไปจากสารบบ ทำให้ shorewall start ไม่ขึ้น ต้องลบไอพีดังกล่าวออกไปก่อนจึงจะ start ได้

    Compiling /etc/shorewall/blacklist...
    ERROR: Unknown Host (93.x4.93.153) : /etc/shorewall/blacklist (line 23)

    • จบ… ขอให้สนุกครับ

    ที่มา http://shorewall.net/manpages/shorewall-blacklist.html

    • คีย์เวิร์ดสำหรับแบน
    • /CFIDE/administrator/enter.cfm
    • /MyAdmin/scripts/setup.php
    • /myadmin/scripts/setup.php
    • /phpMyAdmin/scripts/setup.php
    • /pma/scripts/setup.php
    • /w00tw00t.at.blackhats.romanian.anti-sec:)
    • เป็นต้น
  • How to: install Owncloud (Easy method)

    • สำหรับ Ubuntu 12.04 เท่านั้น
    • เปิด terminal
    • พิมพ์คำสั่ง (ไม่ต้องพิมพ์ $)

    $wget -q -O - http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_12.04/Release.key|sudo apt-key add -

    wget -nv https://download.owncloud.org/download/repositories/stable/xUbuntu_12.04/Release.key -O Release.key
    apt-key add - < Release.key
    • ต่อด้วย

    $sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_12.04/ /' >> /etc/apt/sources.list.d/owncloud.list"

    sh -c "echo 'deb http://download.owncloud.org/download/repositories/stable/xUbuntu_12.04/ /' >> /etc/apt/sources.list.d/owncloud.list"
    apt-get update
    apt-get install owncloud
    • ปิดท้าย

    $sudo apt-get update
    $sudo apt-get install -y owncloud

    • ต่อด้วยคำสั่ง

    $sudo /etc/init.d/apache2 restart

    • เปิดเว็บ http://localhost/owncloud เพื่อสร้าง user ที่เป็น admin ชื่ออะไรก็ได้ตามสะดวก และตั้งรหัสผ่านให้เรียบร้อย คลิก Advanced เพื่อดูค่าอื่นๆ เช่น โฟลเดอร์ที่ใช้เก็บข้อมูล การตั้งค่าฐานข้อมูลว่าจะใช้อะไร แบบง่ายนี้ขอใช้ sqlite ไปก่อนเพื่อความรวดเร็ว คลิก Finish Setup
    • ระบบจะล็อคอินเป็น user ที่สร้างให้คนแรกโดยอัตโนมัติ
    • ที่เหลือ ... ขอให้สนุกครับ

    ที่มา
    http://software.opensuse.org/download/package?project=isv:ownCloud:community&package=owncloud
    https://download.owncloud.org/download/repositories/stable/owncloud/

  • How to install mathtex.cgi ubuntu 12.04

    1. ติดตั้ง texlive-full , dvipng,  imagemagick
      $sudo apt-get install -y texlive-full dvipng imagemagick
    2. ดาวน์โหลด mathtex.zip
      $wget http://www.forkosh.com/mathtex.zip
    3. สร้างไดเร็คทอรี่ mathtex
      $mkdir mathtex
    4. cd mathtex
    5. unzip ../mathtex.zip
    6. compile mathtex.c ด้วยคำสั่ง
      $cc mathtex.c -DLATEX=\"$(which latex)\" -DDVIPNG=\"$(which dvipng)\"  -o mathtex.cgi
    7. sudo mv mathtex.cgi /usr/lib/cgi-bin
    8. sudo chown :www-data /usr/lib/cgi-bin
    9. sudo chmod g+w /usr/lib/cgi-bin
    10. เพิ่มข้อความต่อไปนี้ในแฟ้ม /etc/apache2/sites-enabled/000-default ภายใน Directive VirtualHost ถ้าใส่ตามนี้คืออนุญาติเครือข่ายภายในมหาวิทยาลัยเท่านั้นเข้าถึงได้
      ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
      <Directory /usr/lib/cgi-bin>
          Options +ExecCGI
          Order deny,allow
          Deny from all
          Allow from 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
      </Directory>
    11. restart apache
      $sudo service apache2 restart
    12. ทดสอบเรียกใช้งานได้ที่ http://yourhostname/cgi-bin/mathtext.cgi?x
    13. texlive เป็นโปรแกรมที่ทดแทน latex ใช้สร้างสมาการทางคณิตศาสตร์
    14. ใน WordPress มีปลั๊กอินชื่อ Youngwhan’s Simple Latex สามารถเรียกใช้ mathtex นี้ได้ทันที โดยปกติจะเซ็ตไว้ให้ใช้ shared host ภายนอกมหาวิทยาลัย
    15. ทดสอบเรียกใช้งาน E=mc^2 ได้ผลเป็น
    16. ตัวอย่างอื่นๆ สำหรับสมการแปลกๆ Example
    17. จบ…. ขอให้สนุกครับ

    ที่มา

    • https://help.ubuntu.com/community/LaTeX
    • http://www.forkosh.com/cgi-bin/weblist.cgi?-t=weblist&-o=php&-f=sources/mimetexquickstartweb.php
  • โฆษณาคั่นรายการ Mirrors.psu.ac.th

    ปัจจุบัน http://mirrors.psu.ac.th เป็น Mirrors ของ Distro ต่อไปนี้

    • archlinux
    • centos
      • fedora-epel จาก http://fedoraproject.org/wiki/EPEL
      • repoforge จาก http://repoforge.org/use/
    • debian
      • debian-backports
      • debian-cd
      • debian-multimedia
      • debian-security
      • debian-volatile
    • freebsd
    • gentoo
    • knoppix
      • knoppix-dvd
    • linuxmint-packages
      • linuxmint-iso
    • openbsd
    • opensuse
    • oraclelinux
    • pclinuxos
    • slackware
    • ubuntu
      • medibuntu
      • ubuntu-cdimages
      • ubuntu-releases

    Mirror site สำหรับ Software สำหรับ Ubuntu/ Linux Mint  เช่น

    • PPAs
      • libreoffice โดย mirror จาก PPA sites ที่ http://www.ubuntuupdates.org/ppa/libreoffice
      • mozilla-security โดย mirror จาก PPA sites ที่ http://www.ubuntuupdates.org/ppa/ubuntu_mozilla_security
      • virtualbox โดย mirror จาก Oracle ที่ http://download.virtualbox.org/virtualbox/ ดูวิธีตั้งค่าได้ที่ http://www.ubuntuupdates.org/ppa/virtualbox.org_contrib

    Mirror site สำหรับ software opensource เช่น

    • libreoffice
    • cran
    • cygwin

    และ software ในชุดของ mozilla.org

    • mozilla
      • firefox
      • seamonkey
      • thunderbird

    จบโฆษณาแต่เพียงเท่านี้ … ขอให้สนุกครับ

  • Putty + Xming = Xwindows

    • สำหรับผู้ใช้งานวินโดวส์ อยากใช้บางโปรแกรมของ Xwindows แต่ไม่อยากเดินไป Log In หน้า Console
    • ต้องมี putty และ xming โหลดที่
      • ftp://ftp.psu.ac.th/pub/putty สำหรับ 32-bit
      • https://blog.splunk.net/wp/64bit-putty/ สำหรับ 64-bit
      • ftp://ftp.psu.ac.th/pub/xming/ อันนี้ไม่มีแยก
    • โหลดโปรแกรมทั้งสองมาติดตั้งในเครื่องให้เรียบร้อย (next tech) สำหรับ putty สามารถโหลด putty.exe มาไฟล์เดียวก็ได้
    • เปิด putty และ xming

    2013-10-01_0929

    2013-10-01_0931สำหรับ xming เปิดแล้วโปรแกรมจะไปอยู่ที่ Task Bar

    • ที่ Putty ในหัวข้อ Connection -> SSH -> X11 เลือกหัวข้อ Enable X11 forwarding

    2013-10-01_0934

    • กลับมาหน้า Session ในช่อง Saved Sessions สร้างชื่อใหม่เก็บไว้ใช้เวลาต้องการ

    2013-10-01_0939

    2013-10-01_0939_001

    • ทดสอบใช้งาน ให้เลือกไปที่ X11 Forwarding ที่สร้างไว้ แล้วกด Load แล้วใส่ชื่อ Host Name ที่ต้องการ

    2013-10-01_0944

    • เมื่อ Log In เรียบร้อยในครั้งแรก จะมีข้อความว่า /usr/bin/xauth: creating new authority file ….

    2013-10-01_0955

    • ลองเรียกใช้งานโปรแกรมที่ต้องใช้ Xwindows  เช่น gedit

    2013-10-01_1009

    2013-10-01_1022

    • จบ … ขอให้สนุกครับ
  • ติดตั้ง LibreOffice 4.1 บน Ubuntu และ Linux Mint

    • Add repository โดย repository นี้ใช้ได้สำหรับ Ubuntu รุ่น Precise, Quantal, Raring และ Linux Mint ในรุ่นที่เทียบเคียงกัน เช่น ปัจจุบัน Linux Mint 15 ซึ่งเทียบเคียงได้กับ Ubuntu Raring เป็นต้น ด้วยคำสั่ง

    sudo add-apt-repository ppa:libreoffice/ppa

    • เนื่องจากในมหาวิทยาลัยสงขลานครินทร์ มีไซต์ http://mirrors.psu.ac.th ซึ่งได้ทำการ mirror ไซต์ต่างๆ ที่จำเป็นไว้แล้วส่วนหนึ่ง รวมถึง repository ของ LibreOffice ด้วย ดังนั้น สามารถใช้งานได้ โดยการแก้แฟ้ม /etc/apt/sources.list.d/libreoffice-ppa-raring.list จากเดิม มีอะไรอยู่ให้แก้เป็นดังนี้ โดยหากเป็น Ubuntu รุ่นอื่นๆ ก็ให้เปลี่ยนคำว่า raring เป็นรุ่นที่ใช้งาน สำหรับ Linux Mint ก็ยังคงใช้รุ่นของ Ubuntu ที่เทียบเคียงกันมาเช่น Linux Mint 15 ก็ให้ใช้ของ raring

    deb http://mirrors.psu.ac.th/ppa/libreoffice/ raring main

    • สั่ง update ฐานข้อมูล software ด้วยคำสั่ง

    sudo apt-get update

    • สั่ง upgrade software ซึ่ง LibreOffice จะถูก upgrade ไปในคราวเดียวกันโดยอัตโนมัติด้วยคำสั่ง

    sudo apt-get -y dist-upgrade

    • จบ.. ขอให้สนุกครับ

    ที่มา

        http://www.ubuntuupdates.org/ppa/libreoffice

  • HowTo: Windows 8 L2TP / IPsec VPN Setup Tutorial

    • เปิด Network and Sharing Center จาก Control panel
      2013-07-31_0933
    • คลิกที่ Set up a new connection or network2013-07-31_0934
    • คลิก Connect to a Workplace2013-07-31_0935
    • คลิก Use my Internet connection (VPN)2013-07-31_0937
    • ใส่ค่าต่างๆ ตามรูป2013-07-31_0938
    • คลิก Create แล้วมองที่ Taskbar ด้านล่างขวา คลิกที่รูปการเชื่อมต่อเครือข่าย เพื่อเรียกดูการเชื่อมต่อเครือข่ายต่างๆ จะพบว่ามี  vpn.psu.ac.th เพิ่มขึ้นมา ให้คลิกขวาที่ vpn.psu.ac.th
      2013-07-31_0942
      หรือ
      2013-07-31_1117
      2013-07-31_0942_001
    • เลือก View connection properties
      2013-07-31_0943
    • จะได้ดังรูป
      2013-07-31_0944
    • คลิกที่ Security ในช่อง Type of VPN เลือก Layer 2 Tunnelinig Protocol with IPsec (L2TP/IPsec) แล้วคลิก Advanced settings
      2013-07-31_0945
    • เลือก Use preshared key for authentication แล้วในช่อง Key: พิมพ์ว่า vpn key (อ่านว่า วี-พี-เอ็น-เว้นวรรค-คีย์) กด OK
      2013-07-31_0947
    • เลือก Allow these protocols แล้วคลิกเลือกทุกหัวข้อด้านล่าง ยกเว้น Automatically … แล้วคลิก OK
      2013-07-31_0947_001
    • คลิกที่รูปการเชื่อมต่อเครือข่าย เพื่อเรียกดูการเชื่อมต่อเครือข่าย คลิกที่ vpn.psu.ac.th คลิก Connect
      2013-07-31_0953
    • ใส่ Username และ Password ของ PSU Passport แล้วคลิก OK
      2013-07-31_0954
    • รอสักครู่
      2013-07-31_1131
    • จะได้เป็นดังรูป
      2013-07-31_0956
    • เมื่อเลิกใช้งาน คลิกที่รูปการเชื่อมต่อเครือข่าย เพื่อเรียกดูการเชื่อมต่อเครือข่าย คลิกที่ vpn.psu.ac.th คลิก Disconnect
      2013-07-31_1010
    • จบ ขอให้สนุกครับ…

    หมายเหตุ

    • หากต้องการให้ใส่ username และ password ใหม่ทุกครั้งให้เอาเครื่องหมายถูกหน้าข้อความ Remember my credentials ออกก่อนคลิก Create ในขั้นตอนแรก
    • หากล็อกอินแล้วได้ Error เกี่ยวกับ Certificate ให้กลับมาใส่ vpn key อีกครั้ง
    • Windows Vista/Windows 7 อาจใช้วิธีนี้ได้เช่นกันแต่วิธีการอาจต้องเปลี่ยนแปลงตามความเหมาะสมของ OS

    ที่มา

    • http://www.hideipvpn.com/2012/03/howto-windows-8-l2tp-ipsec-vpn-setup-tutorial/
  • Mount & fstab

    วันนี้หลังจากติดตั้ง OS ใหม่ ก็มานั่งคิดๆ ดูว่าจะใช้ อะไรในการ mount โฟลเดอร์ที่ได้แบ่งแยกไว้แต่แรกมาใช้ได้อย่างไร ซึ่งจากเดิมจะใช้วิธีแก้แฟ้ม /etc/rc.local โดยเพิ่มข้อความเข้าไปประมาณว่า

    mount --bind /home/sipa /usr/share/fonts/truetype/sipa

    ซึ่งวันนี้ก็พบว่า มันไม่ทำงาน และเหมือนกับว่าถ้ามีการอัพเดต kernel แฟ้มนี้จะถูกเปลี่ยนกลับเป็นเหมือนเดิม คือ ไม่มีข้อความข้างต้นอยู่ข้างใน (อันนี้ยังไม่ยืนยันเพราะเจอแค่ครั้งเดียว)

    ต่อมาเลยนั่งมองว่าแล้วเราจะใส่แบบข้างบนลงไปในแฟ้ม /etc/fstab ได้มั้ย ทำอย่างไร ก็ค้นไปเรื่อยๆ พบว่าทำได้ โดยให้ใส่เพิ่มเข้าไปดังนี้

    /home/sipa /usr/share/fonts/truetype/sipa none  bind    0 0

    เมื่อแก้แฟ้มนี้เสร็จออกมาสั่ง

    sudo mkdir /usr/share/fonts/truetype/sipa ; sudo mount -a

    ได้ทันที ได้ผลเป็นที่น่าพอใจ

    มีอีกวิธี คือการสร้างเป็น Upstart job ทำได้โดย สร้างแฟ้ม /etc/init/mount-bind.conf โดยมีข้อความว่า

    #
    # bind mounts
    #
    description "bind"
    start on stopped mountall
    script
    mount --bind /home/sipa /usr/share/fonts/truetype/sipa
    end script

    ขอให้สนุกครับ

    ที่มา

    http://ubuntuforums.org/showthread.php?t=1642616

    http://www.linuxforums.org/forum/servers/28252-fstab-mount.html

  • How to list linux file permissions in Octal Notation

    วันนี้เนื่องจากทีมผู้ดูแล  Web Hosting ต้องการดูว่ามีไฟล์ไหนบ้างที่มี permission เป็น 777 ก็เลยนั่งหาดูพบว่า สามารถใช้คำสั่ง stat ในการดูได้ เช่น

    $stat -c "%a %n" /var/www

    ผลลัพธ์
    Screenshot from 2013-05-01 11:47:06

    หรือ

    $stat -c "%A (%a) %8s %.19y %n" /var/www

    ผลลัพธ์
    Screenshot from 2013-05-01 11:49:19

    ทั้งนี้เนื่องจากไม่สามารถทำให้มัน recursive ได้ ก็ต้องหาไปทีละโฟลเดอร์ …. จนกระทั่งเจออีกคำสั่ง คือ สร้าง alias ชื่อ lso ดังนี้

    $alias lso="ls -alG | awk '{k=0;for(i=0;i<=8;i++)k+=((substr(\$1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf(\" %0o \",k);print}'"

    เมื่อจะใช้งาน ก็เพียงสั่ง lso ที่คอมมานด์ไลน์ ผลลัพธ์
    Screenshot from 2013-05-01 11:54:27

    สามารถปรับ option ของ ls ใน alias ให้ recursive ได้โดยเพิ่ม R ตัวใหญ่ลงไป ดังนี้

    $alias lso="ls -alGR | awk '{k=0;for(i=0;i<=8;i++)k+=((substr(\$1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf(\" %0o \",k);print}'"

    เมื่อเรียกใช้จะได้ผลลัพธ์
    Screenshot from 2013-05-01 11:57:21

    สามารถใช้ร่วมกับ grep เพื่อค้นหาเฉพาะค่าที่ต้องการ เช่น

    $lso|grep " ^777"

    ผลลัพธ์
    Screenshot from 2013-05-01 13:11:12

    ก็พอจะช่วยได้บ้างครับ Big Smile ขอให้สนุกครับ

    ที่มา

    http://thenubbyadmin.com/2012/02/16/how-to-list-linux-file-permissions-in-octal-notation/

    http://askubuntu.com/questions/152001/how-can-i-get-octal-file-permissions-from-command-line