วิธีการ Upload ไฟล์ไปบน Google Drive File Stream ด้วย Google Client Library for Python

Google Drive File Stream จริงๆแล้วก็คือการเปิดให้ PC ทั้ง Windows และ Mac สามารถ Map Drive จาก Google Drive มาเป็น G:\ หรืออะไรทำนองนั้น แต่ปัจจุบัน (September 2017) บน Windows Server ซึ่งใช้ Secure Boot จะไม่สามารถติดตั้ง Client ได้ และ Ubuntu Server ก็ยังไม่มีตัวติดตั้ง ดังนั้น ในภาพของผู้ดูแลระบบ ไม่สามารถใช้ความสามารถนี้ได้ … โดยตรง ส่วนใน Windows Desktop ทั่วไปก็จะติดตั้งได้ แม้ว่า จากคำโฆษณา จะบอกว่าผู้ใช้สามารถใช้งานได้ แม้พื้นที่บน Local Drive ไม่เยอะ แต่เอาเข้าจริง ด้วยความสามารถที่จะใช้งาน Offline ได้บ้าง ทำให้ Client ต้อง Cache ไฟล์ที่ใช้งานด้วยเช่นกัน และหาก upload ไฟล์ขนาดใหญ่ จาก Local Drive ไปเก็บใน G:\ ข้างต้น ก็จะทำให้ต้องเสียพื้นที่ในขนาดเท่าๆกันไปด้วย เช่น ใน Local Drive มีไฟล์ที่จะ Backup ขึ้นไป ขนาด 1 GB บน C:\ เมื่อทำการ Copy ไปยัง G:\ ก็จะเสียพื้นที่อีก 1 GB ด้วยเช่นกัน ทางออกก็คือ ใช้ความสามารถของ Google Client Library ทำการ Upload ไฟล์ขึ้นไปโดยตรง เท่าที่ทดลองมา จะไม่ได้ Cache บน Local Drive ทำให้สามารถ Upload ไฟล์ขนาดใหญ่ได้ โดยไม่เสียพื้นที่เพิ่มแบบ Client ข้างต้น วิธีการใช้งาน Python เพื่อ Upload File ขึ้น Google Drive File Stream ผมเขียน Code เอาไว้ ชื่อ upload2gdrive.py ไว้บน GitHub (https://github.com/nagarindkx/google) สามารถดึงมาใช้งานได้โดยใช้คำสั่ง clone https://github.com/nagarindkx/google.git cd google สร้าง Project, Credential ตาม “ขั้นที่ 1” ในบทความ การใช้งาน Google Drive API ด้วย Google Client Library for Python ซึ่งจะได้ไฟล์ Client Secret File มา ให้แก้ไขชื่อเป็น “client_secret.json” แล้ว นำไปไว้ใน directory “google” ตามข้อ 1 วิธีใช้คำสั่ง ดูวิธีใช้ python upload2gdrive.py –help Upload ไฟล์ จาก /backup/bigfile.tar,gz python upload2gdrive.py –file /backup/bigfile.tar.gz บน Windows ก็สามารถใช้งานได้ ด้วยคำสั่ง python upload2gdrive.py –file D:\backup\bigfile.tar.gz หากต้องการระบุตำแหน่ง Folder บน Google Drive ที่ต้องการเอาไฟล์ไปไว้ ให้ระบุ Folder ID python upload2gdrive.py –file /backup/bigfile.tar.gz —-gdrive-id xxxxxxxbdXVu7icyyyyyy หากต้องการระบุ Chunk Size (ปริมาณข้อมูลที่จะแบ่ง Upload เช่น

Read More »

ไวรัส shortcut

เหตุที่ตั้งชื่อบทความว่า ไวรัส shortcut ไม่ได้หมายความว่าไวรัสประเภทนี้ชื่อ shortcut แต่เป็นอาการทีเกิดขึ้นเมื่อไวรัสตัวนี้ทำงาน โดยสาเหตุและลักษณะอาการที่พบคือ เมื่อเรานำ flash drive หรืออุปกรณ์จำพวก removable drive (เช่น external hardisk) ไปใช้งานกับเครื่องคอมพิวเตอร์เครื่องใดเครื่องหนึ่ง ไฟล์ที่อยู่ใน flash drive หรือ removable drive จะหายไป และจะมีไฟล์ shortcut เกิดขึ้นแทนที่ โดย shortcut มักจะถูกตั้งชื่อเหมือนกับไฟล์ข้อมูลเดิมที่มีอยู่ ซึ่งหากเราเผลอเปิดไฟล์ shortcut ดังกล่าว ก็จะเป็นการไปเรียกไฟล์ไวรัสให้ทำงานนั่นเอง ส่วนไฟล์ข้อมูลเดิมนั้นไม่ได้หายไปไหน เพียงแต่เมื่อแรกเริ่มที่ติดไวรัสมานั้น ไฟล์เหล่านี้จะถูกซ่อนไว้ไม่ให้เห็นนั่นเอง   ตัวอย่างไฟล์ shortcut ที่ไวรัสสร้างขึ้น ข้อสังเกตุคือจะมีไอคอนเป็นแบบ shortcut (ไอคอนรูปลูกศร)   แนวทางการแก้ไข (ในบทความนี้จะยกตัวอย่างบน Windows 8.1) อันดับแรกสิ่งที่ต้องเตรียมคือ เครื่องคอมพิวเตอร์ที่ไม่ติดไวรัส เพื่อใช้สำหรับกำจัดไวรัสและกู้ข้อมูลที่อยู่ใน flash drive หรือ removable drive โดยคอมพิวเตอร์ควรมีความพร้อมดังต่อไปนี้ – ติดตั้งโปรแกรม antivirus ที่อัพเดตฐานข้อมูลไวรัสล่าสุด กรณี Windows 8.1 จะมี antivirus มาพร้อมอยู่แล้วคือ Windows Defender ซึ่งควรอัพเดตฐานข้อมูลไวรัสให้ล่าสุดก่อน – ปิด Autorun หรือ AutoPlay เพื่อป้องกันไม่ให้ไฟล์ใน  flash drive หรือ  removable drive ที่ติดไวรัส ถูกเปิดอ่านเมื่อมีการเชื่อมต่อกับเครื่องคอมพิวเตอร์ ซึ่งอาจจะเป็นสาเหตุให้ไวรัสแพร่กระจายต่อไปได้ เชื่อมต่อ flash drive หรือ removable drive ที่ติดไวรัสเข้ากับเครื่องคอมพิวเตอร์ จากนั้นทำการแสกนไวรัสด้วยโปแกรม antivirus ที่เตรียมไว้  และทำตามคำแนะนำของโปรแกรม antivirus  เพื่อกำจัดไฟล์ไวรัสและไฟล์ shortcut ที่ถูกไวรัสสร้างขึ้นมา   ซึ่งเมื่อเสร็จสิ้นขั้นตอนนี้แล้ว อาจจะพบว่า drive จะกลายเป็นพื้นที่ว่าง ๆ แต่หากดู properties ของ drive แล้วจะพบว่ามีเนื้อที่ส่วนหนึ่งถูกใช้ในการเก็บข้อมูล ซึ่งที่จริงแล้วก็คือไฟล์ข้อมูลที่ถูกไวรัสซ่อนไปนั่นเอง ตัวอย่าง falsh drive ที่ติดไวรัส หลังจากกำจัดไวรัสออกไปแล้ว จะเห็นเป็น drive ว่าง ๆ แต่เมื่อดู properties จะเห็นว่ามีเนื้อที่ส่วนหนึ่งที่มีการใช้เก็บข้อมูลอยู่   ส่วนของขั้นตอนการกู้ไฟล์ที่หายไปนั้น ก็คือการทำให้คอมพิวเตอร์ของเราเห็นไฟล์ที่ซ่อนไว้นั่นเอง ซึ่งโดยปกตินั้น เราสามารถตั้งค่าการแสดงไฟล์ได้ในหน้าต่าง File Explorer โดยก่อนเข้าไปตั้งค่านี้ ให้เราเข้าไปที่ drive ที่ต้องการกู้ข้อมูลก่อน เพื่อจะได้เห็นผลจากการตั้งค่าได้เลย  จากนั้นเลือกเมนู View ที่อยู่ด้านบน แล้วเลือกเลือกเมนู Options แล้วเลือกคำสั่ง Change folder and search options เสร็จแล้วจะปรากฏหน้าต่างสำหรับตั้งค่า ต่อมาคือให้ไปที่แท็บ View จากนั้นให้ลองเลือกตัวเลือก ดังนี้ เลือก Show hidden files, folders, and drives จากนั้นกดปุ่ม Apply หากไฟล์ที่ถูกซ่อนยังไม่ปรากฏ ให้เลือกตัวเลือก Hide protected operating system files (Recommended) แล้วกดปุ่ม Apply ซึ่งเมื่อถึงขั้นตอนนี้แล้ว ไฟล์ที่ถูกซ่อนไว้ก็น่าจะปรากฏขึ้นมาแล้ว จะสังเกตเห็นว่าไฟล์ข้อมูลที่หายไปจะปรากฏขึ้นมา แต่ไอคอนจะเป็นสีจาง ๆ เนื่องจากถูกตั้งค่าให้เป็น Hidden โดยไวรัส และเมื่อดู properties ของไฟล์ จะพบว่าไม่สามารถเปลี่ยนค่าจาก Hidden เป็นปกติได้ เนื่องจากตัวเลือก Hidden ถูก disable อยู่ วิธีการแก้ไขเพื่อเอาค่า Hidden ออกทำได้ดังนี้คือ อันดับแรก ให้กลับไปตัั้งค่าการแสดงผลไฟล์และโฟลเดอร์ให้เป็นเหมือนเดิมก่อน (ติ๊กเครื่องหมายถูกตัวเลือก Hide protected operating system files (Recommended) แล้วกดปุ่ม

Read More »

อยากรู้ว่า Windows 10 Firewall Inbound Rules เปิดหรือปิด SMBv1, SMBv2 หรือไม่

อยากรู้ว่า Windows 10 Firewall Inbound Rules เปิดหรือปิด SMBv1, SMBv2 หรือไม่ ทดสอบจากเครื่อง Linux ที่ตั้งอยู่ใน network เดียวกัน ทำ nmap ค้นหา SMB (TCP Port 445) ไปที่เครื่อง Windows IP 192.168.x.yy   ครั้งที่ 1 รายการ File and Printer Sharing (SMB-In) ใน Firewall Inbound Rules เมื่อตั้งค่า Enabled = No ผลลัพธ์ $ nmap -A -T4 -Pn -p445 192.168.x.yy Starting Nmap 7.01 ( https://nmap.org ) at 2017-05-15 13:52 ICT Nmap scan report for 192.168.x.yy Host is up. PORT STATE SERVICE VERSION 445/tcp filtered microsoft-ds Nmap done: 1 IP address (1 host up) scanned in 2.39 seconds ครั้งที่ 2 รายการ File and Printer Sharing (SMB-In) ใน Firewall Inbound Rules เมื่อตั้งค่า Enabled = Yes ผลลัพธ์ $ nmap -A -T4 -Pn -p445 192.168.x.yy Starting Nmap 7.01 ( https://nmap.org ) at 2017-05-15 13:55 ICT Nmap scan report for 192.168.x.yy Host is up (0.00048s latency). PORT STATE SERVICE VERSION 445/tcp open microsoft-ds Microsoft Windows 10 microsoft-ds Service Info: OS: Windows 10; CPE: cpe:/o:microsoft:windows_10 Host script results: | smb-security-mode: | account_used: guest | authentication_level: user | challenge_response: supported |_ message_signing: disabled (dangerous, but default) |_smbv2-enabled: Server supports SMBv2 protocol Nmap done: 1 IP address (1 host up) scanned in 47.82 seconds ครั้งที่ 3 รายการ File and Printer Sharing (SMB-In) ใน Firewall Inbound Rules เมื่อตั้งค่า

Read More »

COMODO Certificates บรรทัดที่หายไปใน Google Chrome บน Ubuntu

ผมทำ Zeroshell Firewall สำหรับเป็น network authentication หลังจากผม setup ส่วนที่เกี่ยวกับ Certificate ที่จะใช้กับ https ผมได้ import COMODO Certificates (ที่มหาวิทยาลัยใช้บริการ) เมื่อทดสอบการใช้งาน เข้าโปรแกรม Firefox บน Ubuntu เมื่อผู้ใช้ใส่ URL เพื่อไปเว็บไซต์ใด ๆ จะพบกับหน้า network authentication และ https ถูกต้อง (เป็นสีเขียว) แต่เมื่อเปิดด้วย Google Chrome จะพบว่า https จะไม่ถูกต้อง (เป็นขีด / สีแดง) ทำไมจึงเป็นเช่นนั้น เปิดเข้าไปดูรายการ Certificates ที่อยู่ใน Browser Firefox เทียบกับ Google Chrome ก็พบว่ามีความแตกต่างต่างกันที่บรรทัด คือ COMODO RSA Domain Validation Secure Server CA ดังนี้ รูปข้างล่างนี้เป็นรายการ Certificates ของ COMODO ใน Firefox บน Ubuntu 16.04 ซึ่ง มี บรรทัดที่ว่านี้ รูปข้างล่างนี้เป็นรายการ Certificates ของ Comodo ใน Google Chrome บน Ubuntu 16.04 ซึ่ง ไม่มี รูปข้างล่างนี้เป็นรายการ Certificates ของ COMODO ใน Google Chrome for Windows 10 ซึ่ง มี บรรทัดดังกล่าวอยู่ในแท็บ Intermediate Certification Authorities ซึ่งผมพบว่ารายการมันจะเกิดขึ้นหลังจากเคยไปเว็บไซต์ใด ๆ ที่ติดตั้ง COMODO Certs ไว้ ผมก็ไป export “COMODO RSA Domain Validation Secure Server CA” จาก Firefox แล้วนำไป import ใน Google Chrome บน Ubuntu 16.04 เพื่อทดสอบว่ามันเกี่ยวกันมั้ย มันเกี่ยวกันจริง ๆ ด้วย แต่ผมไม่รู้ว่าทำไมจึงเป็นเช่นนั้น จึงต้องการจะบันทึกไว้ เผื่อใครที่รู้จะมาช่วยอธิบาย ในหน้า Login นั้น สัญลักษณ์ https แสดงเป็นสีเขียว ถูกต้องได้ ตามรูป ใครรู้มาเฉลยที เพิ่มเติมท่อนข้างล่างนี้เมื่อ 11 พ.ค. 60 ครับ ตอนนี้ผมได้คำตอบมาอัปเดตแล้วครับ จากที่ได้ความช่วยเหลือจากคุณพรพิทักษ์ สันติภาพถาวร ผู้ดูแล PSU CERTS เราพบว่าในหน้าคอนฟิกของ Zeroshell นั้น ในเมนู Captive Portal X.509 Authentication นั้นหลังจากเรา import #1 Trusted CA จากไฟล์ STAR_psu_ac_th.ca-bundle ดังรูป แล้วเราจะได้บรรทัด COMODO RSA Domain Validation Secure Server CA เพิ่มขึ้นมา ดังรูป และ #2 Imported Certificates and Keys ด้วยไฟล์ STAR_psu_ac_th.crt และ STAR_psu_ac_th_nopass.key ดังรูป แล้วเราจะได้บรรทัด OU=Domain Control Validated, OU=PositiveSSL Wildcard, CN=*.psu.ac.th มาดังรูป จากนั้น เราจะต้องไปคลิกตัวเลือก Authentication เพื่อ เลือก Allow the X.509 login

Read More »

pGina fork 3.2.4.1 configuration

ในตอนที่แล้วได้พูดถึงว่า pGina fork คืออะไรไปแล้ว ในครั้งนี้จะพูดถึงการตั้งค่าสำหรับทำเป็น Windows Authentication ในเครื่องคอมที่เป็น Windows 10 ผมได้ทำ screen capture มาเฉพาะที่ผมได้ใช้งาน ซึ่งก็คือ Local Machine, RADIUS plugin, Single User plugin และ LDAP plugin ครับ ตามดูกันมานะครับ หน้าแรกคือแท็บ General จะแสดงให้เห็นว่าโปรแกรมพร้อมทำงาน ให้ดูที่ข้อความที่แสดงเป็นสีเขียวใต้ข้อความ pGina Service status และตัวเลือกที่ผมเลือกใช้คือ Use original username to unlock computer (เพราะว่าผมจะใช้ Single User plugin ร่วมด้วย) แท็บถัดไปคือ แท็บ Plugin Selection อันแรกที่จะใช้คือ Local Machine คือ user ที่สร้างขึ้นภายใน Windows นั่นเอง สังเกตจะมีตัวเลือกที่ Authentication และ Gateway แก้ไขรูปภาพ Local Machine Plugin ต้อง ติ๊ก Notification ด้วย จึงจะมีผลกับ option Remove account and profile after logout จากนั้นให้คลิกปุ่ม Configure จะได้ค่าดีฟอลต์ ดังรูปข้างล่างนี้ ผมจะใช้ค่าตัวเลือก Remove account and profile after logout when account does not exist prior to logon เพื่อที่ไม่ต้องเก็บ user profile ที่เป็น user จาก user database ภายนอก เช่น จาก RADIUS server เป็นต้น และ หากต้องการให้ user นั้นมีสิทธิมากกว่า User ทั่วไป ก็ตั้ง Mandatory Group เช่น ตั้งเป็น Administrators เป็นต้น ต่อไปก็มาถึง RADIUS plugin เลือก Authentication และ Notification จากนั้นคลิกปุ่ม Configure จะได้ค่าดีฟอลต์ ดังรูป ผมจะเลือกใช้และใส่ค่าต่าง ๆ เหล่านี้ครับ เลือก Enable Authentication เพื่อสอบถาม username/password เลือก Enable Accounting เพื่อส่งข้อมูลบันทึกค่า Acct-Status-Type ไปยัง RADIUS Server แล้วระบุ Server IP และ Shared Secret ที่จะต้องตรงกันกับที่ระบุอยู่ใน config ที่ RADIUS server เช่น FreeRADIUS จะอยู่ในไฟล์ /etc/freeradius/clients.conf เป็นต้น (13 ก.ค. 2561) เลือก Called-Station-ID ด้วย หากต้องการเลข MAC Address เก็บด้วยนอกจากเก็บ IP (10 ก.ค. 2561) พบว่าจำเป็นต้องเลือก Accounting Options หัวข้อ Send Interim Updates เพื่อให้มีการส่งค่า accounting ได้ (โดยใช้ค่า Send update every 900 seconds ตามที่เป็นค่า default) แล้วระบุ IP Address

Read More »