Virtual Boxes, โฮสต์ Linux, แขกของ Windows, โฟลเดอร์ที่ใช้ร่วมกันและถังขยะรีไซเคิล


2

โดยทั่วไปสิ่งที่ฉันกำลังมองหาคือวิธีการแชร์โฟลเดอร์ระหว่างโฮสต์ Debian Jessie และแขกของ Windows 7 โดยไม่ต้องกลัวว่าฉันจะลบไฟล์ใน Windows โดยไม่ตั้งใจและไม่มีวิธี (สะดวก) ในการกู้คืนไฟล์เหล่านั้น

ฉันคิดว่านี่เป็นสิ่งที่สามารถทำได้อย่างง่ายดาย แต่ดูเหมือนว่ามันจะไม่เป็นเช่นนั้น

ด้วย googling เล็กน้อยฉันพบวิธีแก้ปัญหาอย่างละเอียดที่ TechNet:

เปิดใช้งานถังรีไซเคิลบนไดรฟ์เครือข่ายที่แมป

แต่ดูเหมือนว่ามันจะทำงานเมื่ออยู่ในสภาพแวดล้อม Windows ทั้งสองด้าน (และอาจจะไม่ได้ใช้กับ VirtualBox แต่เช่นกับระบบ Windows ปกติที่มีระบบเปิดใช้งาน NTFS ทำหน้าที่เป็นเซิร์ฟเวอร์) ดูความคิดเห็นของฉันและคนอื่น ๆ :

... เมื่อลบไฟล์ Windows ถามว่าฉันต้องการย้ายไฟล์ไปที่ถังรีไซเคิลหรือไม่จากนั้นจะบอกฉันในกล่องโต้ตอบอื่นฉันต้องได้รับอนุญาต (ได้รับจากผู้ดูแลระบบ) และแสดงปุ่มลองใหม่ จากนั้นคลิกการลองส่งใหม่ล้มเหลวเนื่องจากไฟล์ถูกลบไปแล้ว ไม่สำคัญว่า Explorer จะทำงานในฐานะผู้ดูแลระบบหรือไม่เนื่องจากลักษณะการทำงานเหมือนกัน ...

ดังนั้นฉันต้องการค้นหาวิธีแก้ไขปัญหาอื่นสำหรับปัญหานี้ - ไม่ว่าจะสามารถทำได้ด้วยเพียงแค่ผู้เยี่ยมชม (เช่นแฮ็คที่อธิบายที่ TechNet) หรือเกี่ยวข้องกับการเปลี่ยนแปลงบางอย่างในการตั้งค่าโฮสต์ไม่สำคัญ (ตอนนี้) ฉันมีความสุขกับการป้อนข้อมูลใด ๆ !

ฉันสามารถจินตนาการบางอย่างเช่น shadow copy ที่ระบบไฟล์ext4 (ถ้าเป็นไปได้) หรือแม้กระทั่งตั้งค่าไฟล์เซิร์ฟเวอร์ด้วยSamba (?) ที่โฮสต์ของฉันและค้นหาวิธีการแมปกับแขก

อย่างที่คุณเห็นฉันมีความรู้น้อยเกินไปที่นี่ ...

คำตอบ:


3

ภายใต้ Linux, Samba สามารถสกัดกั้นการลบไฟล์และย้ายไฟล์ไปยังที่เก็บอื่นโดยใช้โมดูล vfs_recycle

ดูลิงค์เหล่านี้:


ขอบคุณที่ชี้ให้ฉันเห็นรายละเอียดที่ถูกต้องที่ Samba! เนื่องจากวันหยุดสุดสัปดาห์อยู่ใกล้ฉันหวังว่าฉันจะหาเวลาเพื่อดำเนินการต่อความพยายามของฉันในไม่ช้าและจะแบ่งปันสิ่งที่ฉันค้นพบที่นี่
conceptdeluxe

ฉันต้องการมอบเงินรางวัลให้กับคุณ แต่ฉันไม่แน่ใจว่าจะเกิดอะไรขึ้นถ้าฉันตั้งคำตอบที่ละเอียดกว่านี้เป็นที่ยอมรับ - คุณจะยังได้รับหรือไม่
conceptdeluxe

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

0

ขอบคุณคำตอบที่ได้รับจาก @harrymc ฉันสามารถติดตั้ง Samba ด้วยถังขยะที่เปิดใช้งาน นี่คือขั้นตอนที่ฉันได้ทำ:

1. ปิดใช้งานโฟลเดอร์ที่ใช้ร่วมกันของ Virtual Box

ก่อนอื่นฉันได้ปิดการใช้งานโฟลเดอร์ที่ใช้ร่วมกันของ Virtual Box เพื่อให้การแบ่งปันไฟล์ทั้งหมดทำได้ผ่านเครือข่าย Samba ที่กำหนดค่าไว้เท่านั้น - นี่ไม่ใช่ข้อกำหนด

2. ติดตั้ง Samba

ฉันทำตามคำแนะนำที่https://wiki.debian.org/SambaServerSimpleสำหรับการติดตั้ง Samba ...

apt-get install samba samba-client

3. สร้างผู้ใช้ Samba

... จากนั้นสร้างผู้ใช้ใหม่ด้วย:

smbpasswd -a johndoe

4. อัปเดตการกำหนดค่า Samba

ในการกำหนดค่าโฟลเดอร์ที่ใช้ร่วมกันฉันได้อัปเดตแล้ว/etc/samba/smb.confด้วยส่วนที่เกี่ยวข้อง[shared]ซึ่งจะแมป//debian/sharedเป็นชื่อของโฮสต์คอมพิวเตอร์ที่เป็นเดเบียนในกรณีของฉัน

