ฉันมีไฟล์หลายไฟล์ที่มีเจ้าของต่างกัน โดยเริ่มจากไดเร็กทอรี /var/www/*
ไฟล์ใน /var/www/
ต้องตั้งค่าเป็นผู้ใช้ที่คุณใช้ apache ด้วย มิฉะนั้น คุณอาจพบปัญหาการอนุญาตและเว็บไซต์ที่มีปัญหาด้านความปลอดภัย
www-ข้อมูล
เป็นผู้ใช้เริ่มต้นสำหรับ apache (v1) ปัจจุบันใช้ apache (v2) อาปาเช่
ในฐานะผู้ใช้และกลุ่ม ดูการกำหนดค่า apache ของคุณเกี่ยวกับผู้ใช้ที่คุณใช้
เพื่อเปลี่ยนแปลง:
sudo vi /etc/apache2/apache2.conf
ค้นหา 2 บรรทัด (สมมติว่าคุณ www-ข้อมูล
ตามที่ตั้งไว้):
www-ข้อมูลผู้ใช้
กลุ่ม www-ข้อมูล
หากคุณต้องการเปลี่ยนเฉพาะผู้ใช้และกลุ่มที่คุณใช้ คุณสามารถรีเซ็ตข้อมูลของคุณด้วยคำสั่งนี้ (หลังจากเปลี่ยนผู้ใช้หรือกลุ่ม คุณต้องทำสิ่งนี้ด้วย):
sudo chown --recursive {ผู้ใช้}:{group} /var/www/
เปลี่ยน {user} และ {group} เป็นสิ่งที่อยู่ในไฟล์คอนฟิกูเรชัน และรีสตาร์ท apache
sudo systemctl รีสตาร์ท apache2
พอยน์เตอร์อื่น ๆ ทั่วไป:
สิทธิ์ในไฟล์และไดเร็กทอรีควรเป็นดังนี้:
sudo chmod 755 /var/
sudo chmod 755 /var/www/
sudo find /var/www/ -type d -exec chmod 755 {} \;
sudo find /var/www/ -type f -exec chmod 644 {} \; ]
- "0" ไม่มีความหมาย; "7" อ่าน เขียน และดำเนินการ; "6" อ่านเขียน "d" หมายถึงไดเร็กทอรี "f" หมายถึงไฟล์
- อย่าใส่ไฟล์ปฏิบัติการเข้าไป
/var/www/
. ใช้ไดเรกทอรีเฉพาะ (apache มีตัวเลือก cgi-bin สำหรับสิ่งนี้)
- ถ้าเป็นไปได้ให้ตั้งค่า "อื่นๆ" เป็น "0"
- ถ้าเป็นไปได้ ให้ตั้งค่า "group" เป็น "0" ด้วย; จำเป็นต้องใช้กลุ่มก็ต่อเมื่อมีผู้ใช้ 2 คนขึ้นไปแก้ไขไฟล์บนเซิร์ฟเวอร์
- หากตั้งค่าหนึ่งในนั้นเป็น "0" และทำให้เกิดข้อผิดพลาดในการอนุญาต แสดงว่าคุณมีข้อผิดพลาดในไฟล์การตั้งค่าสำหรับซอฟต์แวร์เฉพาะนั้น และควรแก้ไขการตั้งค่านั้นแทนการแก้ไขการอนุญาต