ฉันได้รับการดิ้นรนกับการอนุญาตจนถึงตอนนี้และโพสต์คำถามอื่น แต่ระบุว่าปัญหาคืออะไรโดยยังไม่มีวิธีแก้ไข
การตั้งค่าของฉัน:
- Ubuntu Desktop พร้อม LAMP stack
- 5 "ผู้ใช้" ฉันสร้างผู้ใช้ที่ฉันสร้างในเซิร์ฟเวอร์ ubuntu โดยใช้
sudo useradd -r -s /bin/false USERNAME
และที่ใช้ในการเข้าถึงโฟลเดอร์เครือข่ายที่ใช้ร่วมกันในท้องถิ่นเช่นสำหรับคอมพิวเตอร์ในเครือข่ายของฉันเพื่อเชื่อมต่อกับโฟลเดอร์ / var / www แบ่งปันโดยใช้ Samba - แก้ไข: จุดประสงค์คือเพื่อสร้าง "master localhost" ที่คอมพิวเตอร์ทุกเครื่องในเครือข่ายท้องถิ่นของฉันสามารถทำงานบนเว็บไซต์เดียวกันในพื้นที่ (ฉันไม่มีที่อยู่ IP คงที่ดังนั้นเซิร์ฟเวอร์ไม่สามารถเข้าถึงได้จากที่อื่น) .
ปัญหาของฉัน:
ขณะนี้เมื่อฉันสร้างโฟลเดอร์ใหม่บน/var/www/html
(เช่น: การสร้างโฟลเดอร์ / var / www / html / testsite1) โดยใช้คอมพิวเตอร์ในเครือข่ายใด ๆ โฟลเดอร์นี้จะเป็นเจ้าของโดยอัตโนมัติboris:www-data
("บอริส" เป็นผู้ใช้หลักในการติดตั้งเดสก์ทอป Ubuntu และมันแสดงให้เห็นว่า: www-data เมื่อทำงานls -l
ในโฟลเดอร์ที่สร้างขึ้นใหม่) ซึ่งทำให้เกิดปัญหากับการตั้งค่าปัจจุบันของฉัน (ใช้ Duplicator Plugin สำหรับ wordpress โดย LifeInTheGrid ส่วนใหญ่) อย่างไรก็ตามทั้งฉัน/var/www
และฉัน/var/www/html
เป็นเจ้าของโดยwww-data:www-data
ดังนั้นฉันต้องการทราบว่าฉันสามารถ:
เปลี่ยนความเป็นเจ้าของเป็น www-data: www-data ของไฟล์และไดเรกทอรีทั้งหมดด้านล่าง / var / www และ / var / www / html
ตรวจสอบให้แน่ใจว่าไฟล์หรือโฟลเดอร์ใด ๆ ที่ฉันจะสร้างพร้อมกับผู้ใช้เครือข่ายของฉันจะเป็นเจ้าของข้อมูล www-dataโดยอัตโนมัติ: www-data (ซึ่งรวมถึงไฟล์ที่สร้างขึ้นโดยอัตโนมัติโดยสคริปต์ php ซึ่งเป็นสิ่งที่ปลั๊กอินทำซ้ำหากฉัน ไม่ผิด)
มีวิธีทำเช่นนั้นหรือไม่?
หมายเหตุ: ฉันเป็นมือใหม่ที่มีสิ่งต่าง ๆ เกี่ยวกับลินุกซ์และบรรทัดคำสั่ง แต่ฉันตามทัน
หมายเหตุ 2: umask ตั้งไว้แล้วเป็น 0002
แก้ไข:
พยายามนี้:
sudo chown -R www-data:www-data /var/www/
จากนั้นตั้งค่า setuid และ setgid บิตโดยทำดังนี้
sudo chmod u+s /var/www/html
sudo chmod g+s /var/www/html
จากนั้นออกจากระบบ apache เริ่มใหม่และพยายามสร้างโฟลเดอร์ใหม่โดยใช้ Mac ที่เชื่อมต่อกับเซิร์ฟเวอร์ของฉันผ่าน IP เครือข่าย (IP ท้องถิ่นไม่ใช่แบบคงที่)
ฉันวิ่ง
ls -l on /var/www/html
ผลผลิตยังคงเป็น:
drwxr-sr-x 2 boris www-data testsite1
บันทึก:
ฉันตรวจสอบ apache config ของฉันมาก่อนแล้วและ envvars มันถูกตั้งค่าเป็น:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
แก้ไข: ฉันลองทำย้อนหลังเช่นการตั้งค่าทุกอย่างให้เป็นของ boris: www-data และตั้งค่า enache envvars apache ให้เป็น boris: www-data มันทำงาน!
นี่คือสิ่งที่ฉันทำ:
เปลี่ยน envvars เป็น
export APACHE_RUN_USER=boris
export APACHE_RUN_GROUP=www-data
Ran
sudo chown -R boris:www-data /var/www/
รีสตาร์ท Apachem สร้างโฟลเดอร์ใหม่เพิ่มไฟล์ของฉันรันปลั๊กอินตอนนี้บอกว่าดี !!!