การตั้งค่า FTP บน Amazon Cloud Server [ปิด]


257

ฉันกำลังพยายามติดตั้ง FTP บน Amazon Cloud Server แต่ไม่มีโชค ฉันค้นหาผ่านเน็ตและไม่มีขั้นตอนที่เป็นรูปธรรมว่าจะทำอย่างไร

ฉันพบคำสั่งเหล่านั้นเพื่อให้ทำงาน:

$ yum install vsftpd
$ ec2-authorize default -p 20-21
$ ec2-authorize default -p 1024-1048
$ vi /etc/vsftpd/vsftpd.conf
#<em>---Add following lines at the end of file---</em>
    pasv_enable=YES
    pasv_min_port=1024
    pasv_max_port=1048
    pasv_address=<Public IP of your instance>
$ /etc/init.d/vsftpd restart

แต่ฉันไม่รู้จะเขียนมันที่ไหน


10
คำถามนี้ควรย้ายไปยัง serverfault.com
Jérôme Verstrynge

คำตอบ:


570

Jaminto ทำงานได้ดีมากในการตอบคำถาม แต่เมื่อเร็ว ๆ นี้ฉันได้ดำเนินการด้วยตัวเองและต้องการที่จะขยายคำตอบของ Jaminto

ฉันสมมติว่าคุณได้สร้างอินสแตนซ์ EC2 แล้วและเชื่อมโยงที่อยู่ IP แบบยืดหยุ่นกับมัน


ขั้นตอนที่ # 1: ติดตั้ง vsftpd

SSH ไปยังเซิร์ฟเวอร์ EC2 ของคุณ ประเภท:

> sudo yum install vsftpd

สิ่งนี้ควรติดตั้ง vsftpd

ขั้นตอนที่ # 2: เปิดพอร์ต FTP บนอินสแตนซ์ EC2 ของคุณ

ถัดไปคุณจะต้องเปิดพอร์ต FTP บนเซิร์ฟเวอร์ EC2 ของคุณ เข้าสู่คอนโซลการจัดการ AWS EC2 และเลือกกลุ่มความปลอดภัยจากแผนผังการนำทางด้านซ้าย เลือกกลุ่มความปลอดภัยที่กำหนดให้กับอินสแตนซ์ EC2 ของคุณ จากนั้นเลือกแท็บขาเข้าจากนั้นคลิกแก้ไข:

ป้อนคำอธิบายรูปภาพที่นี่

เพิ่มกฎ TCP แบบกำหนดเองสองตัวที่มีช่วงพอร์ต 20-21 และ 1024-1048 สำหรับแหล่งที่มาคุณสามารถเลือก 'ที่ใดก็ได้' หากคุณตัดสินใจที่จะตั้งค่า Source เป็นที่อยู่ IP ของคุณโปรดทราบว่าที่อยู่ IP ของคุณอาจเปลี่ยนแปลงได้หากได้รับการกำหนดผ่าน DHCP

ป้อนคำอธิบายรูปภาพที่นี่



ขั้นตอนที่ # 3: ทำการอัพเดตไฟล์ vsftpd.conf

แก้ไขไฟล์ vsftpd conf ของคุณโดยพิมพ์:

> sudo vi /etc/vsftpd/vsftpd.conf

ปิดใช้งาน FTP นิรนามโดยเปลี่ยนบรรทัดนี้:

anonymous_enable=YES

ถึง

anonymous_enable=NO

จากนั้นเพิ่มบรรทัดต่อไปนี้ที่ด้านล่างของไฟล์ vsftpd.conf:

pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
pasv_address=<Public IP of your instance> 

ไฟล์ vsftpd.conf ของคุณควรมีลักษณะดังนี้ - ยกเว้นให้เปลี่ยน pasv_address ด้วยที่อยู่ IP สาธารณะของคุณ:

ป้อนคำอธิบายรูปภาพที่นี่

หากต้องการบันทึกการเปลี่ยนแปลงให้กด escape แล้วพิมพ์:wqจากนั้นกด Enter



ขั้นตอนที่ # 4: เริ่มใหม่ vsftpd

