Check previous running script using process id

วันนี้ในกลุ่ม sysadmin บน facebook คุยกันเรื่องของ ubuntu mirror ของ PSU แล้วมีประเด็นของการใช้ script สำหรับการ mirror ตัว script ที่ว่านี้ จะเป็น shell script ธรรมดา ที่จะไปเรียกใช้โปรแกรม rsync ที่จะทำหน้าที่ mirror ข้อมูลจาก primary ftp/rsync site ของ ubuntu มาเก็บไว้ที่เครื่อง server ของ PSU ตัว script จะถูกเรียกใช้โดย cron กำหนดไว้ใน crontab และเรียกใช้ 4-6 ครั้งใน 1 วัน (หรือ run ทุกๆ 6 หรือ 4 ชั่วโมง) ระยะเวลาที่ใช้ในการ run script … Read more

How to list linux file permissions in Octal Notation

วันนี้เนื่องจากทีมผู้ดูแล  Web Hosting ต้องการดูว่ามีไฟล์ไหนบ้างที่มี permission เป็น 777 ก็เลยนั่งหาดูพบว่า สามารถใช้คำสั่ง stat ในการดูได้ เช่น $stat -c “%a %n” /var/www ผลลัพธ์ หรือ $stat -c “%A (%a) %8s %.19y %n” /var/www ผลลัพธ์ ทั้งนี้เนื่องจากไม่สามารถทำให้มัน 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 ที่คอมมานด์ไลน์ ผลลัพธ์ สามารถปรับ option … Read more

แนวทางการ Backup บน Ubuntu Server (กรณีระบบ PSU EMail) #2

ขยายความต่อจาก แนวทางการ Backup บน Ubuntu Server (กรณีระบบ PSU EMail) ลองมาดูทีละขั้นตอน 1. ใน directory username.s มีไฟล์ดังนี้ $ ls -l username.s total 0 -rw-rw-r– 1 mama mama 0 2013-04-29 14:31 a.txt -rw-rw-r– 1 mama mama 0 2013-04-29 14:31 b.txt -rw-rw-r– 1 mama mama 0 2013-04-29 14:31 c.txt -rw-rw-r– 1 mama mama 0 2013-04-29 14:31 d.txt -rw-rw-r– 1 … Read more

How to create PSU VPN (L2TP/IPSec) connection Ubuntu 13.04?

* ติดตั้งโปรแกรมชื่อ l2tp-ipsec-vpn ด้วยคำสั่ง $sudo apt-get install l2tp-ipsec-vpn ดังภาพ * ตอบ y * ตอบ No * กด OK * สั่ง reboot เครื่อง * เมื่อบูทเสร็จจะพบว่ามีไอคอนเพิ่มมาบนพาเนล * คลิกซ้ายเลือก Edit Connection * หน้าจอจะมืดลงและมีช่องให้ใส่พาสเวิร์ดของผู้ใช้ลงไปแล้วกด OK * จะได้หน้าจอดังรูป * คลิก Add จะได้หน้าจอดังรูป ใส่ vpn.psu.ac.th ลงไปในช่อง Connection name กด OK * ได้ดังรูป * คลิก Edit กรอกข้อความตามรูป * คลิก PPP เลือกตามรูป ในช่อง … Read more

วิธีตรวจสอบเว็บไซต์ที่โดน Hack #2

ต่อจาก “วิธีตรวจสอบเว็บไซต์ที่โดน Hack #1” ซึ่งเป็นวิธีการตรวจสอบ จาก วันเวลา ของไฟล์ที่ตรวจสอบพบว่า ถูกนำมาวาง จากช่องโหว่ของ Joomla แต่เมื่อตรวจสอบลึกลงไป โดยตรวจสอบ ไฟล์ที่เอามาวางไว้ พบว่ามีรูปแบบหลากหลาย *** แต่มีวิธีการเดียวกัน*** นั่นคือ การใช้ eval และ base64_decode ทั้งสิ้น ตัวอย่างที่ 1:   จะเห็นได้ว่า hacker เขียนไฟล์ดังกล่าว แล้วสร้างตัวแปรว่า $code ในนั้นเป็น Code ซึ่ง “เข้ารหัสแบบ Base64 แล้ว gzip เอาไว้” เพื่อไม่ให้เราตรวจสอบได้ง่ายๆ จากนั้น จึงใช้คำสั่ง eval(gzinflate(base64_decode($code))) ซึ่งจะ decode ข้อความแบบ Base64 ก่อน แล้วค่อย unzip ออกไปอีกที … ซับซ้อน ก็จะทำให้ hacker … Read more