การกำหนดค่าการอนุญาตสำหรับ FTP และ Apache


10

ฉันมีเว็บเซิร์ฟเวอร์ (Apache2) ที่ฉันเข้าถึงด้วย FileZilla

บนเว็บเซิร์ฟเวอร์ของฉันฉันมี dir / home / admin / www ที่ฉันผูกไว้กับ / var / www ดังนั้นฉันสามารถเข้าถึงได้ด้วย FTP มันใช้งานได้สมบูรณ์แบบ!

แต่ทุกครั้งที่ฉันรีสตาร์ทเว็บเซิร์ฟเวอร์ฉันต้องทำการผูกอีกครั้งและอีกครั้ง ฉันไม่สามารถพูดกับเว็บเซิร์ฟเวอร์ของฉันว่าต้องผูกแผนที่เหล่านั้นไว้ตลอดเวลาหรือไม่? ฉันต้องรีเซ็ตสิทธิ์ทั้งหมดของฉันทุกครั้งอีกครั้งฉันทำอะไรผิด

คำตอบ:


13

ทางออกที่ดีและปลอดภัยยิ่งขึ้น (ฉันไม่สบายใจกับอินเทอร์เน็ตที่มีสิทธิ์เข้าถึงโฟลเดอร์ผู้ดูแลระบบที่บ้าน!) คือการสร้างโฟลเดอร์ webroot ใน /

เวลาสิ้นสุด!

cd /
sudo mkdir /webroot
sudo groupadd webdev
sudo usermod -a -G webdev yourusername 
sudo chown www-data:webdev /webroot/

ตอนนี้ชี้ apache ไปที่รูทเอกสาร / webroot ใหม่ที่ด้านล่างของการกำหนดค่า apache ของคุณ สามารถพบได้ที่นี่: /etc/apache2/apache2.conf

sudo nano /etc/apache2/apache2.conf

CTRL-O เพื่อบันทึก, CTRL-X เพื่อออกในนาโนถ้าคุณไม่คุ้นเคย

เพียงแทนที่DocumentRoot /var/www/ด้วย/webroot/

คัดลอก webfiles ของคุณทันทีเพื่อ webroot

sudo /etc/init.d/apache2 reload

Apache ควรเริ่มต้นใหม่เมื่อโหลดการกำหนดค่าทั้งหมดแล้ว

สิ่งนี้สร้างไดเรกทอรีในรูทชื่อ webroot เป็นเจ้าของโดย apache2 และเจ้าของกลุ่มคือกลุ่ม webdev ใหม่ซึ่งตอนนี้ผู้ใช้ของคุณจะถูกผนวกเข้ากับสมาชิกของ (สิ่งนี้ไม่ได้แทนที่กลุ่มใด ๆ !) สิ่งนี้จะช่วยให้คุณสามารถแก้ไขไฟล์ใน FTP!

นี่เป็นโซลูชันที่ง่ายมากสำหรับเซิร์ฟเวอร์ apache หนึ่งเว็บไซต์ จำเป็นต้องใช้งานมากกว่านี้หากคุณวางแผนที่จะใช้งานหลายไซต์ (สร้างโฟลเดอร์แยกต่างหากสำหรับพวกเขาใน webroot เป็นต้น)

ข้อดีของการทำเช่นนี้คือถ้ามีคนพบช่องโหว่พวกเขาจะถูกล็อคเข้าไปในโฟลเดอร์ webroot ไม่ใช่โฟลเดอร์บ้านของคุณ! นอกจากนี้หากคุณต้องการอนุญาตให้ผู้ใช้อีกรายสามารถแก้ไขไซต์ได้คุณสามารถเพิ่มผู้ใช้ในกลุ่ม webdev ด้วยsudo usermod -a -G theirusername webdev

หวังว่านี่จะช่วยได้!

ขอแสดงความนับถือ


ไม่ใช่ปัญหา :) คุณรังเกียจไหมถ้าฉันเปลี่ยนชื่อเพื่อให้สะท้อนคำตอบที่ฉันได้ดีขึ้น?
Laice

ไม่แน่นอน :-)
Ontwikkelaar Bij Debugged

ด้วยเหตุผลบางอย่างที่ฉันไม่ได้รับจากผู้ใช้ webdev เมื่อฉันใช้คำสั่งของคุณ> sudo groupadd webdev ฉันลองและดูเหมือนว่ามันจะทำงาน เพิ่มผู้ใช้ในไฟล์ / etc / group ได้ดี sudo usermod -a wwwlogin -G webdev
Benaiah

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

@Damon ฉันคิดว่าคุณต้องตั้งค่าการอนุญาตที่เหมาะสมให้เจ้าของ (www-data) และกลุ่ม (webdev) มีสิทธิ์เหมือนกันสำหรับไดเรกทอรี: ควรเป็น 775 (แทนที่จะเป็น 755) และ 664 (แทนที่จะเป็น 644) ) สำหรับไฟล์
Eduardo B.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.