รีสตาร์ท vsftpd โดยพิมพ์:

> sudo /etc/init.d/vsftpd restart

คุณควรเห็นข้อความที่มีลักษณะดังนี้:

ป้อนคำอธิบายรูปภาพที่นี่


หากวิธีนี้ใช้ไม่ได้ให้ลอง:

> sudo /sbin/service vsftpd restart



ขั้นตอนที่ # 5: สร้างผู้ใช้ FTP

หากคุณมองที่ / etc / vsftpd / user_list คุณจะเห็นสิ่งต่อไปนี้:

# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

โดยทั่วไปแล้วจะพูดว่า "ไม่อนุญาตให้ผู้ใช้เหล่านี้เข้าถึง FTP" vsftpd จะอนุญาตให้เข้าถึง FTP กับผู้ใช้ที่ไม่ได้อยู่ในรายการนี้

ดังนั้นในการสร้างบัญชี FTP ใหม่คุณอาจต้องสร้างผู้ใช้ใหม่บนเซิร์ฟเวอร์ของคุณ (หรือหากคุณมีบัญชีผู้ใช้ที่ไม่อยู่ในรายการ / etc / vsftpd / user_list คุณสามารถข้ามไปยังขั้นตอนถัดไปได้)

การสร้างผู้ใช้ใหม่บนอินสแตนซ์ EC2 นั้นค่อนข้างง่าย ตัวอย่างเช่นหากต้องการสร้างผู้ใช้ 'bret' ให้พิมพ์:

> sudo adduser bret
> sudo passwd bret

นี่คือลักษณะ:

ป้อนคำอธิบายรูปภาพที่นี่



ขั้นตอนที่ # 6: การ จำกัด ผู้ใช้ไปยังไดเรกทอรีภายในบ้าน

ณ จุดนี้ผู้ใช้ FTP ของคุณจะไม่ถูก จำกัด ไปยังไดเรกทอรีบ้านของพวกเขา ไม่ปลอดภัยมาก แต่เราสามารถแก้ไขได้อย่างง่ายดาย

แก้ไขไฟล์ vsftpd conf ของคุณอีกครั้งโดยพิมพ์:

> sudo vi /etc/vsftpd/vsftpd.conf

เลิกแสดงความคิดเห็นออกบรรทัด:

chroot_local_user=YES

ควรมีลักษณะเช่นนี้เมื่อคุณทำเสร็จแล้ว:

ป้อนคำอธิบายรูปภาพที่นี่

รีสตาร์ทเซิร์ฟเวอร์ vsftpd อีกครั้งดังนี้:

> sudo /etc/init.d/vsftpd restart

ทุกอย่างเสร็จเรียบร้อย!


ภาคผนวก A: รอดชีวิตจากการรีบูต

vsftpd ไม่เริ่มโดยอัตโนมัติเมื่อเซิร์ฟเวอร์บูท หากคุณเป็นเหมือนฉันนั่นหมายความว่าหลังจากรีบูตอินสแตนซ์ EC2 ของคุณคุณจะรู้สึกอึดอัดเมื่อ FTP ดูเหมือนจะพัง - แต่ในความเป็นจริงแล้วมันไม่ทำงาน! นี่เป็นวิธีที่สะดวกในการแก้ไข:

> sudo chkconfig --level 345 vsftpd on

อีกวิธีหนึ่งถ้าคุณใช้ redhat อีกวิธีหนึ่งในการจัดการบริการของคุณคือการใช้อินเทอร์เฟซผู้ใช้กราฟิกที่ดีเพื่อควบคุมบริการที่ควรเริ่มโดยอัตโนมัติ:

>  sudo ntsysv

ป้อนคำอธิบายรูปภาพที่นี่

ตอนนี้ vsftpd จะเริ่มต้นโดยอัตโนมัติเมื่อเซิร์ฟเวอร์บูท


ภาคผนวก B: การเปลี่ยนโฮม FTP ของผู้ใช้

