ขณะนี้ฉันมี NAS สำหรับครัวเรือนของเรา (เรียกว่า Waitress) ซึ่งใช้งาน Debian 11 กับ Samba โดยใช้ SMB 3.1.1 เชื่อมต่อกับ HDD USB-SS ขนาด 1TB ฉันยังมีเครื่อง Ubuntu ซึ่งเป็นแล็ปท็อปของฉันเอง (เรียกว่า Rox) เป้าหมายคือใช้ Waitress เพื่อจัดเก็บไฟล์ทั้งหมดในโฮมไดเร็กตอรี่ของฉัน ฉันกำลังทำสิ่งนี้โดยสร้างการแชร์ Samba บน Waitress ด้วยไฟล์ที่จัดเก็บไว้ใน HDD ภายนอก (ฟอร์แมตด้วย ext4) จากนั้นใน Rox ฉันเมานต์ส่วนแบ่งที่ /home/<ชื่อผู้ใช้ของฉัน>
. ฉันมีบัญชีบน Waitress โดยใช้ชื่อผู้ใช้และรหัสผ่านเดียวกันกับบัญชีของฉันบน Rox
คุณลักษณะการซิงค์รหัสผ่าน Unix ของ Samba ทำงานได้ดี และฉันสามารถเข้าถึงไฟล์ได้อย่างง่ายดายโดยลงชื่อเข้าใช้บัญชีของฉันใน Waitress ผ่าน SMB ปัญหาอยู่ที่คุณสมบัติการซิงค์การอนุญาต Unix ฉันไม่เข้าใจว่าทำไมการกำหนดค่า Samba และการกำหนดค่า fstab ของฉันจึงซิงค์สิทธิ์ไม่ถูกต้อง และฉันกำลังขอความช่วยเหลือในด้านนี้
ของฉัน /etc/samba/smb.conf
เกี่ยวกับพนักงานเสิร์ฟ:
[ทั่วโลก]
## การเรียกดู/การระบุ ###
# เปลี่ยนเป็นชื่อเวิร์กกรุ๊ป/NT-โดเมนที่เซิร์ฟเวอร์ Samba ของคุณจะมีส่วนร่วม
เวิร์กกรุ๊ป = mclean.net
#### เครือข่าย ####
# ชุดอินเทอร์เฟซ / เครือข่ายเฉพาะที่จะเชื่อมโยง
# ซึ่งอาจเป็นได้ทั้งชื่ออินเทอร์เฟซหรือที่อยู่ IP/เน็ตมาสก์
# ชื่ออินเตอร์เฟสเป็นที่ต้องการโดยทั่วไป
; อินเทอร์เฟซ = 127.0.0.0/8 eth0
# ผูกกับอินเทอร์เฟซและ / หรือเครือข่ายที่มีชื่อเท่านั้น คุณต้องใช้
# ตัวเลือก 'ส่วนต่อประสาน' ด้านบนเพื่อใช้สิ่งนี้
# ขอแนะนำให้คุณเปิดใช้งานคุณสมบัตินี้หากเครื่อง Samba ของคุณคือ
# ไม่ได้รับการป้องกันโดยไฟร์วอลล์หรือตัวไฟร์วอลล์เอง อย่างไรก็ตามสิ่งนี้
ตัวเลือก # ไม่สามารถจัดการอินเทอร์เฟซแบบไดนามิกหรือไม่ออกอากาศได้อย่างถูกต้อง
; ผูกอินเทอร์เฟซเท่านั้น = ใช่
#### การดีบัก/การบัญชี ####
# สิ่งนี้บอกให้ Samba ใช้ไฟล์บันทึกแยกต่างหากสำหรับแต่ละเครื่อง
#ที่เชื่อมโยง
ไฟล์บันทึก = /var/log/samba/log.%m
# จำกัดขนาดของไฟล์บันทึกแต่ละไฟล์ (เป็น KiB)
ขนาดบันทึกสูงสุด = 1,000
# เราต้องการให้ Samba เข้าสู่ /var/log/samba/log.{smbd,nmbd} เท่านั้น
# ต่อท้าย syslog@1 หากคุณต้องการส่งข้อความสำคัญไปที่ syslog ด้วย
การบันทึก = ไฟล์
# ทำสิ่งที่สมเหตุสมผลเมื่อ Samba ล่ม: ส่งจดหมายถึงผู้ดูแลระบบทางไปรษณีย์
การกระทำที่ตื่นตระหนก = /usr/share/samba/panic-action %d
####### การรับรองความถูกต้อง #######
#บทบาทของเซิร์ฟเวอร์ กำหนดว่า Samba จะทำงานในโหมดใด เป็นไปได้
# ค่าคือ "เซิร์ฟเวอร์แบบสแตนด์อโลน", "เซิร์ฟเวอร์สมาชิก", "คลาสสิกหลัก
# ตัวควบคุมโดเมน", "ตัวควบคุมโดเมนสำรองแบบคลาสสิก", "ใช้งานอยู่
# ตัวควบคุมโดเมนไดเร็กทอรี"
#
# คนส่วนใหญ่จะต้องการ "เซิร์ฟเวอร์แบบสแตนด์อโลน" หรือ "เซิร์ฟเวอร์สมาชิก"
# เรียกใช้เป็น "ตัวควบคุมโดเมนไดเรกทอรีที่ใช้งาน" จะต้องก่อน
# รัน "samba-tool domain allocation" เพื่อล้างฐานข้อมูลและสร้างไฟล์
#โดเมนใหม่.
บทบาทของเซิร์ฟเวอร์ = เซิร์ฟเวอร์แบบสแตนด์อโลน
ปฏิบัติตามข้อ จำกัด แพม = ใช่
# พารามิเตอร์บูลีนนี้ควบคุมว่า Samba พยายามซิงค์ Unix หรือไม่
# รหัสผ่านด้วยรหัสผ่าน SMB เมื่อรหัสผ่าน SMB ที่เข้ารหัสใน
# passdb ถูกเปลี่ยน
ซิงค์รหัสผ่านยูนิกซ์ = ใช่
# เพื่อให้การซิงค์รหัสผ่าน Unix ทำงานบนระบบ Debian GNU/Linux ดังต่อไปนี้
ต้องตั้งค่า # พารามิเตอร์ (ขอบคุณ Ian Kahan <<[email protected]> สำหรับ
# กำลังส่งสคริปต์แชทที่ถูกต้องสำหรับโปรแกรม passwd ใน Debian Sarge)
โปรแกรม passwd = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\successfully*
# บูลีนนี้ควบคุมว่าจะใช้ PAM สำหรับการเปลี่ยนรหัสผ่านหรือไม่
# เมื่อร้องขอโดยไคลเอ็นต์ SMB แทนที่จะเป็นโปรแกรมที่อยู่ในรายการ
# 'โปรแกรมรหัสผ่าน' ค่าเริ่มต้นคือ 'ไม่'
แพมเปลี่ยนรหัสผ่าน = ใช่
# ตัวเลือกนี้ควบคุมวิธีการแมปความพยายามในการตรวจสอบสิทธิ์ที่ไม่สำเร็จ
# เพื่อการเชื่อมต่อที่ไม่ระบุชื่อ
แผนที่ไปยังแขก = ผู้ใช้ที่ไม่ดี
########## โดเมน #############
#
# การตั้งค่าต่อไปนี้จะมีผลเฉพาะเมื่อ 'บทบาทเซิร์ฟเวอร์ = classic
# ตัวควบคุมโดเมนหลัก', 'บทบาทเซิร์ฟเวอร์ = ตัวควบคุมโดเมนสำรองแบบคลาสสิก'
# หรือ 'การเข้าสู่ระบบโดเมน' ถูกตั้งค่า
#
# มันระบุตำแหน่งของผู้ใช้
# ไดเร็กทอรีโปรไฟล์จากมุมมองไคลเอ็นต์) ต่อไปนี้
# จำเป็นต้องมีการแชร์ [โปรไฟล์] เพื่อตั้งค่าบนเซิร์ฟเวอร์ samba (ดู
# ด้านล่าง)
; เส้นทางการเข้าสู่ระบบ = \%N\profiles\%U
# อีกทางเลือกหนึ่งคือการจัดเก็บโปรไฟล์ในโฮมไดเร็กทอรีของผู้ใช้
# (นี่คือค่าเริ่มต้นของ Samba)
# เส้นทางการเข้าสู่ระบบ = \%N\%U\profile
# การตั้งค่าต่อไปนี้จะมีผลเฉพาะเมื่อตั้งค่า 'การเข้าสู่ระบบโดเมน'
# ระบุตำแหน่งของโฮมไดเร็กทอรีของผู้ใช้ (จากไคลเอ็นต์
# มุมมอง)
; ไดรฟ์เข้าสู่ระบบ = H:
# เข้าสู่ระบบหน้าแรก = \%N\%U
# การตั้งค่าต่อไปนี้จะมีผลเฉพาะเมื่อตั้งค่า 'การเข้าสู่ระบบโดเมน'
# มันระบุสคริปต์ที่จะทำงานระหว่างการเข้าสู่ระบบ ต้องจัดเก็บสคริปต์
# ในการแบ่งปัน [netlogon]
# หมายเหตุ: ต้องจัดเก็บในรูปแบบไฟล์ 'DOS'
; สคริปต์การเข้าสู่ระบบ = logon.cmd
# ซึ่งอนุญาตให้ผู้ใช้ Unix สร้างบนตัวควบคุมโดเมนผ่าน SAMR
#ท่ออาร์พีซี. คำสั่งตัวอย่างสร้างบัญชีผู้ใช้ด้วย Unix ที่ปิดใช้งาน
# รหัสผ่าน; โปรดปรับให้เข้ากับความต้องการของคุณ
; เพิ่มสคริปต์ผู้ใช้ = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
# สิ่งนี้ทำให้สามารถสร้างบัญชีเครื่องบนตัวควบคุมโดเมนผ่านทาง
#ท่อSAMR RPC.
# ต่อไปนี้ถือว่ามีกลุ่ม "เครื่อง" อยู่ในระบบ
; เพิ่มสคริปต์เครื่อง = /usr/sbin/useradd -g machines -c "%u บัญชีเครื่อง" -d /var/lib/samba -s /bin/false %u
# ซึ่งอนุญาตให้สร้างกลุ่ม Unix บนตัวควบคุมโดเมนผ่าน SAMR
#ท่ออาร์พีซี.
; สคริปต์เพิ่มกลุ่ม = /usr/sbin/addgroup --force-badname %g
############ อื่น ๆ ############
# การใช้บรรทัดต่อไปนี้ทำให้คุณสามารถปรับแต่งการกำหนดค่าของคุณได้
#เป็นรายเครื่อง %m จะถูกแทนที่ด้วยชื่อ netbios
#ของเครื่องที่กำลังเชื่อมต่อ
; รวม = /home/samba/etc/smb.conf.%m
# ค่าเริ่มต้นบางอย่างสำหรับ winbind (ตรวจสอบให้แน่ใจว่าคุณไม่ได้ใช้ช่วง
#เพื่ออย่างอื่น)
; idmap config * : แบ็กเอนด์ = tdb
; การกำหนดค่า idmap * : ช่วง = 3000-7999
; idmap config YOURDOMAINHERE : แบ็กเอนด์ = tdb
; idmap config YOURDOMAINHERE : ช่วง = 100,000-999999
; เปลือกแม่แบบ = /bin/bash
# ตั้งค่าตัวเลือก usershare เพื่อเปิดใช้งานผู้ใช้ที่ไม่ใช่รูทเพื่อแชร์โฟลเดอร์
# ด้วยคำสั่ง net usershare
# จำนวน usershare สูงสุด 0 หมายความว่า usershare ถูกปิดใช้งาน
# usershare แชร์สูงสุด = 100
# อนุญาตให้ผู้ใช้ที่ได้รับสิทธิ์ usershare สร้าง
# หุ้นสาธารณะ ไม่ใช่แค่หุ้นที่รับรองความถูกต้อง
usershare อนุญาตให้แขก = ใช่
#======================= แบ่งปันคำจำกัดความ =======================
[เซิร์ฟเวอร์สำรองข้อมูล]
นามสกุลยูนิกซ์ = ใช่
ความคิดเห็น = เซิร์ฟเวอร์สำรอง
เส้นทาง = /home/<my username>/harddrive/homefolder
เรียกดูได้ = ใช่
อ่านอย่างเดียว = ไม่
เขียนได้ = ใช่
ของฉัน /etc/fstab
กำหนดค่าบน Rox:
//<ชื่อโฮสต์พนักงานเสิร์ฟ>/BackupServer /home/<ชื่อผู้ใช้ของฉัน> ผู้ใช้ smb3=<ชื่อผู้ใช้ของฉัน>,unix,vers=3.1.1 0 0
ไฟล์ทั้งหมดในโฮมไดเร็กทอรีบน Waitress เป็นของผู้ใช้ของฉันและมีสิทธิ์อ่านและเขียนสำหรับผู้ใช้และกลุ่มของฉัน สิ่งนี้ควรอนุญาตให้เข้าถึงได้จาก Rox อย่างไรก็ตาม บน Rox สิทธิ์จะแสดงผู้ใช้และกลุ่มที่เป็นเจ้าของเป็น root และสิทธิ์ rwxr-xr-x Symlinks ก็ใช้งานไม่ได้เช่นกันฉันคาดหวังว่า symlink จะทำงาน ไฟล์ที่เป็นของฉันเอง และการอนุญาต rwxrwxr-x