ปัญหาการอนุญาต FTP และ Apache


10

ฉันมีปัญหาว่าผู้ใช้คนใดควรเป็นเจ้าของไดเรกทอรี www ของฉัน - ftp หรือ apache? เมื่อตั้งค่าเป็นผู้ใช้ ftp ผู้ใช้สามารถเพิ่มทำใหม่และแก้ไขไฟล์ได้อย่างง่ายดาย แต่การกระทำของระบบไฟล์ php สร้างข้อผิดพลาดที่ได้รับอนุญาต (ข้อผิดพลาดเนื่องจากต้องให้ผู้ใช้เป็นอาปาเช่) หากอย่างไรก็ตามไดเรกทอรี www จะ chown to apache ftpuser จะไม่สามารถดำเนินการบางอย่างเช่นการแก้ไขไฟล์และการลบ มีใครเคยพบปัญหาที่คล้ายกันบ้างไหม การแก้ไขคืออะไร? ขอบคุณ

คำตอบ:


12

นี่คือสิ่งที่กลุ่มมีไว้สำหรับ

คุณสามารถเพิ่มftpผู้ใช้ในapacheกลุ่มและในทางกลับกัน หรือดียิ่งขึ้นคุณสามารถเพิ่มพวกเขาไปยังกลุ่มที่สามที่คุณสร้างขึ้นโดยเฉพาะสำหรับวัตถุประสงค์นี้

เช่น

# groupadd mygroup
# useradd -G mygroup ftp
# useradd -G mygroup apache
# chown -R: mygroup / var / www
# chmod -R g + rw / var / www

คำสั่งเหล่านั้นทำดังต่อไปนี้:

  1. สร้างกลุ่มใหม่ 'mygroup'
  2. เพิ่มผู้ใช้ ftp ใน mygroup
  3. เพิ่มผู้ใช้ apache ให้กับ mygroup
  4. ให้สิทธิ์การเป็นเจ้าของกลุ่มซ้ำกับเนื้อหาของ / var / www / to mygroup
  5. มอบกลุ่มการอ่านและการเขียนซ้ำให้กับเนื้อหาของ / var / www /

คุณต้องตรวจสอบให้แน่ใจว่าไฟล์ที่เพิ่มในอนาคตเป็นของกลุ่ม 'mygroup' และมีสิทธิ์ที่เหมาะสมสำหรับทั้ง apache และ ftp เพื่ออ่าน / เขียน


3
การรวม " find /var/www -type d -print0 | xargs -0 chmod g+s /var/www" กับ umask 002 จะทำให้มั่นใจได้ว่าไฟล์และไดเรกทอรีใหม่ใน / var / www จะรับกลุ่มและสิทธิ์ที่เหมาะสมสำหรับกลุ่มเพื่อให้สามารถเข้าถึง r / w ได้ ตอนนี้ลีนุกซ์หลายรุ่นมีค่าเริ่มต้นเป็น umask ที่ 002 (เหมือนกันกับค่าเริ่มต้นในการสร้างกลุ่มใหม่สำหรับผู้ใช้ใหม่ทุกคน)
freiheit

คำตอบนี้ใช้ได้อย่างสมบูรณ์แบบ! แต่ฉันมีปัญหาหนึ่งที่ผู้ใช้ยังคงสามารถดูไดเรกทอรีอื่นทั้งหมดภายนอกvar/wwwมีวิธีการ จำกัด นี้ได้อย่างไร
maxisme

3
บรรทัดที่ 2 และ 3 จะไม่ทำงานหากมีผู้ใช้อยู่แล้ว (บน CentOS 7) ในกรณีนี้ให้ใช้usermodเช่นusermod -G mygroup ftp
nick

ง่ายอธิบายตนเองเข้าใจได้! ที่สมบูรณ์แบบ! ขอบคุณ @hobodave!
GTodorov

4

เนื้อหาส่วนใหญ่ของคุณควรเป็นของผู้ใช้รายอื่นนอกเหนือจาก apache สมมติว่าคุณใช้ FTP เพื่ออัปเดตเนื้อหาของคุณคุณสามารถตั้งค่าไฟล์ทั้งหมดที่จะเป็นเจ้าของโดย ftp: apache ฉันแนะนำให้ใช้ SCP สำหรับ SFTP แทน ftp ไฟล์ควรมีสิทธิ์ 644 หรือ 640 และสิทธิ์ในการไดเรกทอรี 755 หรือ 750

สำหรับไฟล์และไดเรกทอรีแอปพลิเคชันต้องเขียนเพื่อเพิ่มการเข้าถึงการเขียนกลุ่ม


0

ฉันมีปัญหาที่คล้ายกันกับเพจ php ที่สร้างขึ้นเพื่อคัดลอกโฟลเดอร์บนเซิร์ฟเวอร์ด้วยชื่ออื่น ฉันแก้ไขมันโดยการปิด php safe mode


2
PHP safe mode นั้นมีเหตุผล การปิดเครื่องไม่ใช่ความคิดที่ดีเลย
user9517
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.