* หมายเหตุ: Iman Sedighi ได้โพสต์โซลูชั่นที่หรูหรายิ่งขึ้นเพื่อ จำกัด การเข้าถึงของผู้ใช้ไปยังไดเรกทอรีที่เฉพาะเจาะจง โปรดอ้างอิงถึงคำตอบที่ยอดเยี่ยมของเขาที่โพสต์เป็นคำตอบ *

คุณอาจต้องการสร้างผู้ใช้และ จำกัด การเข้าถึง FTP ไปยังโฟลเดอร์เฉพาะเช่น / var / www ในการทำเช่นนี้คุณจะต้องเปลี่ยนไดเรกทอรีเริ่มต้นของผู้ใช้:

> sudo usermod -d /var/www/ username

ในตัวอย่างเฉพาะนี้เป็นเรื่องปกติที่จะให้สิทธิ์ผู้ใช้แก่กลุ่ม 'www' ซึ่งมักจะเกี่ยวข้องกับโฟลเดอร์ / var / www:

> sudo usermod -a -G www username

3
ในstep 3หลังจากเพิ่มบรรทัดในไฟล์ฉันจะบันทึกได้อย่างไร
Sumit Bijvani

2
ตกลงเสร็จแล้วตอนนี้ฉันจะเชื่อมต่อกับ ftp ได้อย่างไร
Sumit Bijvani

7
สวัสดีสุมิตร Vi เป็นเครื่องมือแก้ไขที่ยุ่งยาก หากต้องการบันทึกงานของคุณให้พิมพ์ escape จากนั้น ": wq" (ไม่มีเครื่องหมายคำพูด) จากนั้นกด Enter สำหรับ FTP นั้นยากที่จะตอบเพราะมันจะอิงกับไคลเอนต์ FTP ของคุณ ถ้าฉันมีเวลาฉันจะพยายามต่อท้ายคำแนะนำของฉันเพื่อตั้งค่าไคลเอนต์ FTP ยอดนิยมบางตัว ส่วนตัวแล้วฉันใช้ Aptana Studio ใน Aptana คุณสร้างไซต์ SFTP และจัดหา Aptana พร้อมไฟล์รับรองความถูกต้องของรหัสสาธารณะที่คุณได้รับเมื่อคุณสร้างอินสแตนซ์ EC2 ของคุณ หากคุณใช้ filezilla ให้ลองใช้ pageant.exe ไชโย!
clone45

6
มันยอดเยี่ยมมาก ชัดเจนมาก ขอบคุณมาก.
AC Patrice

11
จริง ๆ แล้วบางทีเขาอาจให้เครดิตกับฉัน เขายกเลิกคำตอบของฉันในวันที่ 13 มกราคม
clone45

27

ในการเปิดใช้งาน ftp แฝงบนเซิร์ฟเวอร์ EC2 คุณต้องกำหนดค่าพอร์ตที่เซิร์ฟเวอร์ ftp ของคุณควรใช้สำหรับการเชื่อมต่อขาเข้าจากนั้นเปิดรายการพอร์ตที่มีอยู่สำหรับการเชื่อมต่อข้อมูลไคลเอนต์ ftp

ฉันไม่คุ้นเคยกับ linux แต่คำสั่งที่คุณโพสต์นั้นเป็นขั้นตอนในการติดตั้งเซิร์ฟเวอร์ ftp กำหนดค่ากฎไฟร์วอลล์ ec2 (ผ่าน AWS API) จากนั้นกำหนดค่าเซิร์ฟเวอร์ ftp เพื่อใช้พอร์ตที่คุณอนุญาตบนไฟร์วอลล์ ec2 .

ดังนั้นขั้นตอนนี้จะติดตั้งไคลเอนต์ ftp (VSFTP)

> yum install vsftpd

ขั้นตอนเหล่านี้กำหนดค่าไคลเอนต์ ftp

> vi /etc/vsftpd/vsftpd.conf
--    Add following lines at the end of file --
     pasv_enable=YES
     pasv_min_port=1024
     pasv_max_port=1048
     pasv_address=<Public IP of your instance> 
> /etc/init.d/vsftpd restart