[shared]
   path = /home/johndoe/shared
   comment = My Shared Folder
   read only = no
   browseable = yes
   create mask = 0777
   directory mask = 0777
   guest ok = no
   hide files = /.recycle/
   vfs objects = recycle
      recycle:repository = .recycle
      recycle:keeptree = yes
      recycle:versions = yes
      recycle:touch = yes
      recycle:minsize = 0
      recycle:maxsixe = 0

5. รีสตาร์ท Samba

เมื่อฉันเสร็จสิ้นการกำหนดค่าฉันได้บันทึกไฟล์และรีสตาร์ทแซมบ้าด้วย:

sudo service smbd restart

6. เสร็จแล้ว

และนั่นคือมัน กลับไปที่ผู้เยี่ยมชม Windows ที่ฉันเชื่อมต่อ//debian/sharedด้วยการใช้ Windows Explorer และป้อนข้อมูลรับรองสำหรับjohndoeตามที่กำหนดค่าไว้ก่อนหน้านี้ และตอนนี้เมื่อลบไฟล์ฉันยังคงถูกถามว่าฉันต้องการลบอย่างถาวรหรือไม่ แต่เมื่อยืนยันด้วยใช่ไฟล์จะไม่ถูกลบ แต่ย้ายไปยังไดเรกทอรีที่เก็บรีไซเคิล


หมายเหตุ:

ฉันจำได้ว่าการลบโฟลเดอร์ว่างที่แขกจะลบอย่างถาวรที่โฮสต์เช่นกันแทนที่จะย้ายไปยังไดเรกทอรีที่เก็บรีไซเคิล


การปกป้องถังรีไซเคิล

แม้ว่าการhide files = /.recycle/ตั้งค่าจะช่วยให้มั่นใจได้ว่าโฟลเดอร์ที่เก็บข้อมูลรีไซเคิลนั้นไม่สามารถมองเห็นได้ด้วยการตั้งค่ามาตรฐานของ Windows Explorer แต่ก็เป็นไปได้ที่จะใช้ที่เก็บข้อมูลรีไซเคิลนอกโฟลเดอร์ที่ใช้ร่วมกันเช่นกัน - เพื่อให้ลูกค้าไม่สามารถลบเนื้อหา หากต้องการตั้งค่าเป็น/home/johndoe/.shared.recycleฉันใช้:

      recycle:repository = ../.shared.recycle

การกำหนดค่าเพิ่มเติม

ขอบเขตค่อนข้างน้อยของคำถามนี้ - แต่ที่นี่คุณสามารถเห็นไฟล์การกำหนดค่าทั้งหมดของฉัน การตั้งค่าหลายอย่างใน[global]ตอนแรกหลังจากติดตั้ง samba แต่เนื่องจากฉันต้องการทราบว่ามีการกำหนดค่าอะไรจริง ๆ ฉันดูที่https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.htmlหน้าคู่มือแล้วเปลี่ยนบางส่วนของ การตั้งค่าเริ่มต้น

[global]
   workgroup = WORKGROUP
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1024
   syslog only = no
   syslog = 0
   server role = standalone server

   map to guest = Never
   usershare allow guests = no

   pam password change = yes
   obey pam restrictions = yes
   unix password sync = no

   passdb backend = tdbsam
   encrypt passwords = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .


;[homes]
;   comment = Home Directories
;   browseable = no
;   read only = yes
;   create mask = 0700
;   directory mask = 0700
;   valid users = %S

;[printers]
;   path = /var/spool/samba
;   comment = All Printers
;   browseable = no
;   read only = yes
;   create mask = 0700
;   printable = yes
;   guest ok = no

;[print$]
;   path = /var/lib/samba/printers
;   comment = Printer Drivers
;   browseable = yes
;   read only = yes
;   guest ok = no

#[shared]
# ... as shown above

อย่างที่คุณเห็นฉันได้แสดงความคิดเห็น[printers]และ[print$]ส่วนต่างๆเนื่องจากฉันไม่ต้องการแบ่งปันเครื่องพิมพ์ของฉันตอนนี้

ฉันก็แสดงความคิดเห็นใน[homes]ส่วน ส่วนใหญ่เป็นเพราะฉันไม่ทราบมากเกี่ยวกับความหมายในแง่ของความปลอดภัยเมื่อเปิดใช้งาน หากมีคนต้องการที่จะอธิบายรายละเอียดเกี่ยวกับเรื่องนี้ที่นี่ยินดีต้อนรับ!

สิ่งที่ฉันคิดว่าฉันเข้าใจคือmap to guest = Neverและusershare allow guests = noจะปิดการเข้าถึงของผู้เยี่ยมชมอย่างสมบูรณ์

แต่ฉันไม่รู้เกี่ยวกับการตั้งค่าความปลอดภัยอื่น ๆ ที่แสดงด้านบน หากมีใครสามารถอธิบายให้ฉันฟังได้ว่าพวกเขาหมายถึงอะไรคนเดียว โดยเฉพาะอย่างยิ่งpam password change, obey pam restrictionsและunix password syncจะไม่ให้ชัดเจนกับผม แต่ผมได้อ่านบทนั้นที่หน้าคน:

https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#PAMPASSWORDCHANGE

https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#OBEYPAMRESTRICTIONS

https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#UNIXPASSWORDSYNC

ในที่สุดการตั้งค่าสำหรับpassdb backend, encrypt passwords, passwd programและpasswd chatมาพร้อมกับการติดตั้ง Debian Jessie ต่อเริ่มต้น

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