ขอบคุณคำตอบที่ได้รับจาก @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 ต่อเริ่มต้น