ฉันเป็นคน Windows มากกว่าดังนั้นโปรดแก้ตัวไม่รู้ด้วยคำถาม Linux พื้นฐานนี้
ฉันกำลังดูแลเซิร์ฟเวอร์ Linux (Debian) ซึ่งมีเพียง Apache2 และ vsftp ติดตั้งอยู่
สิ่งที่เกิดขึ้นคือฉันกำลังต่อสู้อย่างต่อเนื่องกับผู้ที่เป็นเจ้าของไฟล์และโฟลเดอร์และดูเหมือนจะไม่ถูกต้อง
นี่คือความเข้าใจของฉัน:
- ผู้ใช้www-dataต้องการความเป็นเจ้าของโฟลเดอร์และไฟล์เนื่องจากไฟล์ทั้งหมดภายใต้ / var / www / html เรียกใช้สคริปต์ซึ่งต้องการให้พวกเขาเขียนไปยังโฟลเดอร์ของพวกเขา และแน่นอนว่าจะต้องสามารถแสดงหน้าเว็บผ่าน http ได้
- ผู้ใช้ ftp ของฉัน (เรียกว่าftpuser ) ต้องมีสิทธิ์เขียนไปยังโฟลเดอร์ / var / www / html (เรียกซ้ำ) ตามที่ฉันต้องการเพื่ออัปโหลดไฟล์ใหม่
เมื่อคำนึงถึงสิ่งนี้ฉันได้สร้างกลุ่มที่ชื่อว่าftpandwwwและได้ทำการร้องโฟลเดอร์และไฟล์ทั้งหมดให้กับกลุ่มนี้ สิ่งนี้ได้ผลในระดับ ...
ฉันเกือบจะถูกที่แล้วยกเว้นว่ามีโฟลเดอร์ใหม่ที่สร้างขึ้นโดยใช้ไคลเอนต์ FTP ของฉันมีสิทธิ์ที่ไม่ถูกต้อง (ซึ่งฉันสามารถแก้ไขได้โดยเปลี่ยนพวกเขาภายใต้ไคลเอนต์ FTP) แต่ www-data ไม่สามารถเขียนถึงพวกเขาได้ เพราะพวกเขาเป็นเจ้าของโดยftpuserและฉันก็จบลงด้วยการที่ SSH เข้ามาและวิ่งไปที่กลุ่ม ftpandwww เพื่อให้ทั้งคู่มีความสุข
ฉันจะสร้างโฟลเดอร์ใหม่ทั้งหมดที่ฉันสร้างภายใต้ FTP ได้อย่างไรมีสิทธิ์ที่ถูกต้อง (774) และเป็นเจ้าของโดยกลุ่มftpandwwwโดยอัตโนมัติเพื่อให้ฉันสามารถอัปโหลดและให้บริการผ่านทางเว็บ (มีสิทธิ์การเขียน) โดยไม่ต้องเข้าไป สร้างโฟลเดอร์และไฟล์ใหม่ทุกครั้งหรือไม่