ดังนั้นฉันจึงพยายามทำสิ่งต่อไปนี้ ฉันมีเซิร์ฟเวอร์ DigitalOcean Ubuntu พร้อมการเข้าสู่ระบบคีย์ SSH ตามค่าเริ่มต้น
ฉันต้องสร้างผู้ใช้รายอื่นที่ควรมีสิทธิ์เข้าถึงเท่านั้น /var/www/mysite.com/public/b
โฟลเดอร์ กระบวนการของฉันมีดังต่อไปนี้:
1. สร้างผู้ใช้ใหม่โดยใช้คำสั่งต่อไปนี้:
ผู้ใช้ที่เพิ่ม
--หน้าแรก /var/www/mysite.com/public/b
--shell /bin/ทุบตี
--ไม่-สร้าง-บ้าน
--ingroup www-ข้อมูล
--ingroup ssh
ผู้ทดสอบ
2. จากนั้น เนื่องจากฉันไม่แน่ใจว่าจะจัดการกับคู่กุญแจอย่างไร ฉันจึงเปิดใช้งานการเข้าสู่ระบบด้วยรหัสผ่านผ่าน SSH ในไฟล์ sshd_config ดังนี้:
การตรวจสอบรหัสผ่านใช่
3. หลังจากทำเช่นนี้ ฉันสามารถเปิดไซต์ผ่านทั้ง SSH และ SFTP ด้วยชุดผู้ใช้และรหัสผ่าน แต่ผู้ใช้สามารถเข้าถึงทุกอย่างได้
4. ฉันลองใช้สิ่งนี้ใน sshd_config เพื่อจำกัดผู้ใช้ไว้ที่โฮมโฟลเดอร์ของเขา:
ระบบย่อย sftp ภายใน-sftp
......
จับคู่ผู้ใช้ทดสอบผู้ใช้
ChrootDirectory /var/www/mysite.com/public/b
X11หมายเลขการส่งต่อ
อนุญาตให้ Tcp ส่งต่อหมายเลข
ForceCommand ภายใน-sftp
5. หลังจากเพิ่มส่วนนั้นแล้ว ฉันไม่สามารถเข้าสู่ระบบผ่าน SSH ได้อีกต่อไป
ฉันตรวจสอบ /var/log/auth.log
ไฟล์และข้อผิดพลาดที่เกี่ยวข้องกับสิ่งนี้คือ:
ร้ายแรง: ความเป็นเจ้าของหรือโหมดที่ไม่ดีสำหรับคอมโพเนนต์ไดเรกทอรี chroot "/var/www/mysite.com/"
ความเป็นเจ้าของไซต์ของฉันคือ www-ข้อมูล:root
ทั่วทุกโฟลเดอร์
สิทธิ์มีดังนี้:
]
ปัญหาอีกประการหนึ่งที่ฉันพบคือแม้ในขณะที่ฉันจัดการเพื่อเชื่อมต่อ ฉันก็ไม่สามารถอัปโหลดอะไรได้ แม้ว่าจะเพิ่มผู้ใช้ลงในกลุ่มรูทแล้วก็ยังไม่มีอะไรเปลี่ยนแปลงฉันพยายามเป็นเจ้าของโฟลเดอร์ด้วย www-data:www-data แต่ไม่มีความแตกต่าง
มีวิธีที่ง่ายในการทำเช่นนี้หรือไม่?