แต่อีกสองขั้นตอนทำได้ง่ายกว่าผ่านคอนโซล amazon ในกลุ่ม EC2 Security คุณจำเป็นต้องกำหนดค่ากลุ่มความปลอดภัยที่กำหนดให้เซิร์ฟเวอร์ของคุณเพื่ออนุญาตการเชื่อมต่อบนพอร์ต 20,21 และ 1024-1048


ฉันรู้ว่าบรรทัดเหล่านั้นมีความหมายว่าอย่างไร แต่ฉันไม่รู้ว่าจะพิมพ์ที่ใด ... นั่นเป็นปัญหา ...
SharkTheDark

1
ที่บรรทัดคำสั่งบนเซิร์ฟเวอร์ที่คุณติดตั้งเซิร์ฟเวอร์ ftp ลงไปหรือไม่
jaminto

2
เชื่อมต่อกับเซิร์ฟเวอร์ของคุณผ่าน SSH: blog.taggesell.de/index.php?/archives/…
jaminto

ในกรณีที่คุณยังได้รับข้อผิดพลาด (500 OOPS: vsftpd: ปฏิเสธที่จะทำงานด้วยรากที่สามารถเขียนได้ภายใน chroot ()) สิ่งนี้ได้แก้ไขปัญหาสำหรับฉัน: benscobie.com/…
kaore

ฉันตกใจที่ไม่ระบุชื่อ FTP เป็นค่าเริ่มต้น!
jeffkee

16

ขอบคุณ @ clone45 สำหรับทางออกที่ดี แต่ฉันมีปัญหาสำคัญเพียงปัญหาเดียวกับภาคผนวก b ของวิธีแก้ปัญหาของเขา ทันทีที่ฉันเปลี่ยนโฮมไดเร็กตอรี่เป็น var / www / html แล้วฉันไม่สามารถเชื่อมต่อเซิร์ฟเวอร์ผ่าน ssh และ sftp ได้เพราะมันจะแสดงข้อผิดพลาดดังต่อไปนี้

permission denied (public key)

หรือใน FileZilla ฉันได้รับข้อผิดพลาดนี้:

No supported authentication methods available (server: public key)

แต่ฉันสามารถเข้าถึงเซิร์ฟเวอร์ผ่านการเชื่อมต่อ FTP ปกติ

หากคุณพบข้อผิดพลาดเดียวกันให้เลิกทำภาคผนวก b ของโซลูชัน @ clone45 โดยตั้งค่าโฮมไดเรกทอรีเริ่มต้นสำหรับผู้ใช้:

sudo usermod -d /home/username/ username

แต่เมื่อคุณตั้งค่าโฮมไดเรกทอรีเริ่มต้นของผู้ใช้แล้วผู้ใช้จะสามารถเข้าถึงโฟลเดอร์อื่น ๆ มากมายนอก / var / www / http ดังนั้นเพื่อรักษาความปลอดภัยเซิร์ฟเวอร์ของคุณให้ทำตามขั้นตอนเหล่านี้:

1- สร้างกลุ่ม sftponly สร้างกลุ่มสำหรับผู้ใช้ทั้งหมดที่คุณต้องการ จำกัด การเข้าถึงเฉพาะ ftp และ sftp เพื่อเข้าถึง var / www / html เพื่อให้กลุ่ม:

sudo groupadd sftponly

2- คุมขัง chroot เพื่อ จำกัด การเข้าถึงกลุ่มนี้ไปยังเซิร์ฟเวอร์ผ่าน sftp คุณต้องติดคุก chroot เพื่อไม่ให้ผู้ใช้กลุ่มเข้าถึงโฟลเดอร์ใด ๆ ยกเว้นโฟลเดอร์ html ในโฮมไดเร็กตอรี่ของกลุ่มนั้น เพื่อทำสิ่งนี้เปิด / etc / ssh / sshd.config ในกลุ่มด้วย sudo ในตอนท้ายของไฟล์โปรดแสดงความคิดเห็นบรรทัดนี้:

Subsystem sftp /usr/libexec/openssh/sftp-server

