Linux `mount --bind` ทำให้โฟลเดอร์ของไคลเอ็นต์หายไปหรือไม่


2

ฉันพยายามทำให้ผู้ใช้ VSFTPD เข้าถึงโฟลเดอร์ FTP ของลูกค้าของเราทั้งหมด (ผู้ใช้ทั้งหมด chroot'ed ไปยังไดเรกทอรีบ้านของพวกเขาที่มีโฟลเดอร์ public_html)

สิ่งที่ผมทำก็คือสร้างผู้ใช้ใหม่ FTP /home/global_user/และสร้างไดเรกทอรีลูกค้าภายใน จากนั้นฉันใช้คำสั่งต่อไปนี้เพื่อติดตั้งไดเรกทอรีผู้ใช้ของลูกค้าลงในไดเรกทอรีผู้ใช้ทั่วโลกเช่นนี้

mount --bind /home/global_user/client_directory /home/client/

สิ่งที่เกิดขึ้นถัดไปคือโฟลเดอร์ถูกเมาท์ แต่ไฟล์ทั้งหมดในโฟลเดอร์เดิมหายไป ! พวกเขาจะไม่ปรากฏในที่ยึดใหม่

คำตอบ:


2

mount - ผูก olddir newdir

ดังนั้นหลังจากการวิ่ง

mount --bind /home/global_user/client_directory /home/client/

เนื้อหาเดิม (ไม่มี) ของยังมีอยู่ใน/home/global_user/client_directory /home/client/คุณไม่สามารถเห็นเนื้อหาต้นฉบับของ/home/clientเพราะคุณซ้อนทับไดเรกทอรีว่างเปล่าใหม่ของคุณที่ด้านบน!

เพียงแค่umountนี้และลองอีกครั้งโดยมีการย้อนกลับข้อโต้แย้ง


ขอบคุณสำหรับการตอบกลับเพื่อนของฉัน ฉันพยายามที่จะขยายทั้งสองโฟลเดอร์และฉันได้รับ "อุปกรณ์ไม่ว่าง" สำหรับทั้งสองไดเรกทอรีแม้ในขณะที่ sudoing
pilau

ซึ่งหมายความว่าบางกระบวนการกำลังแตะที่เป้าหมายเมานต์ ( /home/client) - ตรวจสอบให้แน่ใจว่าไม่มีเชลล์อยู่ในนั้นแล้วลองอีกครั้ง ( lsof +D /home/clientอาจช่วยได้) Oh, umount /home/clientและคุณเท่านั้นพยายามที่จะ
ไร้ประโยชน์

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