1. การติดตั้ง vsftpdไม่มีอะไรมากมายบน debian ติดตั้งแสนง่าย แค่ใช้คำสั่ง
apt-get vsftpdแค่นั้น มันก็รีบกุลีกุจอ ย้ายสำมะโนครัวมาอยู่ในเครื่องเราแล้ว
2. การ config ค่าของ vsftpdเราสามารถไปแก้ไขค่า config ต่างๆ ของโปรแกรมนี่ได้ที่ /etc/vsftpd.conf จะแก้ด้วยวิธีไหนก็เรื่องของเท่า แต่ผมเอา WinSCP ไปเปิด editplus แก้เอา ง่ายดี (โชว์โง่มั้ยล่ะ)
ค่าที่ config ต่างๆ ไม่รู้สากกะเบืออะไรนักหนา แต่สรุปได้ว่า ผม config แบบนี้ ส่วนที่เหลือ ไป comment (ด้วย # ข้างหน้า) ออกให้หมด ก็ใช้งานได้แล้ว
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
file_open_mode=0777
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ftpd_banner=Welcome to unbbz FTP Service.
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
chroot_local_user=YES
อธิบายทีละบรรทัดดังนี้
listen=YES - ฟังคือ เปิดให้โปรแกรมฟัง port ftp ไว้นั่นล่ะ
anonymous_enable=NO - ไม่ให้พวกที่เราไม่รู้จักหัวนอนปลายเท้ามาใช้งาน
local_enable=YES - ไปใช้ user ของ os
write_enable=YES - อัพโหลดไฟล์ได้
file_open_mode=0777 - อันนี้เพิ่มเข้าไป ใช้คู่กับอันข้างล่าง ให้เมื่ออัพไฟล์เข้าไปแล้วกลายเป็น 755 เลย
local_umask=022 - อย่างที่บอกข้างบน
dirmessage_enable=YES - ไม่รู้ว่ะ
xferlog_enable=YES - เก็บ log ให้ด้วยเด้อนาง
xferlog_file=/var/log/vsftpd.log - เก็บ log ไว้แถวนี้
xferlog_std_format=YES - ใช้ format log มาตราฐาน
ftpd_banner=Welcome to FTP Service. - ข้อความตอนรับ เมื่อมีคน FTP เข้ามา ซึ่งผมว่า ไม่มีใครอ่านหรอก
secure_chroot_dir=/var/run/vsftpd - ที่ตั้งโปรแกรมนี้
pam_service_name=vsftpd - ชื่อ service
chroot_local_user=YES - กักบริเวณให้ user ที่ ftp เข้ามา อยู่แต่ในพื้นที่ตัวเอง
** ใครเป็น admin เทพอยู่แล้ว เข้ามาอ่าน แล้วเห็นว่าผม config อะไรผิด วานแจ้งด้วยนะครับ ผมมั่วดำน้ำเอา **
เมื่อแก้ไข config เสร็จ ก็จัด restart service มันซักดอก ด้วยคำสั่งนี้
/etc/init.d/vsftpd restart3. การสร้าง user เพื่อใช้งาน ftpเนื่องจาก vsftpd ใช้ user ตรงๆ จาก os เลย ดังนั้นการสร้าง user ก็เป็นการสร้าง user ของ os ด้วยคำสั่ง useradd ซื้อมีออฟชั่นให้ใช้ล้านเจ็ดสิบเอ็ดแสน (ไม่อธิบายมาก กลัวผิด)
useradd [options] LOGIN
LOGIN - ชื่อ login ที่เราจะสร้าง
[options] - ไปใช้คำสั่ง useradd -h ดูเอาเอง
เมื่อสร้าง user แล้ว อย่าลืมตั้งรหัสผ่านให้ user ที่สร้างด้วยคำสั่ง passwd LOGIN ด้วยนะครับ
ใน option เราต้องระบุ shell สำหรับ user นั้นด้วย แนะนำให้ระบุ shell ไปที่ /usr/sbin/nologin เพื่อที่จะให้ user ท่านนี้สามารถ เข้าใช้ ftp ได้ แต่ไม่สามารถใช้งาน shell ได้
แต่จะใช้ /usr/sbin/nologin ได้นั้น ต้องไปแก้ไขไฟล์ /etc/shells ก่อน ให้ดูว่า มีบรรทัด /usr/sbin/nologin อยู่รึยัง ถ้ายังไม่มี ให้เพิ่มเข้าไป