ซ้ำเป็นไปได้:
สิทธิ์ไดเรกทอรี Linux
ฉันทำงานกับนักพัฒนาบุคคลที่สามและฉันต้องการให้สิทธิ์การเข้าถึง SFTP (หรือ FTP) ไปยังโฟลเดอร์รูทสำหรับเว็บไซต์ที่พวกเขากำลังทำงานอยู่นั่นคือ'/var/www/html/website_abc'
เพื่อให้พวกเขาสามารถอัปโหลดไฟล์ที่นั่นได้ หมายเหตุว่าฉันโฮสติ้งเว็บไซต์อื่น ๆ ของฉันมีใน EC2 '/var/www/html/website_xyz'
เดียวกันตัวอย่างเช่น
เพียงเพื่อเน้นว่าฉันทำงานกับหลายเว็บไซต์ใน 1 อินสแตนซ์ EC2 เดียวโครงสร้างของเว็บไซต์มีดังนี้:
/ var / www / html /
/ var / www / html / website_abc
...
/ var / www / html / website_xyz
เป้าหมายของฉันมีดังนี้:
- ผู้ใช้ 'adeveloper' สามารถเข้าถึง '/ var / www / html / website_abc' และเฉพาะ '/ var / www / html / website_abc'
- ฉันคิดว่าผู้ใช้ 'adeveloper' จะใช้ 'adeveloper @ [elastic IP ของฉัน]' เป็นชื่อผู้ใช้เพื่อเข้าสู่ระบบ SFTP (หรือ FTP) ใช่ไหม?
- ผู้ใช้ 'adeveloper' ไม่สามารถเข้าถึง '/ var / www / html /' หรือไดเรกทอรีอื่น ๆ ในอินสแตนซ์ EC2 ของฉัน
- ไฟล์ไพรเวตคีย์เป็นอย่างไร?
- ฉันจะส่งไฟล์กุญแจส่วนตัวของฉันไปยังนักพัฒนาบุคคลที่สามได้หรือไม่ - แนะนำให้ทำเช่นนั้น?
- มีวิธีสร้างไฟล์คีย์ส่วนตัวที่แตกต่างกันสำหรับพวกเขาหรือให้พวกเขาเข้าสู่ระบบด้วยชื่อผู้ใช้และรหัสผ่านแทน?
ฉันค้นหาเสร็จแล้ว แต่คนส่วนใหญ่พูดถึงวิธีเข้าถึง EC2 ผ่าน SFTP ซึ่งฉันสามารถใช้ WinSCP ได้แล้ว
ชี้แจง:
- ฉันต้องการ 'ผู้พัฒนา' เพื่อให้สามารถอัปโหลดเนื้อหา
/var/www/html/website_abc
ที่ได้รับอนุญาตเป็น 'เขียน' - ฉันต้องการ 'adeveloper' เพื่อที่จะไม่ได้รับอนุญาต 'เขียน' สำหรับไฟล์ / ไดเรกทอรีใด ๆ ภายใต้
/var/www/html/
และไม่ควรแม้แต่สิทธิ์ในการ 'read' - อย่างไรก็ตามดูเหมือนว่าจะมีปัญหาใหญ่ที่นี่:
/var/www/html/
มีสิทธิ์ใช้งาน 777 แล้วเนื่องจากนี่คือโฟลเดอร์ DocumentRoot ของฉัน ดังนั้นฉันจะหยุด 'ผู้พัฒนา' จากการเข้าถึงเว็บไซต์อื่นของฉันได้อย่างไร
แก้ไขได้บางส่วน ฉันจัดการบรรลุเป้าหมายโดยใช้ OpenSSH (ฉันสร้างโฟลเดอร์. ssh ภายใน / var / www / html / website_abc / และสร้างคีย์ส่วนตัวและมอบให้กับนักพัฒนาบุคคลที่สาม) ฉันได้เรียนรู้ด้วยว่าฉันไม่ควรให้ไฟล์กุญแจส่วนตัว AWS ให้ฉัน ยังคงเรียนรู้เกี่ยวกับ chroot