การใช้ FTP ด้วย vsftpd บน debian
วันที่ 1 ส.ค. 53 + 01:34.19 , กลุ่ม Server Admin , ป้าย debian, ftp, vsftpd
บันทึกไว้กันลืม วิธีการใช้งาน vsftpd บน debian หลังจากงมไปงมมา อยู่นาน
1. การติดตั้ง vsftpd
ไม่มีอะไรมากมายบน debian ติดตั้งแสนง่าย แค่ใช้คำสั่ง
แค่นั้น มันก็รีบกุลีกุจอ ย้ายสำมะโนครัวมาอยู่ในเครื่องเราแล้ว
2. การ config ค่าของ vsftpd
เราสามารถไปแก้ไขค่า config ต่างๆ ของโปรแกรมนี่ได้ที่ /etc/vsftpd.conf จะแก้ด้วยวิธีไหนก็เรื่องของเท่า แต่ผมเอา WinSCP ไปเปิด editplus แก้เอา ง่ายดี (โชว์โง่มั้ยล่ะ)
ค่าที่ config ต่างๆ ไม่รู้สากกะเบืออะไรนักหนา แต่สรุปได้ว่า ผม config แบบนี้ ส่วนที่เหลือ ไป comment (ด้วย # ข้างหน้า) ออกให้หมด ก็ใช้งานได้แล้ว
อธิบายทีละบรรทัดดังนี้
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 มันซักดอก ด้วยคำสั่งนี้
3. การสร้าง user เพื่อใช้งาน ftp
เนื่องจาก vsftpd ใช้ user ตรงๆ จาก os เลย ดังนั้นการสร้าง user ก็เป็นการสร้าง user ของ os ด้วยคำสั่ง useradd ซื้อมีออฟชั่นให้ใช้ล้านเจ็ดสิบเอ็ดแสน (ไม่อธิบายมาก กลัวผิด)
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 อยู่รึยัง ถ้ายังไม่มี ให้เพิ่มเข้าไป
4. จบแหล่ว
มีเพียงเท่านี้ล่ะ จากนั้นก็ลองใช้โปรแกรม ftp ต่อเข้าไปดูว่าได้อย่างที่เราต้องการรึป่าว
งวดหน้า จะทำเรื่อง user quota ถ้าทำสำเร็จ คงมาโน๊ตไว้เหมือนเดิม
** หลังจากงมมานาน เลยโน๊ตเอาไว้กันลืมซะเลย **
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 restart
3. การสร้าง 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 อยู่รึยัง ถ้ายังไม่มี ให้เพิ่มเข้าไป
4. จบแหล่ว
มีเพียงเท่านี้ล่ะ จากนั้นก็ลองใช้โปรแกรม ftp ต่อเข้าไปดูว่าได้อย่างที่เราต้องการรึป่าว
งวดหน้า จะทำเรื่อง user quota ถ้าทำสำเร็จ คงมาโน๊ตไว้เหมือนเดิม
** หลังจากงมมานาน เลยโน๊ตเอาไว้กันลืมซะเลย **

ไม่สามารถแสดงความคิดเห็นได้ จำเป็นต้อง เข้าระบบสมาชิก ก่อน หรือ สมัครสมาชิกใหม่