- ติดตั้ง vsftpd
apt-get install vsftpd
> install program ที่จะใช้ทำ FTP server - sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original > copy config file เก็บไว้ก่อนเผื่อแก้ไปแก้มาแล้วมึน จำของเดิมไม่ได้
- แก้ไขไฟล์ /etc/vsftpd.conf
sudo gedit /etc/vsftpd.conf หรือ nano /etc/vsftpd.conf
- ลบคอมเม้นต์ # หน้าบรรทัดเหล่านี้
- #local_enable = YES
- #write_enable = YES
- #local_umask = 022 (ให้ file ที่ user upload ขึ้นไป มี permission เป็น 755 อัตโนมัติโดยไม่ต้องมาไล่ chmod กันทีหลัง)
- #chroot_local_user = YES
แต่ละบรรทัดจะมีความหมายดังนี้
anonymous_enable=YES > หมายความว่าระบบจะยอมให้ผู้ใช้ login โดยใช้ username เป็น anonymous ได้ ถ้าไม่ต้องการก็เปลี่ยนเป็น NO หรือจะใส่ # ก็ได้ ซึ่งถ้าไม่ให้anonymous FTP ได้ หมายความว่า คนที่มีสิทธิ์ FTP ได้ต้องเป็น user ที่มี account อยู่ในเครื่อง FTP server เท่านั้นอ่ะ
#local_enable=YES > ถ้าเอา comment ออกจะทำให้ user ใน local zone (network วงเดียวกะ server) สามารถ FTP ได้
#write_enable=YES > ถ้าไม่เอา comment ออก user จะไม่สามารถ upload file เข้า server ได้ download ได้อย่างเดียว
#anon_upload_enable=YES > ถ้าไม่เอา comment ออก anonymous user จะไม่สามารถ upload file เข้า server ได้ download ได้อย่างเดียว
- การปรับแต่งระบบทำได้โดยการแก้ไขแฟ้ม /etc/vsftpd.conf
ตั้งเวลาให้แสดงผลเวลาตรงกับของ server
ด้วยการเพิ่ม/แก้ไขบรรทัดข้อความว่า use_localtime=yes
หากต้องการให้ใช้งานได้เฉพาะภายใน home ของตนเอง ไม่ต้องการให้ออกไปเพ่นพ่านที่อื่น
เพิ่ม/แก้ไขบรรทัดข้อความว่า chroot_local_user=YES
หากต้องการห้าม anonymous เข้ามาใช้บริการ
เพิ่ม/แก้ไขบรรทัดข้อความว่า anonymous_enable=NO
หากต้องการให้ user สามารถ upload แฟ้มได้
เพิ่ม/แก้ไขบรรทัดข้อความว่า local_enable=YES และ write_enable=YES
ตัวอย่างหากต้องการจำกัดจำนวน client ที่เข้ามาใช้บริการ ftp ไม่ให้เกิน 100 คน
เพิ่ม/แก้ไขบรรทัดข้อความว่า max_clients=100
แต่ถ้าต้องการจำกัดจำนวน clinet ต่อ 1 เลข IP ที่เข้ามาใช้บริการ ftp ไม่ให้เกิน 50 คนด้วย
เพิ่ม/แก้ไขบรรทัดข้อความว่า max_per_ip=50
sudo chmod 555 /etc/vsftpd.conf > แก้สิทธิ์ไม่ให้เขียนไฟล์ config ได้
- แก้ไขเสร็จแล้วสั่ง vsftpd ทำงานใหม่ด้วยคำสั่ง sudo /etc/init.d/vsftpd restart
- -------------------------------------------------------------------------------------------------------------
- เทคนิคในการสร้าง link ให้สามารถเปิดดูได้ทั้ง http และ ftp ตัวอย่างเช่น
http://ftp.localhost.com/pub/temp/ และ ftp://ftp.localhost.com/pub/temp/
สมมติว่า root directcory ของ http อยู่ที่ /var/www
และ root directcory ของ http อยู่ที่ /srv/ftp/pub
ให้ใช้คำสั่งว่า sudo ln -s /srv/ftp/pub /var/www
แล้วทดสอบดูผลงานได้เลย - ตัวอย่างหากต้องการเพิ่ม hard disk ลูกใหม่เข้าไป และต้องการให้ไปเป็นส่วนหนึ่งของพื้นที่ใน /home/ftp/pub
ให้จัดการติดตั้ง hard disk และ mount ให้เรียบร้อยสามารถใช้งานได้ซะก่อน
ตัวอย่างของผมคือเพิ่ม hard disk /dev/hdb1 ไปในพื้นที่ /mnt/data
และต้องการให้ไปโผล่เป็นส่วนหนึ่งของ /home/ftp/pub/newdisk
ทำคำสั่งขั้นตอนดังนี้คือ
sudo mkdir -p /mnt/data
sudo mount /dev/hdb1 /mnt/data
sudo mkdir -p /home/ftp/pub/newdisk
sudo mount --bind /mnt/data /home/ftp/pub/newdisk
แค่นี้ก็เสร็จแล้ว ตรวจสอบดูผลงานได้เลย
ต้องแก้ไขให้ระบบทำงานคำสั่งเหล่านี้โดยอัตโนมัติทุกครั้งที่บูทเครื่อง
ต้องแก้ไขแฟ้ม /etc/rc.local โดยเพิ่มบรรทัดคำสั่งเหล่านั้นเข้าไปด้วย
-----------------------------------------------------------------------------------------
ตรวจสอบว่า vsftpd ทำงานแล้วด้วยคำสั่ง
ps ax | grep vsftpd
ได้คำตอบประมาณว่า
….. ? Ss 0:00 /usr/sbin/vsftpd ….
แสดงว่าใช้งานได้แล้ว
ตรวจสอบว่า vsftpd ทำงานแล้วด้วยคำสั่ง
ps ax | grep vsftpd
ได้คำตอบประมาณว่า
….. ? Ss 0:00 /usr/sbin/vsftpd ….
แสดงว่าใช้งานได้แล้ว