จากนั้นเพิ่มบรรทัดด้านล่างนี้ที่:

Subsystem sftp internal-sftp

ดังนั้นเราจึงเปลี่ยนระบบย่อยด้วย internal-sftp จากนั้นเพิ่มบรรทัดต่อไปนี้ด้านล่าง:

 Match Group sftponly
        ChrootDirectory /var/www
        ForceCommand internal-sftp
        AllowTcpForwarding no

หลังจากเพิ่มบรรทัดนี้ฉันบันทึกการเปลี่ยนแปลงของฉันแล้วเริ่มบริการ ssh ใหม่โดย:

sudo service sshd restart

3- เพิ่มผู้ใช้ไปยังกลุ่ม sftponly ผู้ใช้ใด ๆ ที่คุณต้องการ จำกัด การเข้าถึงของพวกเขาจะต้องเป็นสมาชิกของกลุ่ม sftponly ดังนั้นเราจึงเข้าร่วมเพื่อ sftponly โดย: sudo usermod -G ชื่อผู้ใช้ sftponly

4- จำกัด การเข้าถึงของผู้ใช้เพียงแค่ var / www / html ในการ จำกัด การเข้าถึงของผู้ใช้ไปยังโฟลเดอร์ var / www / html เราจำเป็นต้องสร้างไดเรกทอรีในโฮมไดเร็กตอรี่ (ด้วยชื่อ 'html') ของผู้ใช้นั้น / www ถึง / home / ชื่อผู้ใช้ / html ดังต่อไปนี้:

sudo mkdir /home/username/html
sudo mount --bind /var/www /home/username/html

5- ตั้งค่าการเข้าถึงการเขียน หากผู้ใช้ต้องการเขียนสิทธิ์การเข้าถึง / var / www / html คุณต้องจำคุกผู้ใช้ที่ / var / www ซึ่งต้องมี root: การเป็นเจ้าของรากและสิทธิ์ 755 จากนั้นคุณต้องให้ / var / www / html ความเป็นเจ้าของของ root: sftponly และการอนุญาต 775 โดยเพิ่มบรรทัดต่อไปนี้:

sudo chmod 755 /var/www
sudo chown root:root /var/www
sudo chmod 775 /var/www/html
sudo chown root:www /var/www/html

6- บล็อกการเข้าถึงเชลล์ หากคุณต้องการ จำกัด การเข้าถึงไม่ให้เข้าถึงเชลล์เพื่อให้ปลอดภัยมากขึ้นจากนั้นให้เปลี่ยนเชลล์เริ่มต้นเป็น bin / false ดังนี้:

sudo usermod -s /bin/false username

ที่คุณsudo mount --bind /var/www /home/username/htmlฉันบอกว่าไม่มีโฟลเดอร์ www ฉันคิดว่าสิ่งนี้ทำจากรูท (ที่ / โฟลเดอร์บ้าน)?
elliotrock

1
sudo chown root:www /var/www/htmlสถานะ chown: กลุ่มที่ไม่ถูกต้อง: 'root: www'
elliotrock

2
ส่วนที่ 6 น่าจะดีกว่าเพราะsudo usermod -s /sbin/nologin usernameข้อ จำกัด เชลล์ pam โมดูลเริ่มต้นของ vsftpd (และดูเหมือนว่าจะทำงานได้ดีขึ้นในกรณีของฉัน) และส่วนที่ 4 mountจำเป็นต้องทำในการรีบูตทุกครั้งดังนั้นจึงควรวางลงใน rc.local
phy25

11

บทความยอดเยี่ยม ... ทำงานเหมือนสายลมบน Amazon Linux AMI

คำสั่งที่มีประโยชน์อีกสองคำสั่ง:

หากต้องการเปลี่ยนโฟลเดอร์อัพโหลด FTP เริ่มต้น

ขั้นตอนที่ 1:

edit /etc/vsftpd/vsftpd.conf

ขั้นตอนที่ 2: สร้างรายการใหม่ที่ด้านล่างของหน้า:

local_root=/var/www/html

