ฉันสับสนเกี่ยวกับการตั้งค่าที่ฉันพยายามปรับใช้นี้ ฉันหวังว่าบางคนในพวกคุณจะให้ความช่วยเหลือฉันได้
ข้อมูลความเป็นมา
เซิร์ฟเวอร์คือ Debian 6.0, ext3 โดยมี Apache2 / SSL และ Nginx ที่ด้านหน้าเป็น reverse proxy ฉันต้องการให้ sftp เข้าถึงไดเรกทอรีราก Apache (/ var / www) ตรวจสอบให้แน่ใจว่าผู้ใช้ sftp chrooted ไปยังเส้นทางนั้นด้วยสิทธิ์ RWX
ทั้งหมดนี้ไม่ต้องแก้ไขการอนุญาตเริ่มต้นใน / var / www
drwxr-xr-x 9 root root 4096 Nov 4 22:46 www
ภายใน / var / www
-rw-r----- 1 www-data www-data 177 Mar 11 2012 file1
drwxr-x--- 6 www-data www-data 4096 Sep 10 2012 dir1
drwxr-xr-x 7 www-data www-data 4096 Sep 28 2012 dir2
-rw------- 1 root root 19 Apr 6 2012 file2
-rw------- 1 root root 3548528 Sep 28 2012 file3
drwxr-x--- 6 www-data www-data 4096 Aug 22 00:11 dir3
drwxr-x--- 5 www-data www-data 4096 Jul 15 2012 dir4
drwxr-x--- 2 www-data www-data 536576 Nov 24 2012 dir5
drwxr-x--- 2 www-data www-data 4096 Nov 5 00:00 dir6
drwxr-x--- 2 www-data www-data 4096 Nov 4 13:24 dir7
สิ่งที่ฉันได้ลอง
- สร้างsecureftpกลุ่มใหม่
- สร้างผู้ใช้ SFTP ใหม่เข้าร่วมกลุ่มsecureftpและwww-dataด้วยเชลล์nologin Homedir คือ /
- แก้ไข sshd_config ด้วย
Subsystem sftp internal-sftp AllowTcpForwarding no Match Group <secureftp> ChrootDirectory /var/www ForceCommand internal-sftp
ฉันสามารถเข้าสู่ระบบด้วยผู้ใช้ sftp รายการไฟล์ แต่ไม่อนุญาตให้เขียนได้ ผู้ใช้ Sftp อยู่ในกลุ่ม www-data แต่การอนุญาตใน / var / www เป็นการอ่าน / อ่าน + x สำหรับกลุ่มบิตดังนั้น ... มันไม่ทำงาน
ฉันได้ลองกับ ACL แล้ว แต่เมื่อฉันใช้สิทธิ์ ACL RWX สำหรับผู้ใช้ sftp กับ / var / www (dirs และไฟล์ซ้ำ) มันจะเปลี่ยนสิทธิ์ unix เช่นกันซึ่งเป็นสิ่งที่ฉันไม่ต้องการ
ฉันจะทำอะไรที่นี่
ฉันคิดว่าฉันสามารถเปิดใช้งานผู้ใช้ www-data เพื่อเข้าสู่ระบบเป็น sftp เพื่อที่จะสามารถแก้ไขไฟล์ / dirs ที่ www-data เป็นเจ้าของใน / var / www แต่ด้วยเหตุผลบางอย่างฉันคิดว่านี่จะเป็นการเคลื่อนไหวที่ปลอดภัย