Grav - การอนุญาต
โดยทั่วไปแล้ว permissionเป็นกระบวนการอนุญาตให้ทำบางอย่างในสภาพแวดล้อมการโฮสต์ของคุณ สิทธิ์รวมถึงการอ่านหรือเขียนการเข้าถึงไฟล์บนเซิร์ฟเวอร์หรือการแก้ไขไฟล์บนระบบไฟล์ Grav เป็น CMS ที่ใช้ไฟล์แบบแบนซึ่งจำเป็นต้องเขียนลงในระบบไฟล์เพื่อสร้างแคชและไฟล์บันทึก
Grav มีสามสถานการณ์หลัก -
PHP / Webserver ทำงานร่วมกับผู้ใช้คนเดียวกับที่แก้ไขไฟล์
สถานการณ์นี้ใช้งานได้ดีกับการตั้งค่าโฮสติ้งที่ใช้ร่วมกันส่วนใหญ่และสำหรับการพัฒนาท้องถิ่น บนพื้นที่เว็บเฉพาะเราไม่สามารถพิจารณาแนวทางนี้ว่าปลอดภัยเพียงพอ
PHP / เว็บเซิร์ฟเวอร์ทำงานด้วยบัญชีที่แตกต่างกัน แต่เป็นกลุ่มเดียวกัน
ด้วยสิทธิ์775และ664โดยใช้กลุ่มที่ใช้ร่วมกันระหว่างผู้ใช้และบัญชี PHP / Webserver คุณสามารถมั่นใจได้ว่าสองบัญชีที่แตกต่างกันจะมีRead/Writeเข้าถึงไฟล์ เราสามารถสร้างไฟล์ใหม่ได้โดยตั้งค่าumask 0002บนรูทด้วยสิทธิ์ที่เหมาะสม
บัญชีที่แตกต่างกันแก้ไขสิทธิ์ด้วยตนเอง
วิธีนี้จะมีบัญชีที่แตกต่างกันและอัปเดตความเป็นเจ้าของและสิทธิ์ของไฟล์ซึ่งทำให้มั่นใจได้ว่าผู้ใช้ PHP / Webserver จะมีไฟล์ Read/Write เข้าถึงไฟล์
ต่อไปนี้เป็นรหัสง่ายๆของ permissions-fixingเชลล์สคริปต์ คุณสามารถแก้ไขไฟล์นี้ตามกลุ่มที่เหมาะกับการตั้งค่า
#!/bin/sh
chown joeblow:staff .
chown -R joeblow:staff *
find . -type f ! -path "./bin/" | xargs chmod 664
find . -type f -path "./bin/" | xargs chmod 775
find . -type d | xargs chmod 775
find . -type d | xargs chmod +s
umask 0002
chown joeblow: staffใช้เพื่อเปลี่ยนกลุ่มและผู้ใช้ไดเร็กทอรีเป็น joeblow และ staff
chown -R joeblow: staff * line เปลี่ยนความเป็นเจ้าของไฟล์และโฟลเดอร์ย่อยเป็น joeblow และ staff
สายค้นหา - พิมพ์ฉ! - เส้นทาง "./bin/" | xargs chmod 664ตั้งค่าสิทธิ์ 664 สำหรับไฟล์ทั้งหมดจากไดเร็กทอรีเพื่ออ่านสำหรับผู้อื่นและอ่าน / เขียนสำหรับกลุ่มและผู้ใช้
สายค้นหา - พิมพ์ f -path "./bin/" | xargs chmod 775ตั้งค่าสิทธิ์ 775 สำหรับไฟล์ทั้งหมดจากไดเร็กทอรีไปยังRXสำหรับไฟล์อื่น ๆ และRWXสำหรับกลุ่มและผู้ใช้
umask 0002ใช้เพื่อสร้างไฟล์ใหม่ที่มีสิทธิ์ 664 และ 775