ในการใช้การอ่าน, เขียน, ลบการอนุญาตให้ไฟล์ภายใต้โฟลเดอร์เพื่อให้คุณสามารถจัดการโดยใช้อุปกรณ์ FTP

find /var/www/html -type d -exec chmod 777 {} \;

11
ที่ chmods ทุกไฟล์และโฟลเดอร์ที่ 777 ซึ่งไม่ปลอดภัยสำหรับเว็บไซต์
sergiogx

ตกลง. ดังนั้นสิ่งที่คุณแนะนำเกี่ยวกับการเปลี่ยนแปลงนี้?
Ravi Shanker

3
คุณควรกำหนดสิทธิ์ที่จำเป็นไม่เพียงแค่เปิดสิทธิ์ทั้งหมดให้กับทุกสิ่งหรือคุณกำลังถามปัญหา ตัวอย่างเช่นการใช้ chmod -R ug + rw / var / www / html จะให้สิทธิ์ในการอ่านและเขียนสำหรับผู้ใช้และกลุ่มไปยังไฟล์ทั้งหมดโดยไม่ต้องให้สิทธิ์ในการเรียกใช้งานและการอนุญาตอื่น ๆ ที่ไม่จำเป็น จากนั้นตั้งค่าผู้ใช้และกลุ่มตามลำดับเพื่อให้คุณไม่จำเป็นต้องแก้ไขอื่น ๆ นั่นคือถ้าผู้ใช้ ftp ของคุณสามารถอ่านและเขียนไฟล์ทั้งหมดและเว็บเซิร์ฟเวอร์ของคุณสามารถอ่านได้ วางผู้ใช้ทั้งสองในกลุ่มเดียวกันและเพิ่ม rw ให้กับผู้ใช้และ r ในกลุ่ม
AaronM

คุณควรใช้ 775 กับ / var / www / html ส่วนที่เหลือของโฟลเดอร์ย่อยและไฟล์สามารถได้รับอนุญาตตามความต้องการ 777 ไม่ปลอดภัยมาก
Iman Sedighi

6

ในกรณีที่คุณเปิดใช้งาน ufw อย่าลืมเพิ่ม ftp:

> sudo ufw allow ftp

ฉันใช้เวลา 2 วันในการตระหนักว่าฉันเปิดใช้งาน ufw


หรือ iptables หรือ ... ใช่ฉันก็ลืมเหมือนกัน!
jsh

6

มันจะไม่เป็นไรจนกว่าคุณจะเพิ่มผู้ใช้ของคุณในกลุ่ม www โดยคำสั่งต่อไปนี้:

sudo usermod -a -G www <USER>

วิธีนี้จะช่วยแก้ปัญหาการอนุญาต

กำหนดเส้นทางเริ่มต้นโดยเพิ่มสิ่งนี้:

local_root=/var/www/html

4

อย่าลืมอัปเดตไฟร์วอลล์ iptables หากคุณมีหนึ่งช่วงที่อนุญาตให้มีช่วง 20-21 และ 1024-1048

ทำสิ่งนี้จาก / etc / sysconfig / iptables

การเพิ่มบรรทัดเช่นนี้:

-A INPUT -m state - รัฐใหม่ -m tcp -p tcp --dport 20:21 -j ACCEPT

-A อินพุต - สถานะ m - รัฐใหม่ -m tcp -p tcp - พอร์ต 1024: 1,048 -j ยอมรับ

และรีสตาร์ท iptables ด้วยคำสั่ง:

sudo service iptables ทำการรีสตาร์ท


4

ฉันทำ clone45 ขั้นตอนง่ายขึ้น:

เปิดพอร์ตตามที่เขากล่าวถึง

sudo su
sudo yum install vsftpd
echo -n "Public IP of your instance: " && read publicip
echo -e "anonymous_enable=NO\npasv_enable=YES\npasv_min_port=1024\npasv_max_port=1048\npasv_address=$publicip\nchroot_local_user=YES" >> /etc/vsftpd/vsftpd.conf
sudo /etc/init.d/vsftpd restart

2

