พบบั๊ก GHOST ใน glibc ความร้ายแรงระดับสูง กระทบลินุกซ์รุ่นเก่าจำนวนมาก
บริษัท Qualys รายงานบั๊กในไลบรารี glibc ให้ชื่อช่องโหว่ว่า GHOST (CVE-2015-0235) มีความร้ายแรงระดับสูงมาก กระทบลินุกซ์ตั้งแต่ปี 2000 และสามารถยิงช่องโหว่นี้ได้จากระยะไกล บั๊กนี้แก้ไขไปแล้วตั้งแต่สองปีก่อน แต่ไม่ได้ระบุว่าเป็นบั๊กความปลอดภัยร้ายแรงเนื่องจากยังไม่มีรายงานว่าสามารถอาศัยบั๊กนี้โจมตีเครื่องเซิร์ฟเวอร์ได้
ช่องโหว่นี้เป็นบั๊กของฟังก์ชั่น gethostbyname และ gethostbyname2 ของ glibc ตั้งแต่เวอร์ชั่น 2.2 ที่ออกมาตั้งแต่ปี 2000 เป็นต้นไป ความร้ายแรงของบั๊กนี้อยู่ที่การรันบั๊กจากระยะไกลได้ง่าย เพราะฟังก์ชั่นทั้งสองฟังก์ชั่นมักใช้งานในเซิร์ฟเวอร์อยู่แล้ว ทีมงานสามารถสร้างอีเมลที่มุ่งร้ายขึ้นมาเพื่อส่งเข้าไปรันโค้ดบนเซิร์ฟเวอร์ได้สำเร็จ เพียงแค่ส่งอีเมลเข้าเมลเซิร์ฟเวอร์
สำหรับคนที่ติดตั้งลินุกซ์ที่ใช้ glibc รุ่นตั้งแต่ 2.18 เป็นต้นไป (ออกเมื่อกลางปี 2013) จะไม่ได้รับผลกระทบจากบั๊กนี้อยู่แล้ว แต่เนื่องจากการแก้บั๊กไม่ได้เป็นการแก้ด้านความปลอดภัย คนที่ใช้ลินุกซ์รุ่นที่ออกก่อนหน้านั้นอาจจะไม่ได้รับแพตช์ โดยรุ่นที่มีบั๊กแต่ยังไม่ได้แพตช์ เช่น Debian 7, RHEL 6 และ 7, CentOS 6 และ 7, และ Ubuntu 12.04 เป็นต้น ผู้ดูแลระบบทุกคนควรรีบตรวจสอบและอัพเดตเมื่อผู้ผลิตปล่อยแพตช์ออกมาครับ
ทาง Qualys รายงานโค้ดทดสอบบั๊กเอาไว้ด้วย สามารถนำไปคอมไพล์ทดสอบบั๊กกันได้
ชื่อบั๊กเป็นการย่อมาจากคำว่า GetHOST
ที่มา - Qualys ผ่าน Blognone.com
4 ความผิดพลาดซ้ำซากในการเทรด
ข้อที่ 1: เทรดโดยไม่มีหลักการ
“ถ้าคุณไม่เข้าใจว่าทำไมคุณถึงซื้อหุ้นตัวนั้น คุณก็จะไม่รู้ว่าควรขายมันตอนไหน ซึ่งนั่นมักจะทำให้คุณขายหุ้นทิ้งตอนที่ราคาของมันทำให้คุณกลัว ทั้งๆที่โดยส่วนมากแล้ว เมื่อไหร่ก็ตามที่คุณกลัวราคาหุ้นในขณะนั้น มันคือโอกาสซื้อ ไม่ใช่จุดบ่งชี้ว่าคุณควรขายมันทิ้ง” – Martin Taylor –
ถ้าคุณไม่มีจุดยืน คุณก็ไม่มีแก่นหรือสิ่งใดให้ยึดถือปฏิบัติ ถ้าคุณไม่มีเป้าหมายว่าจะไปที่ใด คุณก็ไม่มีวันไปถึงจุดหมาย… จงกำหนดหลักการ วางแผนการลงทุน และทำตามแผนที่คุณวางไว้เสมอ เพราะถ้าคุณไม่มีแผนการของตนเอง คุณก็จะต้องตกอยู่ในแผนการของคนอื่น
ข้อที่ 2: เข้าซื้อหุ้นไม้ใหญ่เกินไป (Trading too big)
“นักลงทุนมักจะให้ความสำคัญเกือบทั้งหมดไปที่จุดเข้าซื้อ (entry price) ทั้งๆที่โดยส่วนมากแล้ว ขนาดของ lot (entry size ) ในแต่ละครั้งมีความสำคัญกว่าจุดเข้าซื้อ เพราะหาก entry size แต่ละครั้งใหญ่มากเกินไป เวลาที่ราคาปรับตัวลงอย่างไม่มีนัยสำคัญ มันก็มักจะทำให้คุณกลัวและอกออเดอร์ก่อนทั้งที่ยังมีแนวโน้มดีนั้นทิ้งไป ดังนั้น ยิ่งขนาดของ lotใหญ่มากไปเท่าไร ความกลัวจะเข้ามาครอบงำการตัดสินใจของคุณ แทนที่จะตัดสินใจจากแผนการและประสบการณ์ที่พิจารณาอย่างดีแล้ว” – Steve Clark –
การเทรดครั้งเดียวใน lot ที่ถือว่ามีสัดส่วนที่เยอะของพอร์ต จะทำให้คุณขายหมูเพราะความกลัวของคุณ ไม่ใช่เพราะระบบลงทุนของคุณบอกให้ขาย ดังนั้น ก่อนที่จะเทรด คุณควรกำหนดจำนวนเงินที่คุณสามารถยอมรับขาดทุนได้ให้อยู่ในระดับที่ไม่เสี่ยงมากไป ตัวอย่างเช่น เงินในพอร์ตมี 1000$ คุณยอมรับขาดทุนได้ 200$/ครั้ง โดยที่จุดตัดขาดทุนของคุณคือ เมื่อราคาทะลุแนวต้านล่าสุดของเมื่อวานไป
ข้อที่ 3: ซื้อขายมากเกินไป (Overtrading)
การที่เราจะเทรดบ่อยขนาดไหนนั้นขึ้นอยู่กับแนวทางการลงทุนของเรา แต่ไม่ว่าคุณจะใช้แนวทางลงทุนแบบไหนก็ตาม การซื้อขายน้อยครั้งย่อมดีกว่าเสมอ (less is more) อย่าเพิ่งเข้าใจผมผิดไป เพราะไม่ว่าคุณจะทำการบ้านหรือเตรียมตัวมาอย่างดีแค่ไหนก็ตาม แต่กราฟนั้นก็มักจะเกิดเหตุการณ์ที่ไม่คาดฝันอยู่บ่อยๆ ดังนั้น คุณควรจะมีไอเดียหรือกราฟที่จะเลือกลงทุนมากกว่า 1 ตัวอยู่เสมอ แต่การที่คุณซื้อๆขายๆในค่าเงินทุกตัวที่เกิดสัญญาณ ทำให้เงินลงทุนและพลังงานของคุณถูกกระจายออกไปในกราฟหลายตัวมากจนเกินไปนั้น คงไม่ใช่การตัดสินใจที่ฉลาดนัก
คุณควรยึดมั่นอยู่กับสิ่งที่คุณรู้และเข้าใจ เลือกใช้วิธีการที่คุณทำแล้วได้ผล อย่าหลงไปตามกระแสข่าวลือหรือการลงทุนที่คุณไม่ได้เปรียบ และหลีกเลี่ยงการลงทุนใดๆก็ตามที่คุณไม่ได้มีความเข้าใจในสิ่งนั้นเลยแม้แต่น้อย
“ในบางครั้ง การเทรดที่ดีที่สุดก็คือ การไม่เทรดเลย และตั้งมั่นอยู่ระบบที่เราถือ” ผมรู้ดีว่าในช่วงตลาดกระทิงดุนั้น มันมีสิ่งที่เย้ายวนใจมากที่จะทำให้คุณเทรดบ่อยครั้ง เมื่อกราฟเกือบทุกตัวขึ้นไปทะลุ High เดิม คุณรู้สึกเหมือนเด็กที่อยู่ในร้านขนมหวานแล้วไม่รู้จะเลือกหยิบขนมชิ้นไหนดี จงเลือกกราฟเพียงไม่กี่ตัวในจังหวะเวลาที่เหมาะสม อย่าพยายามที่จะไล่เทรดทุกตัว เพราะคุณไม่สามารถทำได้ (ยกเว้นว่าคุณเป็นคอมพิวเตอร์!!!)
เบื้องหลังของความผิดพลาดในข้อที่ 2 และ ข้อที่ 3 มักจะเกิดจากความมั่นใจที่มากเกินไปถึงแม้้ว่าความมั่นใจนั้นเป็นสิ่งสำคัญในการทำตามแผนและระบบลงทุนของคุณ แต่ถ้ามีความมั่นใจที่มากเกินพอดี (Overconfidence) มันจะก่อให้เกิดผลเสีย เพราะความมั่นใจที่มากเกินไปนั้น เป็น 1 ในเหตุผลสำคัญที่ว่า ทำไมนักลงทุนและนักเก็งกำไรที่มีประสบการณ์จึงยังสามารถขาดทุนได้
เมื่อไรก็ตามที่คุณรู้สึกว่า ความสำเร็จของคุณในตลาดมาจากการที่คุณเป็นอัจฉริยะ ไม่ได้มาจากความคิดที่รอบคอบและไตร่ตรองอย่างระมัดระวังในการลงทุน ก็เท่ากับว่าคุณใกล้ถึงเวลาที่จะขาดทุนแล้ว
ข้อที่ 4: เฝ้าดูกราฟมากเกินไป (Watching your stocks too closely)
“การเฝ้ามองกราฟบนหน้าจอทั้งวันนั้น ไม่ก่อให้เกิดประโยชน์ใดๆและเป็นสิ่งที่ไม่ควรทำ ผมเชื่อว่าการเฝ้าดูทุกคำสั่งซื้อขายจะทำให้คุณขายหมูก่อนเวลาอันควร และ มักทำให้คุณ buy ในราคาที่สูงเกินไปหรือ sell ในราคาที่ต่ำเกินไปของวันนั้น รวมถึงทำการ Overtrading ผมแนะนำว่าควรหลีกเลี่ยงการเฝ้ามองกราฟตลอดเวลา และหันไปทำสิ่งอื่นที่เป็นประโยชน์ต่อการลงทุนและต่อตัวของคุณเองในช่วงเวลาซื้อขาย เพื่อหลีกเลี่ยงข้อผิดพลาดเหล่านั้น” - Steve Clark –
“หากคุณใช้เวลาอยู่ในร้านตัดผมสักพักหนึ่ง ไม่ช้าก็เร็วคุณจะคิดว่าคุณต้องตัดผม ทั้งๆที่คุณหัวล้าน” – Warren Buffett –
การเฝ้ามองกราฟอย่างใกล้ชิดจะทำให้เกิดผลเสียต่อผลตอบแทนของคุณ เมื่อคุณเข้าเข้าเทรดแล้ว คุณไม่ควรซื้อขายเพียงเพราะเห็นคำสั่งซื้อขายเล็กๆน้อยๆที่สวนทางกับ Position ของคุณ การเฝ้ามองกราฟมากเกินไปนั้น ก็เปรียบเหมือนคุณนั่งอยู่ในร้านเบเกอรี่แสนอร่อยขณะที่คุณกำลังลดความอ้วน ดังนั้น คุณควรหาสิ่งอื่นทำแทนที่จะนั่งเฝ้าดูกราฟทั้งวัน อย่างเช่นการอ่านหนังสือ ออกกำลังกาย หรือ อะไรก็ตามที่ทำให้ไม่ต้องยุ่งกับการดูราคาหุ้นระหว่างวันมากเกินไป หากคุณยังสงสัยอยู่ว่า ก็ผมเป็นเทรดเดอร์แล้วจะไม่ให้เฝ้าหน้าจอได้อย่างไร? ผมขอทิ้งท้ายไว้ด้วยคำคมของ โซรอส นะครับ ลองเอาไปเปรียบเทียบกับการเทรดดู
“ถ้าคุณออกไปทำงานทุกวัน เพียงเพราะคิดว่าคุณต้องทำอะไรซักอย่าง ผลก็คือ มันทำให้คุณมักจะทำสิ่งที่ไม่มีประโยชน์อะไรเพื่อไม่ให้เบื่อไปวันๆ ซึ่งผมคิดว่าคุณควรจะอยู่เฉยๆดีกว่า ปกติแล้วผมจะไปทำงานเฉพาะเวลาที่มีงานให้ทำ ในเวลาที่มันควรค่าแก่การทำจริงๆ ผลก็คือ ผมเรียนรู้ที่จะสามารถแยกแยะได้ว่า วันไหนที่มีงานสำคัญกว่าวันอื่นๆ และรู้ว่าเวลาไหนที่ควรมุ่งมั่นกับงานเป็นพิเศษ”
Credit www.thaiforexschool.com ศ.เกื้อกุล วัยรุ่นพันล้าน
ASUS Zenfone 2 มาแล้วพร้อม Android 5 สิ่งกำลังรอคอย

