การอนุญาตถูกปฏิเสธใน FTP แม้ว่าฉันเป็นเจ้าของ


21

โอเคดังนั้นฉันจึงพยายามอย่างดีที่สุดในการหาคำตอบด้วยการค้นหาและค้นหาคำที่ซ้ำกันที่เป็นไปได้ แต่ฉันก็ไม่สามารถให้อภัยฉันได้

ปัญหาของฉันมีดังนี้ ฉันได้ตั้งเจ้าของ/var/wwwไปmyuser:www-dataและสิทธิ์ของโฟลเดอร์และทุก (ปัจจุบันเพียง index.html พื้นฐาน) เนื้อหาของมันไป750และ Apache ดูเหมือนว่าจะเรียกมันว่าควร แต่ฉันไม่สามารถเข้าถึงมันเมื่อฉัน FTP สู่เซิร์ฟเวอร์ ในฐานะmyuserผู้ใช้ ฉันหมายความว่าฉันสามารถเข้าถึงได้ แต่ทันทีที่ฉันพยายามที่จะแก้ไขลบหรือเพิ่มสิ่งที่ฉันเพิ่งได้รับและถ้าผมพยายามที่จะแก้ไขสิทธิ์ที่ฉันได้รับ500 Permission denied500 Unknown SITE command

ช่วยด้วย! ฉันทำอะไรผิด แนวคิดในการตั้งค่าผู้ใช้และกลุ่มจากนั้นการอนุญาตด้านบนนั้นมาจากเพื่อนที่ดีของฉันซึ่งเป็นผู้เชี่ยวชาญ แต่ฉันรู้สึกเหมือนฉันรบกวนเขาเมื่อฉันถามคำถามมากมายดังนั้นหากคุณสามารถช่วยได้ ฉันอีกบางอย่างที่จะดี!

ฉันกำลังพยายามสำรองข้อมูลด้วย 4 vhosts กลับเข้าไปใน www-folder แต่สิ่งที่ฉันใส่ไม่ควรเป็นปัญหาหรือไม่ นั่นเป็นเพียงความสับสนของ vhosting ในภายหลังที่เกี่ยวข้องกับเรื่องนั้นใช่ไหม?

ขอบคุณล่วงหน้า!

เพิ่มข้อมูล:

ฉันวิ่งสิ่งนี้ myuser@myserver:/$ groups myuser และได้สิ่งนี้ myuser : myuser adm cdrom sudo dip plugdev lpadmin sambashare จากนั้นฉันก็วิ่งสิ่งนี้ myuser@myserver:/$ groups www-data และได้สิ่งนี้ www-data : www-data

แล้วนี่: myuser@myserver:/var/www$ ls -l และได้สิ่งนี้: total 4 -rwxr-x--- 1 tjita1 www-data 177 Jan 25 17:45 index.html

เกี่ยวกับ ftpserver ฉันไม่ได้ทำอะไรเป็นพิเศษฉันเพิ่งติดตั้ง vsftpd อ้อใช่ฉันยังเพิ่มเส้นในผมคิดหรือสิ่งที่ต้องการอ่านได้ว่าอะไรเช่นนี้/etc/vsftpd.confchmod_enable=YES

นอกจากนี้ฉันไม่สามารถทำให้การเว้นวรรค 4 อันทำงานได้ขอโทษด้วย


ฉันไม่รู้ว่าสิ่งนี้ถูกต้องหรือไม่ แต่การยุ่งกับการอนุญาตของสารบบนั้นไม่ใช่วิธีที่ดี อย่างไรก็ตามฉันขอถามผลลัพธ์ของgroups myuser(ตาม; แทนที่ด้วยชื่อผู้ใช้ของผู้ใช้) ได้ไหม? และนอกจากนี้ยังมีls -lของwwwdir
AzkerM

1
คุณติดตั้งเซิร์ฟเวอร์ ftp ของคุณอย่างไร?
falconer

คำตอบ:


34

หลังจากคุณติดตั้งเซิร์ฟเวอร์ ftp ด้วยsudo apt-get install vsftpdคุณจะต้องกำหนดค่า ในการเปิดใช้งานการเข้าถึงเพื่อเขียนคุณต้องแก้ไข/etc/vsftpd.confไฟล์และยกเลิกการใส่เครื่องหมายลบ

#write_enable=YES

บรรทัดดังนั้นควรอ่าน

write_enable=YES

บันทึกไฟล์และเริ่มต้นใหม่กับvsftpdsudo service vsftpd restart

สำหรับตัวเลือกการกำหนดค่าอื่น ๆ โปรดอ่านเอกสารนี้หรือman vsftpd.conf


2
คุณคือผู้ชาย ในที่สุดก็ช่วยฉันได้!
อัลเลน Gingrich

และคำตอบทั้งหมดบนอินเทอร์เน็ตนั้นผิด ทว่าเรียบง่ายและเรียบง่าย ฉันอ่านแม้แต่ vsftpd.conf เพื่อความสนุก!
Mohammed Joraid

3

วิธีง่ายๆที่ผมพบว่าการใช้ FTP ที่มีคำสั่งขดที่นี่ หากคุณต้องการใช้ ftp ด้วยคำสั่งเดียวมากกว่าใช้คำสั่งต่อไปนี้

sudo curl -T file_to_be_uploaded.txt ftp://mydomain.com/mydirectory/ --user username:password

หากคุณได้รับข้อผิดพลาด551: permission deniedมากกว่าเรียกใช้ไฟล์ที่คุณกำลังอัปโหลดอาจปรากฏบนรีโมตและคุณไม่ได้รับอนุญาตให้เขียนทับมัน ดังนั้นอัปโหลดด้วยชื่อไฟล์อื่นหรือลบไฟล์ปัจจุบันบนรีโมต


1

ฉันมีปัญหาเดียวกัน & ไม่มีข้อเสนอแนะเกี่ยวกับ Write_enable หรือการอนุญาตของโฟลเดอร์ทำงาน ฉันเปลี่ยนประเภทการเชื่อมต่อในไคลเอนต์ FTP ของฉันจาก FTP เป็น SSH / SFTP และทุกอย่างทำงานได้ดี เห็นได้ชัดว่า VSFTPD ต้องการการเชื่อมต่อที่ปลอดภัยในการเขียน


3
หากคุณใช้ SFTP คุณอาจไม่ได้ใช้ vsftpd แม้จะมีชื่อก็ตาม FTPS มีความปลอดภัย FTP, SFTP เป็นโปรโตคอลการถ่ายโอนไฟล์ SSH และมักจะจัดการโดยเซิร์ฟเวอร์ SSH ใดก็ตามที่ติดตั้ง
muru
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.