ฉันทำตามคำตอบของ clone45 จนถึงที่สุด บทความที่ยอดเยี่ยม! เนื่องจากฉันต้องการการเข้าถึง FTP เพื่อติดตั้งปลั๊กอินเป็นหนึ่งในไซต์เวิร์ดเพรสของฉันฉันจึงเปลี่ยนไดเรกทอรีหลักเป็น / var / www / mysitename จากนั้นฉันยังคงเพิ่มผู้ใช้ ftp ของฉันไปยังกลุ่ม apache (หรือ www) เช่นนี้:

sudo usermod -a -G apache myftpuser

หลังจากนี้ฉันยังเห็นข้อผิดพลาดนี้ในหน้าการติดตั้งปลั๊กอินของ WP: "ไม่สามารถค้นหาไดเรกทอรีเนื้อหา WordPress (เนื้อหา wp)" ค้นหาและพบโซลูชันนี้ในเซสชันถามตอบของ wp.org: https://wordpress.org/support/topic/unable-to-locate-wordpress-content-directory-wp-contentและเพิ่มสิ่งต่อไปนี้ในตอนท้ายของ wp- config.php:

if(is_admin()) {
    add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
    define( 'FS_CHMOD_DIR', 0751 );
}

หลังจากติดตั้งปลั๊กอิน WP ของฉันสำเร็จแล้ว


0

อาจจะน่าพูดถึงนอกเหนือจากคำตอบของclone45 :

แก้ไขสิทธิ์การเขียนสำหรับผู้ใช้ Chrooted FTP ใน vsftpd

เวอร์ชัน vsftpd ที่มาพร้อมกับ Ubuntu 12.04 Precise ไม่อนุญาตให้ผู้ใช้ในระบบ chrooted เขียนตามค่าเริ่มต้น โดยค่าเริ่มต้นคุณจะมีสิ่งนี้ใน/etc/vsftpd.conf :

chroot_local_user=YES
write_enable=YES

ในการอนุญาตให้ผู้ใช้โลคัลเขียนคุณต้องเพิ่มพารามิเตอร์ต่อไปนี้:

allow_writeable_chroot=YES

หมายเหตุ: ปัญหาเกี่ยวกับสิทธิ์การเขียนอาจปรากฏขึ้นตามข้อผิดพลาดFileZillaดังต่อไปนี้:

Error: GnuTLS error -15: An unexpected TLS packet was received.
Error: Could not connect to server

การอ้างอิง: การ
แก้ไขสิทธิ์การเขียนสำหรับผู้ใช้ Chrooted FTP ใน vsftpd
VSFTPd หยุดทำงานหลังจากอัพเดต


0

ในกรณีที่คุณได้รับ 530 รหัสผ่านไม่ถูกต้อง

ต้องการอีก 1 ขั้นตอน

ในไฟล์ / etc / shells

เพิ่มบรรทัดต่อไปนี้

/ bin / เท็จ


-2

FileZila เป็นเครื่องมือ FTP ที่ดีในการตั้งค่าด้วย Amazon Cloud

  1. ดาวน์โหลดไคลเอนต์ FileZila จาก https://filezilla-project.org/
  2. คลิกที่ไฟล์ -> ตัวจัดการไซต์ ->
  3. เว็บไซต์ใหม่
  4. ระบุที่อยู่ IP ชื่อโฮสต์ของที่ตั้งคลาวด์ amazon ของคุณ (พอร์ตถ้ามี)
  5. โปรโตคอล - SFTP (อาจเปลี่ยนแปลงตามความต้องการของคุณ)
  6. ประเภทการเข้าสู่ระบบ - ปกติ (ดังนั้นระบบจะไม่ถามรหัสผ่านในแต่ละครั้ง)
  7. ระบุชื่อผู้ใช้และรหัสผ่าน
  8. เชื่อมต่อ

คุณต้องทำตามขั้นตอนเหล่านี้เพียง 1 ครั้งหลังจากนั้นจะอัปโหลดเนื้อหาไปยังที่อยู่ IP เดียวกันและเว็บไซต์เดียวกัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.