Make / var / www สามารถเข้าถึงได้เฉพาะกับ root และเว็บเซิร์ฟเวอร์


0

ฉันเป็นนักพัฒนาเว็บ ฉันอนุญาตให้ SSH เข้าถึงเครื่องของฉันได้สองสามคน

ฉันต้องการตรวจสอบให้แน่ใจว่าพวกเขาไม่สามารถเข้าถึงไฟล์ของฉันได้ /var/www/.

ดังนั้นจึงเป็นไปได้ที่จะทำให้ไฟล์เหล่านี้สามารถอ่านได้เฉพาะกับเว็บเซิร์ฟเวอร์และให้สิทธิ์การอ่าน / เขียนแก่ผู้ใช้รูท?

คำตอบ:


4

ฉันถือว่าผู้ใช้ Apache ถูกเรียก www-data. ถ้าคุณต้องการไฟล์ใน /var/www/ เพื่อให้ผู้ใช้รายนี้สามารถอ่านได้เท่านั้นคุณต้องให้สิทธิ์การเป็นเจ้าของ:

sudo chown -R www-data /var/www/

ตอนนี้คุณต้องการ www-data เป็นผู้ใช้รายเดียวที่สามารถอ่าน / เขียนได้จริง:

sudo chmod -R 700 /var/www/

สังเกตได้ว่า root มีสิทธิ์เข้าถึงแบบอ่าน / เขียนทุกไฟล์โดยไม่คำนึงถึงสิทธิ์ ไม่ว่าการตั้งค่านี้จะเป็นความคิดที่ดีหรือไม่ - ดีฉันอยากจะ chroot ผู้ใช้ SSH เหล่านี้ในโฟลเดอร์หลักของพวกเขา ดู ฉันสามารถสร้างผู้ใช้ SSH ที่สามารถเข้าถึงเฉพาะบางไดเรกทอรีได้หรือไม่


0

ขึ้นอยู่กับผู้ใช้เว็บเซิร์ฟเวอร์ของคุณ (โดยปกติคือ www-data):

chown www-data /var/www
chmod -R 700 /var/www

การดำเนินการนี้จะกำหนดให้ผู้ใช้ www-data เป็นเจ้าของไดเรกทอรี / var / www ของคุณและจะอนุญาตให้เข้าถึงไดเรกทอรีเฉพาะกับเจ้าของเท่านั้น


0

คุณอาจต้องการทำให้รูทหรือผู้ใช้รายอื่นเป็นเจ้าของเนื้อหาเว็บของคุณ สิ่งนี้จะป้องกันเว็บเซิร์ฟเวอร์จากการเขียนทับเนื้อหาหากมีคนเข้าถึงผ่านสคริปต์หรือจุดเข้าใช้งานอื่น ๆ แทนที่ root ในคำสั่งเหล่านี้กับสิ่งที่ผู้ใช้ที่คุณต้องการเป็นเจ้าของเนื้อหา

chown -R root:www-data /var/www
chmod 2750 /var/www

เพื่ออนุญาตให้ user (นอกเหนือจากรูท) เพื่อรักษาเนื้อหาคุณจะต้องเพิ่มผู้ใช้ในกลุ่ม www-data

adduser user www-data

เว็บแอปพลิเคชั่นบางตัวอาจมีบางไดเรกทอรีที่พวกเขาเขียนเนื้อหาแบบไดนามิก หากต้องการอนุญาตการเข้าถึงให้เปลี่ยนเจ้าของเป็น www-data หรืออนุญาตให้เขียนเป็นกลุ่ม

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