วันอังคารที่ 29 เมษายน พ.ศ. 2551

[opensuse][vsftpd] จะเปิด services ftp ทั้งที ทำไมมันยุ่งยังงี้ [2]

ภาคสอง
ลง service ftp แล้วแต่ connect ไม่ได้ เจอ OOPS
หาใน google หลายตัว แต่ทำไมผลลัพธ์มันออกทะเลหว่า
(แต่ก็ได้ information บางอย่างมาเป็นไกด์)

เช็คใน help และ information สรุปแล้วได้ความว่า

vsftpd สามารถทำงานได้สองแบบ คือ
1. ทำงานผ่าน xinetd
2. ทำงานแบบ stand alone

error: Could not bind listening IPv4 socket เกิดขึ้นมาเพราะ vsftpd พยายามจะเข้าไปรับข้อมูลจากพอร์ทโดยตรง (พอร์ทใหนก็ไม่รู้)
แต่เพราะ xinetd ทำงานอยู่ แล้วก็คง bind socket นั้นไว้แล้ว
vsftpd ไป bind ซ้ำก็เลย error อย่างที่เห็น

แต่การที่ vsftpd ไป bind socket โดยตรง แสดงให้เห็นว่า vsftpd ทำงานแบบ stand alone อยู๋
งั้นเราจะลองปิด ให้มันไปทำงานภายใต้ xinetd

vsftpd จะใช้ /etc/vsftpd.conf เป็น configuration file
ถ้าต้องการให้ vsftpd ทำงานแบบ stand alone ก็ต้องเปิด listen = YES ใน /etc/vsftpd.conf
ถ้าจะปิด ก็ไป comment listen=YES ทิ้งไป
จากนั้นลองเข้า ftp ใหม่
เฮ้อ ได้แล้ว ได้ซะที

[opensuse][vsftpd] จะเปิด services ftp ทั้งที ทำไมมันยุ่งยังงี้

เมื่อวานตั้งใจจะเปิด service ของ ftp กับ telnet
เพราะตอนลง linux ลงแบบเร็วจัดคือใช้ค่า default ทุกอย่างเลย
ดังนั้น telnet กับ ftp เลยไม่ได้ติดตั้งมาด้วย

ไม่เป็นไร ลงเพิ่มใหม่ได้
แต่ ลงยังงัยล่ะ ชินกับ linux redhat [fedora][gnome] มาเจอ linux suse [opensuse][kde] เข้าไป ก็มีอึ้งไปพักใหญ่

ตั้งหลักได้แล้ว
ก็เปิดเข้ามาที่ start เมนู

เลือกแท็บ computer จากนั้นจะเห็น Administrator Settings [YAST]
ก็เลือกซะ
(จริงๆแล้วเลือก Install Software เลยก็ได้นิ)ใส่รหัสผ่านของ root
แล้วก็ enterเราก็จะได้หน้าจอ YaST Control Computer
เลือก Software --> จากนั้นทางขวามือเลือก Software Managementที่ Software Management ให้หา package ที่ต้องการจะลง
จากในรูปจะค้นหาแบบ package group
โดยมองหาใน package เกี่ยวกับ Productivity --> Networking --> FTP --> Server
แล้วเลือกติดตั้ง vsftpd (very secure FTP daemon)กด Accept แล้วมันก็จะลง Software เพิ่มเติมให้เรา

หลังจากนั้นเราก็ต้องมาสั่งให้ vsftpd ทำงานด้วย - ลงแล้วก็ต้องทำงานด้วยสิ
ก็อยู่ที่หน้าจอ YaST Control Computer ตามเดิม แต่คราวนี้เลือกในส่วน Network Services
แล้วเลือก Network Services (xinetd)
เพื่อเปิด Network Service Configuration (xinetd)ค้นหาบรรทัดที่เป็น vsftpd [ในรูปคือ /usr/sbin/vsftpd - นั่นก็คือที่ๆเก็บโปรแกรมนี้เอาไว้น่ะเอง]
ที่ column "status" จะเห็นว่ามีทั้ง On, --- และ NI
On ก็คือ service นั้น active อยู่
--- ก็คือ service นั้น inactive อยู่
NI ก็คือ service นั้นยังไม่ได้ install เลย configure ไม่ได

เราก็เลือกบรรทัด vsftpd
ดูให้แน่ใจว่ามันเป็น On หรือ --- หรือ NI
ถ้า On ก็ไม่ต้องทำอะไร
ถ้า --- ก็กดปุ่ม Toggle status (On or Off) ที่อยู่ด้านล่างขวา
แต่ถ้าเป็น NI ก็ไม่ต้องทำอะไร แสดงว่าลงผิดพลาด อาจจะต้องลองลงใหม่


ได้แล้ว แต่ว่า
พอเราทดลอง ftp ดูปรากฏว่า เจอ error
500 OOPS: could not bind listening IPv4 socketเอาล่ะสิ
ต่อคราวหน้า