ASUS เปิดตัว Zenfone 2 และ Zenfone Zoom สองทายาทของสมาร์ทโฟนที่ขายดีที่สุดของ ASUS
ถัดจากงานแถลงข่าวของ LG ค่ายต่อมาที่มีงานแถลงข่าวก็คือ ASUS ที่ประกาศเปิดตัวสองผู้สืบทอดของหนึ่งในสมาร์ทโฟนที่ขายดีที่สุดในโลกเมื่อปีที่แล้วอย่าง ASUS ZenFone ในชื่อ ASUS Zenfone 2 และ ASUS Zenfone Zoom
ในด้านการออกแบบ Zenfone 2 มาพร้อมกับการออกแบบในรูปลักษณ์ใหม่ทั้งหมด และมีมิติที่ตื้นลึกมากขึ้น อีกทั้งยังได้รับการปรับปรุงคุณภาพในหลายๆ จุดจากรุ่นที่แล้ว ไม่ว่าจะเป็นการปรับปรุงคุณภาพของหน้าจอทัชสกรีนไม่ให้มีการหน่วงเวลาเมื่อทัช (Zero-lag input) ปรับขนาดหน้าจอให้ใหญ่มากขึ้น และเพิ่มมุมมองของจอเป็น 72% (เมื่อเทียบกับ iPhone 6 Plus ที่มีมุมมองเพียง 63.8% จอ ZenFone 2 จะมีขนาดใหญ่กว่าอย่างเห็นได้ชัดในตัวเครื่องที่เล็กกว่าและมีขนาดจอที่เท่ากัน) เพิ่ม ZenMotion สำหรับใช้ควบคุมตัวเครื่องด้วยการสั่งการแบบท่าทาง และท้ายที่สุดคือ ZenUI 2 ที่ปรับปรุงให้ตรงใจผู้ใช้มากขึ้น พร้อมกับเปลี่ยนฐานไปรันบน Android 5.0 Lollipop
ส่วนการออกแบบ Zenfone Zoom นั้นจะคล้ายๆ กับการออกแบบ Zenfone 2 แต่เปลี่ยนโมดูลกล้องชุดใหญ่ให้คล้ายกับของ Nokia Lumia 1020 ซึ่ง ASUS เคลมว่าเป็นสมาร์ทโฟนติดกล้อง optical zoom ที่มีขนาดบางที่สุดในโลก และจะเพิ่มความสามารถของกล้องให้ทัดเทียมกับกล้องระดับ DSLR เข้ามามากขึ้น
ส่วนสเปคทางเทคนิคทั้งสองรุ่นมีสเปคพื้นฐานเหมือนกันทั้งหมด แต่จะแตกต่างกันตรงที่กล้อง ซึ่งรายละเอียดมีดังต่อไปนี้ครับ
- หน่วยประมวลผล Intel Atom Z3580 แบบควอดคอร์ 64 บิต ความเร็ว 2.3 GHz
- Zenfone 2 แยกรุ่นขายระหว่างแรม 2GB และแรม 4GB, Zenfone Zoom ไม่ระบุว่ามีแรมเท่าไหร่
- หน้าจอ AH-IPS ขนาด 5.5 นิ้ว ความละเอียด 1920*1080 พิกเซล ความสว่าง 400 cd/m2
- กล้อง Zenfone 2 ตัวหลักมีความละเอียด 13 ล้านพิกเซล บนเทคโนโลยี PixelMaster มีค่ารูรับแสง f/2.0 และมี Zero Shutter Lag กล้องหน้า 5 ล้านพิกเซล บนเทคโนโลยี PixelMaster
- กล้อง Zenfone Zoom ตัวหลักมีความละเอียด 13 ล้านพิกเซล บนเทคโนโลยี PixelMaster มี Optical Zoom 3 เท่า, OIS, โฟกัสด้วยเลเซอร์ กล้องหน้า 5 ล้านพิกเซล บนเทคโนโลยี PixelMaster
- รองรับสองซิมแบบแอคทีฟทั้งคู่
- รองรับ LTE Cat-4
- แบตเตอรี่ 3000 mAh และมีระบบ Fast Charging สามารถชาร์จแบตที่ 0-60% ได้ในเวลาเพียง 39 นาที
ASUS ระบุว่าจะเริ่มวางขาย Zenfone 2 ในเดือนมีนาคมนี้ที่ราคาเริ่มต้น 199 ดอลลาร์สหรัฐฯ ส่วน Zenfone Zoom จะเริ่มวางขายในไตรมาสที่สองของปีนี้ ที่ราคา 399 ดอลลาร์สหรัฐฯ ครับ
ที่มา - ASUS CES 2015 Event, The Next Web, The Verge ผ่าน Blognone.com
อยากได้อีกแล้ว : Lenovo เปิดตัว LaVie Z โน้ตบุ๊กซีรีส์ใหม่เบาเพียง 780 กรัม

