เมื่อเกิดปัญหา 553 colude not create file
เกิดจาก ไม่สามารถย้ายไฟล์ไปยังจุดหมายปลายทางได้เนื่องจากสิทธิ์ไม่พึ่งกระทำ
Macintosh:~ steffentchr$ ftp ftp.dummy.com
Connected to ftp.dummy.com.
220 (vsFTPd 2.0.3)
Name (ftp.dummy.com):steffentchr): steffen
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
226 Directory send OK.
ftp> put Desktop/stc1
local: Desktop/stc1 remote: Desktop/stc1
229 Entering Extended Passive Mode (|||64727|)
553 Could not create file.
วิธีการแก้ไขปัญหานี้คับ
chmod 750 ไปยัง directory ที่จะทำการย้ายไฟล์คับก็จะไม่เกิดปัญหานี้คับผม
ให้เครดิตผมด้วยน่ะคับ www.sudej.com
เป็นการ เพิ่ม สิทธิต่าง ๆ และ กำหนด กลุ่มและ สิทธิ์ผู้ใช้งาน ของ vsftpd
[root@sudej home]# groupadd ftp-users
[root@sudej home]# mkdir /home/ftp-docs
[root@sudej home]# chmod 750 /home/ftp-docs
[root@sudej home]# chown root:ftp-users /home/ftp-docs
[root@sudej home]# useradd -g ftp-users -d /home/ftp-docs user1
[root@sudej home]# passwd user1
อ้างอิงจาก http://rd.cc.psu.ac.th/content/view/20/46/
เป็นคำแนะนำติดตั้งจัดการปรับแต่ง ftp server
ต้นแบบทดสอบด้วย linux ubuntu 6.06, fedora core 5,4
วิธีติดตั้ง ftp server ด้วยโปรแกรม vsftpd
- ติดตั้งโปรแกรม vsftpd
หากเป็น ubuntu ให้ติดตั้งด้วยคำสั่ง
apt-get install vsftpd
หากเป็น fedora ให้ติดตั้งด้วยคำสั่ง
yum install vsftpd
- หากเป็น fedora แก้ไขให้ทำงานทุกครั้งที่บูทเครื่อง
chkconfig vsftpd on
- สั่งให้ทำงานด้วยคำสั่งว่า
/etc/init.d/vsftpd start
- ตรวจสอบว่า vsftpd ทำงานแล้วด้วยคำสั่ง
ps ax | grep vsftpd
ได้คำตอบประมาณว่า
….. ? Ss 0:00 /usr/sbin/vsftpd ….
แสดงว่าใช้งานได้แล้ว
- การให้แฟ้มข้อมูลสามารถเปิดอ่านได้ผู้ใช้แบบสาธารณะชื่อ anonymous
หากเป็น unbuntu ให้เก็บข้อมูลไว้ภายใต้ Directory ชื่อ /home/ftp/pub
ซึ่งต้องสร้าง directory เพิ่มคือ
mkdir -p /home/ftp/pub
หากเป็น fedora ให้เก็บข้อมูลไว้ภายใต้ Directory ชื่อ /var/ftp/pub ได้เลย
- การปรับแต่งระบบทำได้โดยการแก้ไขแฟ้ม /etc/vsftpd/vsftpd.conf แล้ว ให้ระบบอ่านค่าที่ปรับใหม่ได้ด้วยคำสั่ง
/etc/init.d/vsftpd restart
- การปรับแต่งค่าต่างๆ
หากเป็น ubuntu ให้แก้ไขแฟ้ม /etc/vsftpd.conf
หากเป็น fedora ให้แก้ไขแฟ้ม /etc/vsftpd/vsftpd.conf
ต้องการให้ใช้งานได้เฉพาะภายใน home ของตนเอง ไม่ต้องการให้ออกไปเพ่นพ่านที่อื่น
เพิ่ม/แก้ไขบรรทัดข้อความว่า chroot_local_user=YES
ต้องการห้าม anonymous เข้ามาใช้บริการ
เพิ่ม/แก้ไขบรรทัดข้อความว่า anonymous_enable=NO
ต้องการให้ user สามารถ upload แฟ้มได้
เพิ่ม/แก้ไขบรรทัดข้อความว่า local_enable=YES และ write_enable=YES
แก้ไขเสร็จแล้วสั่ง vsftpd ทำงานใหม่ด้วยคำสั่ง
/etc/init.d/vsftpd reload
- บน fedora หากเจอปัญหา upload แฟ้มขึ้น ftp server นี้ไม่ได้
อาจเกิดจาก selinux ให้สั่งปิดการทำงานของ selinux
โดยแก้ไขแฟ้มชื่อ /etc/selinux/config
แก้ไขบรรทัดข้อความจากเดิมคือ SELINUX=enforcing
ให้เป็นข้อความว่า SELINUX=disabled
ต้อง reboot ใหม่แล้ว selinux จึงจะปิดการทำงานตามต้องการ
- ตัวอย่างหากต้องการเพิ่ม hard disk ลูกใหม่เข้าไป และต้องการให้ไปเป็นส่วนหนึ่งของพื้นที่ใน /home/ftp/pub
ให้จัดการติดตั้ง hard disk และ mount ให้เรียบร้อยสามารถใช้งานได้ซะก่อน
ตัวอย่างของผมคือเพิ่ม hard disk /dev/hdb1 ไปในพื้นที่ /mnt/data
และต้องการให้ไปโผล่เป็นส่่วนหนึ่งของ /home/ftp/pub/newdisk
ทำคำสั่งขั้นตอนดังนี้คือ
mkdir -p /mnt/data
mount /dev/hdb1 /mnt/data
mkdir -p /home/ftp/pub/newdisk
mount –bind /mnt/data /home/ftp/pub/newdisk
แค่นี้ก็เสร็จแล้ว ตรวจสอบดูผลงานได้เลย
แก้ไขให้ระบบทำงานคำสั่งเหล่านี้โดยอัตโนมัติทุกครั้งที่บูทเครื่อง
ต้องแก้ไขแฟ้ม /etc/rc.local โดยเพิ่มบรรทัดคำสั่งเหล่านั้นเข้าไปด้วย
