มีความเป็นไปได้ไหมที่จะแบ่งปันไดเรกทอรีต่อSambaชั่วคราว?
ด้วยPython 3ฉันสามารถให้บริการไดเรกทอรีปัจจุบันต่อHTTPโดยใช้:
python -m http.server
.
ฉันต้องการที่จะทำสิ่งเดียวกันกับแซมบ้า
net usershare
...
มีความเป็นไปได้ไหมที่จะแบ่งปันไดเรกทอรีต่อSambaชั่วคราว?
ด้วยPython 3ฉันสามารถให้บริการไดเรกทอรีปัจจุบันต่อHTTPโดยใช้:
python -m http.server
.
ฉันต้องการที่จะทำสิ่งเดียวกันกับแซมบ้า
net usershare
...
คำตอบ:
ดูเหมือนจะไม่มีทางที่จะสร้างส่วนแบ่งโฆษณาแบบเดียวกับที่exportfs
ทำกับ NFS บน Linux และshare
ทำได้บน Solaris เหตุผลอาจแตกต่างกันไป แต่คุณสามารถทำสิ่งต่าง ๆ ทางเทคนิคตามที่อธิบายไว้ในหน้าสำหรับการเรียกใช้เซิร์ฟเวอร์หลายเครื่องบนเครื่องเดียวกันและด้วยการกำหนดเองให้smb.conf
บรรลุสิ่งที่คุณต้องทำ
นอกจากนี้ยังมีตัวเลือกในการสร้างและลบการแชร์แบบไดนามิกโดยใช้ SWATซึ่งจะต้องมีการเปลี่ยนแปลงเพื่อsmb.confเพื่อให้สิ่งนี้เกิดขึ้นดูในส่วนadd share command
และdelete share command
ส่วนตัวถ้าคุณต้องการที่จะมีส่วนแบ่งการแบบไดนามิกที่คุณอาจต้องการที่จะแบ่งปันไดเรกทอรีบ้านและการใช้งานแบบไดนามิกหุ้นที่บ้านของคุณผ่านทาง samba ที่กล่าวไว้ในหลายสถานที่รวมถึงฟอรั่มอูบุนตูและรายชื่อผู้รับจดหมายแซมบ้า
ขึ้นอยู่กับว่า samba daemon ของคุณมีอายุเท่าไรและตัวเลือกการกำหนดค่าที่ใช้เมื่อสร้างขึ้นคุณอาจยังมีตัวเลือกในการกำหนดการแชร์ "ไดนามิก" ใน smb.conf ของคุณชี้ไปที่ say / var / dynamic / ดูด้านล่าง จากนั้นเพิ่มลิงก์สัญลักษณ์ไปยังไดเรกทอรีที่คุณต้องการแชร์ในไดเรกทอรีชั่วคราว
แฮ็คนี้ต้องการตัวเลือกการเชื่อมโยงแบบกว้างเพื่อตั้งค่าเป็นใช่เพื่ออนุญาตให้แซมบ้าติดตามลิงก์ภายนอกรูทการแชร์ โชคไม่ดีที่สองสามปีที่ผ่านมาทีมแซมบ้าได้ปรับเปลี่ยนการตั้งค่าเริ่มต้นเพื่อป้องกันการแชร์ที่กว้างเนื่องจากอาจถูกนำไปใช้ประโยชน์ Google สำหรับ: แซมบ้าและ "ลิงก์แบบกว้าง"สำหรับประวัติและการทำงานอื่น ๆ
[dynamic]
comment = Somewhere to park dynamic shares
path = /var/dynamic
read only = Yes
inherit acls = Yes
follow symlinks = yes
wide links = yes
การทดสอบอย่างรวดเร็วควรดูว่าคุณดีเช่น
mkdir -p /var/dynamic/test
cd /var/dynamic
ln -s test a_link
ln -s /tmp/ tmp_test
ให้บอกว่าคุณต้องการแชร์ / บางโฟลเดอร์กับ someuser ชั่วคราวแบบอ่านอย่างเดียวอย่างรวดเร็ว
เพิ่มผู้ใช้ระบบ:
useradd -r someuser
บ่อยครั้งที่ค่าเริ่มต้นโฟลเดอร์อื่นสามารถอ่านได้ (ตรวจสอบด้วย ls -ld / somefolder) หากคุณต้องการบังคับ:
chmod -R o+r /somefolder
เพิ่มผู้ใช้ไปยัง samba ด้วยรหัสผ่านบางอย่างเช่น:
smbpasswd -a someuser
แก้ไข smb.conf อย่างรวดเร็วและเพิ่มที่ด้านล่าง
[someshare]
path = /somefolder
read list = someuser
ออกบันทึกและเรียกใช้ในที่สุด
smbcontrol smbd reload-config
และ voila
เห็นได้ชัดว่าคุณอาจต้องการลบส่วน "someshare" เมื่อเสร็จแล้วและรันคำสั่ง reload-config อีกครั้ง
ข้อจำกัดความรับผิดชอบ: ฉันไม่ได้ทดสอบอย่างเต็มที่ แต่ฉันประหลาดใจที่คำตอบของคำถามนั้นง่ายเพียงใด คุณสามารถข้ามบางขั้นตอนและดำดิ่งสู่การแก้ไขของ smb.conf หากคุณมีผู้ใช้ที่มีการเข้าถึง samba อยู่แล้ว - สิ่งที่ฉันเพิ่งพบ
net share add
คำสั่งที่คุณต้องการหรือไม่?