ยังปล่อยของไม่หมดสำหรับ Lenovo ที่เพิ่งเปิดตัวโน้ตบุ๊กไลน์ใหม่ไปหลายรุ่น ล่าสุดเปิดตัวโน้ตบุ๊กซีรีส์ใหม่ LaVie ที่มาพร้อมกับการท้าชิงตำแหน่งโน้ตบุ๊กที่บางเบาสุดในโลกด้วยน้ำหนักเริ่มต้นเพียง 780 กรัมเท่านั้น
พร้อมกับเปิดตัวซีรีส์ใหม่ Lenovo ได้เผยโฉมเครื่องจริงมาทั้งสิ้น 2 รุ่นคือ LaVie Z HZ550 ที่เป็นอัลตร้าบุ๊ก และ LaVie Z HZ750 ที่สามารถพับได้มากกว่า (หนักกว่าเช่นกัน) โดยทั้งสองรุ่นใช้วัสดุหลักเป็นแมกนีเซียมลิเทียม ซึ่ง Lenovo เคลมว่าเบากว่าอะลูมิเนียม 50% เบากว่าแมกนีเซียม 30% แต่ให้ความแข็งแกร่งในระดับเดียวกัน โดยความบางไม่หวือหวานักที่ 16.9 มม.
สเปคของทั้งสองรุ่นต่างกันพอสมควร LaVie Z HZ550 เป็นอัลตร้าบุ๊ก ใช้ซีพียูรหัส Broadwell-U หน้าจอขนาด 13" แบบ IGZO ความละเอียด 2560x1440 พิกเซล ใช้ SSD 128GB และแรม 4GB ส่วน LaVie Z HZ750 เป็นโน้ตบุ๊กหมุนจอได้ 360 องศา โดยเลือกใช้ซีพียูรุ่นแรงกว่าของ Broadwell มีแบตเตอรี่จุมากกว่า 50% แต่สเปคอื่นๆ เท่ากัน
สำหรับราคาของทั้งสองรุ่นเปิดมาที่ 1,299 เหรียญ (ประมาณ บาท) สำหรับ LaVie Z HZ550 และ 1,499 เหรียญ (ประมาณ บาท) สำหรับ LaVie Z HZ750 โดยจะเริ่มขายเดือนพฤษภาคมนี้ครับ
ที่มา - Tom's Hardware ผ่าน Blognone.com
สิ่งที่ฟรีแลนซ์ต้องเขียนในใบสัญญา
สรุปสิ่งที่ฟรีแลนซ์ต้องเขียนในใบสัญญา
- ส่งงานให้ดูกี่แบบ แก้ไขได้กี่ครั้ง
- มัดจำกี่บาท
- ค่ายกเลิกงานเท่าไหร่
- ลิขสิทธิ์เป็นของใคร
- จ่ายเงินในระยะเวลากี่วันหลังงานเสร็จ
- หากลูกค้าไม่ให้ความร่วมมือในการทำงานให้เสร็จ จะปรับเท่าไหร่
- บริการหลังการขายเป็นอย่างไร
ส่วนรายละเอียดลองตามไปอ่านได้ที่ 7 สิ่งสำคัญที่ฟรีแลนซ์ต้องเขียนในใบสัญญา ก่อนโดนโกง !!
Server Setup : การกำหนดสิทธิ์ Root ให้กับ user บน Ubuntu 14.04
Pre-Flight Check
- These instructions are intended specifically for adding a user on Ubuntu 14.04 LTS.
- I’ll be working from a Liquid Web Core Managed Ubuntu 14.04 LTS server, and I’ll be logged in as root.
Step 1: Add the User
It’s just one simple command to add a user. In this case, we’re adding a user called mynewuser :
adduser mynewuser
First you will be prompted to enter the user’s password (twice); do this step. Next you’ll be prompted to enter in the user’s information. This step is not required, and pressing enter fills the field with the default information:
Adding user `mynewuser’ … Adding new group `mynewuser’ (1001) … Adding new user `mynewuser’ (1001) with group `mynewuser’ … Creating home directory `/home/mynewuser’ … Copying files from `/etc/skel’ … Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for mynewuser Enter the new value, or press ENTER for the default Full Name []: User Room Number []: Work Phone []: Home Phone []: Other []:
When prompted with the following question, enter Y then hit enter to continue.
Is the information correct? [Y/n] Y
Step 2: Grant Root Privileges to the User
visudo
Find the following code:
# User privilege specification root ALL=(ALL:ALL) ALL
In this case, we’re granting root privileges to the user mynewuser . Add the following below that code:
mynewuser ALL=(ALL:ALL) ALL
Then exit and save the file with the key commands Ctrl-x, Y, enter.
If you’ve followed the instruction above correctly, then you should now have a user setup by the name of mynewuser which can use sudo to run commands as root!
ที่มา How to Add a User and Grant Root Privileges on Ubuntu 14.04
Setup FTP Server under Ubuntu/Debian
เก็บไว้ก่อน เดี๋ยวค่อยมาแปลและเขียนใหม่นะครับ
This article contains a brief introduction to set up an FTP-Server under Debian Linux. Activation of an FTP server should be done similarly with other distributions of Linux. Debian 5.0 (x86) was used as the test system.
Contents
- Installation of the required proftpd Package
- Adjusting the Configuration
- Anonymous FTP
- Re-loading the Configuration and Re-starting the FTP Server
- Links
Installation of the required proftpd Package
ProFTPd FTP-Server was used for this introduction because of its simply installation and configuration.
apt-get install proftpd
If the package cannot be found, update the local list of packages using:
apt-get update
If the package still cannot be installed after that, check the /etc/apt/sources.list on the appropriate Debian mirror server. You will find more information about this in the article Debian Mirror.
Indicate in the subsequent inquiry whether the FTP server should act as a standalone server (standalone) or as a service of inetd. In this example, the standalone option has been selected. Adjusting the Configuration
Our configuration assumes that we will login using system users found in the ftpuser group.
In order to adjust the configuration to your needs, edit the /etc/proftpd/proftpd.conf file.
If you are not using IPv6, this feature should be deactivated first:
UseIPv6 off
After that, we will add the following instruction at the end of the file:
<Global> RequireValidShell off </Global> DefaultRoot ~ ftpuser <Limit LOGIN> DenyGroup !ftpuser </Limit>
What do the instructions mean?
As a first step, we told ProFTPd that users wanting to login do not need a shell. Afterwards, we instructed ProFTPd to lock users in their home directory using DefaultRoot. Finally, we specified that only those users who are members of the ftpuser group could login.
We will now restart our FTP server so that our configuration takes effect:
/etc/init.d/proftpd restart
Then, we will create the ftpuser group and a first user that will be able to login.
addgroup ftpuser
Now, we create the user:
adduser ftpbenutzer -shell /bin/false -home /var/www
Finally, we assign the user to the ftpuser group:
adduser ftpbenutzer ftpuser
That’s everything. You should now be able to login with the user via FTP.
You have to run sudo deluser username groupname to delete a user from it's corresponding group. And run this sudo deluser --group groupname command to delete a group.
Anonymous FTP
By adding the following section to the etc/proftpd/proftpd.conf file, you will also give anonymous users (read) access to the FTP area:
. . . <Anonymous ~ftp> User ftp Group nogroup # We want clients to be able to login with "anonymous" as well as "ftp" UserAlias anonymous ftp # Cosmetic changes, all files belong to ftp user DirFakeUser on ftp DirFakeGroup on ftp RequireValidShell off # Limit the maximum number of anonymous logins MaxClients 10 # We want 'welcome.msg' displayed at login, and '.message' displayed # in each newly chdired directory. DisplayLogin welcome.msg DisplayFirstChdir .message # Limit WRITE everywhere in the anonymous chroot <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> # # Uncomment this if you're brave. # # <Directory incoming> # # # Umask 022 is a good standard umask to prevent new files and dirs # # # (second parm) from being group and world writable. # # Umask 022 022 # # <Limit READ WRITE> # # DenyAll # # </Limit> # # <Limit STOR> # # AllowAll # # </Limit> # # </Directory> </Anonymous> . . .
To make sure, that user "ftp" is able to login anonymously to ftp-space, you have to add the user to the group "ftpuser":
adduser ftp ftpuser
Re-loading the Configuration and Re-starting the FTP Server
The configuration will have to be re-loaded after the adjustments to the /etc/proftpd/proftpd.conf file:
/etc/init.d/proftpd reload
Because the FTP server will be stopped when re-loading the configuration, it will also have to be re-started afterwards:
/etc/init.d/proftpd start
Links
- http://www.proftpd.org/ - Web site for the project
- http://www.castaglia.org/proftpd/ - Web site for the primary developer with numerous HOWTO pages and background information
Android : Input type="file" ไม่ทำงานบน webView
เพิ่งเขียนให้ app hatyaicityclimate.org สามารถรายงานสถานการณ์ พร้อมอัพโหลดภาพได้ และรายงานระดับน้ำจากสมาชิกด้วย แต่ติดว่าเมื่อกดปุ่มเลือกไฟล์ภาพจากกล้อง ด้วย tag input type="file" จะไม่เด้งหน้าเลือกไฟล์มาให้
คำแนะนำคือให้เปลี่ยนไปใช้ WebChromeClient แทน แก้ไขตามตัวอย่าง หรือไปดูจากที่มาได้เลยครับ
Bug : isset($body['location']) ดันเป็นจริงเมื่อ $body ไม่ใช่ array
งมหาเรื่องแปลกอยู่หลายอาทิตย์ วันนี้เลยตามหาว่าเกิดอะไรขึ้นกับโปรแกรม PHP ที่เขียนบน Linux และไม่เคยทดสอบบน Windows เมื่อเอามาติดตั้งก็เลยเกิด error แปลก
ปรากฏว่า คำสั่ง isset($body['location']) ดันเป็นจริงเมื่อ $body ไม่ใช่ array ทำให้เช็คเงื่อนไขผิดพลาด
แก้ไข : ตรวจสอบด้วยว่าเป็น array หรือไม่
if ( is_array($body) && isset($body['location']) ) then ;Do something
Material Design : นำเสนอหลักการและวิธีการออกแบบ Material Design ผ่าน Slide

หลังจากที่ Google ได้ปรับแนวทางการออกแบบ Mobile Application และปรับมาจนถึงเว็บไซท์ ให้มาใช้แนวทางของ Material Design ก็มีคนออกมาให้คำแนะนำและสอนวิธีการกันมากมาย
เว็บ hugeinc.com ก็เป็นอีกเว็บหนึ่งที่นำเสนอในรูปแบบของ Slide ให้เราลองศึกษากันเป็นขั้นตอนที่จะเข้าใจได้ง่ายขึ้น ลองตามไปอ่านดูนะครับ ที่ Google Material Design