ฉันพยายามเปิดไฟล์และเขียนมันด้วย PHP ที่/var/www
โฟลเดอร์ แต่มันไม่ทำงานดังนั้นฉันจึงทำ
sudo chmod 777 /var/www
ตอนนี้ฉันต้องการตั้งค่าการอนุญาตสำหรับ/var/www
การเริ่มต้น
สิทธิ์เริ่มต้น/var/www
คืออะไร
ฉันพยายามเปิดไฟล์และเขียนมันด้วย PHP ที่/var/www
โฟลเดอร์ แต่มันไม่ทำงานดังนั้นฉันจึงทำ
sudo chmod 777 /var/www
ตอนนี้ฉันต้องการตั้งค่าการอนุญาตสำหรับ/var/www
การเริ่มต้น
สิทธิ์เริ่มต้น/var/www
คืออะไร
คำตอบ:
สิทธิ์ในโฟลเดอร์นี้คือ:
chmod 755 /var/www/
และไฟล์ภายในโฟลเดอร์คือ:
chmod 644 /var/www/file
ได้รับอนุญาตเริ่มต้นสำหรับ/var/www
ตัวเองเป็นมาตรฐานสวยที่หนึ่ง: เจ้าของและพอควรroot:root
755
สำหรับสิ่งที่อยู่ข้างใน /var/www
นั้นเป็นหนึ่งในไดเรกทอรีที่หายากที่คุณมีสิทธิ์ในการตัดสินใจด้วยตัวคุณเองว่าจะใส่อะไรลงไป แต่สิ่งที่สมเหตุสมผลที่สุดคือ:
ไฟล์ส่วนใหญ่ควรเขียนได้ไม่ว่าผู้ใช้หรือกลุ่มใดจะเขียนให้มากที่สุด คุณสามารถตั้งค่าให้พวกเขาเป็นเจ้าของโดยบัญชีผู้ใช้ของคุณ หรือตั้งค่ากลุ่มที่กำหนดเองสำหรับนักพัฒนาของคุณ หรือหากไฟล์จะถูกแก้ไขน้อยและคุณต้องการความปลอดภัยที่ดีคุณสามารถไปกับroot:root
และเพียงแค่ sudo ในโอกาสที่หายากพวกเขาจะถูกแก้ไข
ไฟล์ส่วนใหญ่ไม่ควรเขียนได้ทั่วโลก ดังนั้น644
สำหรับไฟล์และ755
ไดเรกทอรีที่เหมาะสม (หรือ664
และ775
ถ้าคุณต้องการที่จะให้เข้าถึงกลุ่มเขียน)
มันเป็นเรื่องที่ไม่แนะนำให้ตั้งค่าใด ๆ ของมันที่จะเขียนได้โดยเว็บเซิร์ฟเวอร์เช่นwww-data
ยกเว้นเฉพาะเจาะจงใด ๆ ไฟล์สคริปต์เว็บของคุณสามารถที่จะเขียนถึง ถ้าเป็นเช่นนั้นจะเป็นการดีกว่าถ้าตั้งค่าผู้ใช้หรือกลุ่มของไฟล์เหล่านั้นให้www-data
ดีกว่าเพื่อให้สามารถเขียนได้ทั่วโลก โปรดทราบว่าเมื่อใดก็ตามที่www-data
ผู้ใช้สามารถเขียนไฟล์ใด ๆ ภายในเว็บรูทไม่ว่าจะโดยการตั้งค่าผู้ใช้หรือกลุ่มในไฟล์เหล่านั้นหรือทำให้พวกเขาเขียนได้ทั่วโลกก็เป็นปัญหาด้านความปลอดภัยที่อาจเกิดขึ้น การเขียนได้ในโลกนั้นเลวร้ายยิ่งในสองเรื่องนี้
ตรวจสอบให้แน่ใจว่ากลุ่มคือ www-data บน '/ var / www'
sudo chgrp www-data /var/www
ทำให้เขียนได้
sudo chmod 775 /var/www
ตั้งค่า id กลุ่มสำหรับโฟลเดอร์ย่อย
sudo chmod g+s /var/www
เพิ่มชื่อผู้ใช้ของคุณไปยังกลุ่ม
sudo useradd -G www-data [USERNAME]
OR
usermod -a -G www-data [USERNAME]
ให้ตัวเองเป็นเจ้าของ
sudo chown [USERNAME] /var/www/
sudo adduser $USER www-data
sudo chown root:root /var/www
sudo chown -R $USER:www-data /var/www/*
sudo chmod -R 755 /var/www
-R
ธงที่นี่ทั้งนี้ขึ้นอยู่กับเนื้อหา เนื่องจาก OP ไม่ได้ใช้การ-R
ตั้งค่าสถานะเราไม่ควรแนะนำให้แก้ไขการอนุญาตที่ไม่ถูกต้องที่พวกเขาสร้างขึ้น -R
ธงเป็นประโยชน์ไม่ค่อย!