ฉันควรตั้งค่าการอนุญาตไฟล์ใดบนเว็บรูท


53

ผมใช้อูบุนตูเซิร์ฟเวอร์ 10.10 และมีการติดตั้ง Nginx apt-get install nginxเว็บเซิร์ฟเวอร์ด้วย มันจะสร้างหน้าเว็บเริ่มต้นที่และไดเรกทอรีที่มีสิทธิ์/var/www/nginx-default/drwxr-xr-x 2 root root

เมื่อฉันเข้าถึงเว็บไซต์เริ่มต้นบนฉันได้รับข้อความนี้บนหน้าเว็บhttp://localhost/403 Forbidden

ฉันจะตั้งค่าการอนุญาตไฟล์ในรูท www เพื่อให้ฉันสามารถเข้าถึงเว็บเพจได้อย่างปลอดภัยได้อย่างไร? หรือมีอย่างอื่นที่ฉันต้องเปลี่ยน?


หมายเหตุ: เส้นทางแบบเต็มทั้งหมดไปยังโฟลเดอร์สุดท้ายของคุณจะต้องสามารถเข้าถึงได้! ไม่ใช่โฟลเดอร์เดียวที่อยู่ตรงกลาง
Lucio

คำตอบ:


33

ฉันมักจะยึดติดกับ755(หรือrwxr-xr-x) บนรูทเว็บของฉัน แต่ฉันไม่คิดว่านี่เป็นปัญหาที่คุณพบเนื่องจากไดเรกทอรีของคุณตั้งค่าไว้แล้ว nginxควรมีสิทธิ์เข้าถึงไดเรกทอรีของคุณ คำถามจะกลายเป็นสิทธิ์ (หรือมีอยู่) ของไฟล์ที่คุณพยายามเข้าถึง ไฟล์ในไดเรกทอรีของคุณจะต้องสามารถอ่านได้โดยผู้ใช้nginxกำลังทำงานเป็น ฉันมักจะปล่อยให้ไฟล์เหล่านี้ตั้งค่าเป็น755(เหมือนกับไดเรกทอรี) sudo chmod -R 755 /var/www/nginx-default/คุณสามารถเปลี่ยนสารบบทั้งหมดโดยการทำ

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

location / {
    index index.php;
}

หากคุณต้องการnginxสร้างรายการไฟล์ในไดเรกทอรีนั้นให้คุณเพียงแค่เปิดการทำดัชนีไดเรกทอรีเช่น:

location  /  {
  autoindex  on;
}

ไม่ฉันมีindex.htmlในไดเรกทอรีนั้น
Jonas

คุณมีสิทธิ์อะไรindex.htmlบ้าง
แจ็คเอ็ม

ขอบคุณไฟล์ confiugration จริงชี้ไป/var/www/และที่สร้างindex.htmlอยู่ใน/var/www/nginx-default/เพื่อให้ฉันได้คัดลอกแฟ้มที่มีcp /var/www/nginx-default/index.html /var/www/หลังจากที่ฉันสามารถเข้าเยี่ยมชมเว็บไซต์กับเว็บเบราว์เซอร์ของฉัน
Jonas

56

ฉันขอแนะนำให้เปลี่ยนกลุ่ม webroot ของคุณwww-dataเป็นผู้ใช้ที่ใช้โดย nginx และ php5-fpm

ตัวอย่างเช่น:

sudo chown -R "$USER":www-data /webdirectory
sudo chmod -R 0755 /webdirectory

โดยที่ผู้ใช้ของฉันคือบัญชีของคุณเอง (ซึ่งช่วยให้คุณสามารถวางไฟล์ไว้ใน webroot ได้อย่างง่ายดายโดยไม่ต้อง sudo)


ขอบคุณคำสั่งดำเนินการโดยไม่มีปัญหา แต่ฉันยังคงได้รับ403 Forbiddenเมื่อ acessing มันด้วยเว็บเบราว์เซอร์
Jonas

@ Jonas ฉันขอแนะนำให้ตรวจสอบบันทึกข้อผิดพลาด nginx ของคุณเพื่อดูว่าปัญหาคืออะไร
Peter Smit

ขอบคุณฉันพบข้อผิดพลาดมันอยู่ในบันทึกข้อผิดพลาด ดูความคิดเห็นของฉันที่จะตอบแจ็ค
Jonas

4
ไฟล์ใหม่มีอะไรบ้าง
mcont

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