ในการตั้งค่าการแชร์smb.conf
คุณจะต้องระบุชื่อผู้ใช้และ / หรือกลุ่มที่ได้รับอนุญาตให้เขียนไปยังการแชร์โดยใช้write list = ...
บรรทัด
ตัวอย่าง:
[myshare]
...
write list = my_linux_username
จากนั้นคุณจะต้องใช้smbpasswd
คำสั่งเพื่อตั้งค่ารหัสผ่านเพื่อรับรองความถูกต้องmy_linux_username
สำหรับ Samba:
sudo smbpasswd -a my_linux_username
ขั้นตอนนี้จำเป็นเนื่องจากรหัสผ่านระบบมาตรฐาน/etc/shadow
ถูกแฮชในอัลกอริทึมที่ไม่สามารถใช้ร่วมกับอัลกอริทึมแฮชรหัสผ่านที่ใช้ในโปรโตคอล SMB เมื่อไคลเอนต์ส่งแพ็คเก็ตการตรวจสอบความถูกต้อง SMB มันจะมีรหัสผ่านที่แฮช สามารถเปรียบเทียบได้กับแฮชรหัสผ่านอื่นที่ใช้อัลกอริทึมเดียวกันเท่านั้น
(มากคำแนะนำที่เก่าแก่มากจากสหัสวรรษก่อนหน้านี้อาจแนะนำให้ปิดการใช้งานการเข้ารหัสรหัสผ่านในแซมบ้าและการใช้ hacks รีจิสทรีบางอย่างที่จะช่วยให้ Windows เพื่อปล่อยรหัสผ่านที่ไม่ได้เข้ารหัสกับเครือข่ายคำแนะนำนี้คือ. ล้าสมัย : hacks รีจิสทรีเหล่านั้นอาจไม่ทำงานในรุ่นปัจจุบันของ Windows และอนุญาตให้ทุกคนที่สามารถตรวจสอบปริมาณการใช้เครือข่ายของคุณเพื่อเก็บรหัสผ่านของคุณได้เล็กน้อย)
มีอีกสิ่งหนึ่งที่คุณอาจต้องทำกับลูกค้า เมื่อระบบไคลเอนต์ Windows ของคุณเข้าร่วมกับโดเมน Active Directory และคุณกำลังเข้าสู่ระบบด้วยบัญชีของโฆษณาก็จะนำหน้าชื่อผู้ใช้อย่างไม่มีเงื่อนไขทั้งหมดที่มีชื่อของโดเมน AD ของผู้ใช้คือคุณจะได้รับการตรวจสอบเป็นไม่เพียงAD_DOMAIN\your_username
your_username
หากคุณเข้าสู่ระบบด้วยบัญชีท้องถิ่น (หรือระบบไคลเอนต์ของคุณไม่ได้เข้าร่วมกับโดเมนโฆษณา) Windows อาจนำหน้าชื่อผู้ใช้ด้วยชื่อโฮสต์ของไคลเอ็นต์โดยอัตโนมัติเว้นแต่คุณจะระบุชื่อโดเมนอื่น
จะประสบความสำเร็จในการเข้าสู่แบบสแตนด์อะโลนเซิร์ฟเวอร์แซมบ้าจากไคลเอนต์แบบสแตนด์อะโลน Windows SAMBA_SERVER_HOSTNAME\your_username
คุณอาจต้องระบุชื่อผู้ใช้ของคุณเป็น
มิฉะนั้นแซมบ้าจะเห็นชื่อผู้ใช้เป็นWINDOWS_CLIENT_HOSTNAME\your_username
ข้อสรุปว่ามันไม่มีวิธีการตรวจสอบผู้ใช้ที่เป็นของชื่อโดเมนWINDOWS_CLIENT_HOSTNAME
และจะปฏิเสธการเข้าสู่ระบบ
(รุ่นใหม่กว่าของ Samba อาจมีการตรวจสอบในตัวสำหรับสถานการณ์เฉพาะนี้และพวกเขาอาจอนุญาตให้คุณเข้าถึงได้อย่างไรก็ตามนี่เป็นวิธีการตรวจสอบ SMB ที่ใช้งานได้ภายใต้ประทุนและถ้าคุณต้องการจัดการกับ Samba รุ่นเก่า มันอาจจะยังมีประโยชน์)
force user = defaultUser
ไม่ได้งานสำหรับฉัน