ทำไมเครือข่ายลีนุกซ์ใช้ Samba


9

คุณสมบัติ "การแบ่งปันไฟล์และเครื่องพิมพ์" ของ Linux distros ส่วนใหญ่เป็น Samba แซมบ้าเป็นการตีความระบบไฟล์เครือข่ายของ Microsoft

ความเข้ากันได้ระหว่าง Cross-OS นั้นมีความสำคัญ แต่ทำไมระบบ Linux ถึงผิดนัดกับเทคโนโลยี Microsoft นี้

ระบบไฟล์เครือข่ายของ Microsoft ดีจัง แซมบ้าทำงานได้ดีมากและฉันก็ไม่ได้ "ไม่ชอบ"

หรือเพื่อใช้คำถามใหม่ "สิ่งที่จะเป็นวิธีที่ชาวพื้นเมือง Linux ใช้ไฟล์และเครื่องพิมพ์ร่วมกันในเครือข่าย?"


ฉันเคยใช้ Samba มานานแล้วและฉันจะไม่บอกว่ามันใช้งานได้ "ดี" ... ใช้งานได้ แต่มันช้ามากโดยเฉพาะเมื่อเทียบกับ NFS ฉันจองแซมบ้าสำหรับกรณีที่มี Windows boxen เกี่ยวข้องกับความต้องการแบ่งปัน
— Brian Knoblauch

ฮะ. ฉันมักจะใช้ CUPS ในการแบ่งปันเครื่องพิมพ์ ฉันจะเกี่ยวข้องกับแซมบ้าเฉพาะเมื่อ 9x หรือ NT <5 มีส่วนเกี่ยวข้องตั้งแต่ปี 2000 และใหม่กว่ารองรับ IPP โดยตรง (เพียงป้อน URL เครื่องพิมพ์เมื่อถูกขอให้ป้อนเส้นทางการแชร์)
— SamB

สิ่งที่คุณอ้างถึงเป็น "ระบบไฟล์เครือข่ายของ Microsoft" (SMB) ถูกเขียนโดย IBM
— symcbean

คำตอบ:


10

ระบบไฟล์เครือข่ายของ Microsoft ดีจัง

จากมุมมองที่มันมีอยู่ทุกหนทุกแห่งใช่แล้วมันก็ดี หากคุณถามว่าเป็นโปรโตคอลที่ดีหรือไม่คำตอบก็คือไม่ใช่สิ่งที่ยอดเยี่ยมจริงๆ มันมีปัญหาใหญ่ในการเชื่อมโยงที่มีความล่าช้าสูง มันมีคำสั่งซ้ำซ้อนมากเกินไป Microsoft ได้แก้ไขเรื่องนี้กับ SMB2 เป็นจำนวนมาก

ระบบ Linux ที่ตั้งค่าเริ่มต้นเป็นเทคโนโลยี Microsoft นี้หรือไม่

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

อะไรจะเป็นวิธีที่ Linux ใช้ในการแชร์ไฟล์และเครื่องพิมพ์

NFS อาจเป็นโปรโตคอลการแชร์ไฟล์ * nix ที่เป็นมาตรฐานที่สุด

LPR หรือ CUPS เป็นโปรโตคอลการพิมพ์ที่ใช้กันทั่วไป

โดยส่วนตัวฉันหวังเป็นอย่างยิ่งว่า webdav จะกลายเป็นเรื่องธรรมดาสำหรับการแชร์ไฟล์ แต่ฉันยังต้องหา webdav daemon ที่ดีสำหรับ * nix


1
ฉันเห็นด้วยกับ WebDAV ฉันใช้มันเยอะมากผ่าน Apache แต่มันเป็นพลเมืองชั้นสองแน่นอนทั้งบนเซิร์ฟเวอร์และเดสก์ท็อป
— Mark Porter

11

ระบบแชร์ไฟล์ขนาดใหญ่ 2 ระบบสำหรับ Linux คือ NFS และ SAMBA เราเรียกใช้ทั้งสองที่นี่ด้วยเหตุผลที่แตกต่างกัน นี่คือรายการ pro / con แบบปิดด้านบนของฉัน

NFS

  • +เซิร์ฟเวอร์ไปยังเซิร์ฟเวอร์
  • +เร็ว
  • +ติดตั้งง่ายสำหรับผู้ใช้จำนวนน้อย
  • +น่าเชื่อถือมากสำหรับการทำคลัสเตอร์ / ความพร้อมใช้งานสูง
  • -เครื่องไคลเอนต์แต่ละเครื่องต้องการการกำหนดค่าของตนเองใน / etc / exports
  • -ตัวเลือกความปลอดภัย จำกัด มาก
  • -ผู้ใช้จะต้องตรงกันทั้งเซิร์ฟเวอร์และไคลเอนต์เพื่อรักษาสิทธิ์ unix
  • - การเชื่อมโยงไปยังเนื้อหาที่อยู่นอกการแบ่งปันจะล้มเหลวหรือแย่กว่านั้นคือใช้ทรัพยากรที่มีชื่อเดียวกันกับลูกค้า

SAMBA

  • +เซิร์ฟเวอร์ต่อผู้ใช้
  • +การกำหนดค่าที่ยืดหยุ่นมาก
  • +ความสามารถในการใช้การตรวจสอบต่อผู้ใช้กับ Active Directory, LDAP, ผู้ใช้ท้องถิ่น, ผู้ใช้แซมบ้า
  • +ความเข้ากันได้กับระบบปฏิบัติการอื่น ๆ ส่วนใหญ่
  • +ความสามารถในการแบ่งปันเครื่องพิมพ์
  • +ความสามารถในการบันทึกไฟล์ที่มีสิทธิ์โดยพลการ
  • +ทางเลือกรองรับสิทธิ์ UNIX แบบเต็ม
  • +ความสามารถในการสร้างการเชื่อมโยงไปยังแหล่งข้อมูลภายนอกของการแบ่งปันดูเหมือนจะอยู่ในการแบ่งปัน ตัวอย่างเช่นการส่งออกการแชร์ที่เมาท์อีกครั้ง
  • -ค่าโสหุ้ยสูงกว่า NFS เล็กน้อย
  • - การกำหนดค่าที่ยืดหยุ่นนั้นง่ายต่อการทำให้ผิดพลาด
  • -ปัญหาการแคช / ล็อค หากไม่ใช่ผู้ใช้ทั้งหมดที่ใช้แซมบ้าเพื่อเข้าถึงไฟล์ผู้ใช้บางคนอาจไม่เห็นการเปลี่ยนแปลงไฟล์
  • -ปัญหาของ Microsoft MS ชอบ "ปรับปรุง" ข้อมูลจำเพาะทุกสองสามปีดังนั้นไคลเอ็นต์เดสก์ท็อป windows ในอนาคตอาจไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ Samba ของคุณได้ ทีมแซมบ้าเก่งเรื่องการติดตามกับ MS แต่คุณต้องระวังเรื่องนี้

1
/ etc / exports สนับสนุนสัญกรณ์ cidr หรือ netmask ดังนั้นสำหรับกรณีทั่วไปของการส่งออกไปยังบล็อกที่ต่อเนื่องกันไม่จำเป็นต้องแสดงรายการไคลเอนต์ทั้งหมดอย่างชัดเจน นอกจากนี้ WRT symlinking ให้ดูsamba.org/samba/news/symlink_attack.html
— janneb

ทั้งข้อดีและข้อเสีย เราอาจมี "ลิงก์ขนาดใหญ่" หรือ "ส่วนขยาย unix" แต่ไม่ใช่ทั้งคู่ สิ่งนี้กลับไปสู่ ​​Samba ที่มีความยืดหยุ่นและง่ายต่อการพลาด เกี่ยวกับ net mask ใน NFS คุณพูดถูก หากคุณรู้สึกสะดวกสบายในการเข้าถึงเครื่องที่คุณไม่รู้จัก (เช่นใน subnet ส่วนตัวขนาดเล็กที่มีการจัดการ) มันสามารถประหยัดเวลาได้มาก ฉันทำงานโรงพยาบาลมหาวิทยาลัยและเรามักจะปฏิบัติต่อแม้อินทราเน็ตในฐานะเครือข่ายที่ไม่น่าเชื่อถือ
— Mark Porter

1
อันที่จริงแล้ว MS ค่อนข้างดีเกี่ยวกับการทำให้แน่ใจว่า Windows สามารถใช้การแบ่งปัน SMB จากระบบอย่างน้อยสองรุ่นกลับมาดังนั้นตราบใดที่แซมบ้าสามารถติดตามอย่างน้อยก็ไม่เป็นปัญหา เป็นระเบียบสำหรับนักพัฒนาจริง แต่ฉันคิดว่าพวกเขาสามารถจัดการได้ (! ไม่ไม่ฆ่าฉัน Jelmer ผมก็ไม่ได้บอกพวกเขาทำสิ่งที่เลวร้าย!)
— SAMB

8

แซมบ้ามาถึงความโด่งดังเป็นส่วนใหญ่เพราะมันทำให้สถานี Windows ที่ไม่มีการแก้ไขสามารถพูดคุยกับมันได้และเนื่องจากโดยทั่วไปแล้ว Windows เป็นประชากรที่ใหญ่ที่สุดของผู้ใช้เดสก์ท็อปในเครือข่ายใดก็ตามที่ทำให้น่าสนใจมากขึ้น ผู้ใช้ Mac คนอื่น ๆ สามารถใช้แพ็คเกจ Netatalk ที่ได้รับการดูแลไม่ดีหรือโดยทั่วไปแล้วแพ็คเกจ Samba ที่สร้างขึ้นในระบบปฏิบัติการของพวกเขา ในระยะสั้นแซมบ้าเป็นระเบิดดาเพราะมันทำงานได้ดีที่สุดในเครือข่ายที่ต่างกัน

โซลูชันการให้บริการไฟล์โอเพนซอร์ซบริสุทธิ์ที่มีการเปิดรับสิทธิบัตรโดยไม่ต้องสงสัยว่าไม่เป็นมิตรกับผู้ใช้เดสก์ท็อป NFS สวยมากซึ่งต้องใช้รูท - เม้าท์และจนกระทั่งเมื่อไม่นานมานี้มีน้อยมากในการสร้างคุณลักษณะด้านความปลอดภัย แพคเกจ FuseFS ได้ไปทางยาวเพื่อทำให้เรื่องนี้ง่ายมากสำหรับผู้ใช้สก์ท็อปลินุกซ์ที่จะช่วยให้สิ่งที่ต้องการ SSH / SFTP จะเป็นไฟล์ที่ให้บริการโปรโตคอลแทนไฟล์ร่วมกันโปรโตคอล; ไฟล์ -> บันทึก -> เรียกดูตำแหน่งจะทำงานกับ FuseFS


2

การแชร์ไฟล์ Linux จะเป็น NFS และเครื่องพิมพ์ที่ใช้ร่วมกันจะเป็น CUPS แต่มีการแชร์ไฟล์อื่น ๆ อีกมากมายตามที่ระบุไว้ด้านล่างเช่น SSH, FTP, SFTP และอื่น ๆ


1

โปรโตคอลเช่น FTP, HTTP, NFS และ SSH โดยทั่วไปฉันใช้การแชร์ไฟล์ SAMBA เพื่อการถ่ายโอนไฟล์ระหว่างแพลตฟอร์มอย่างสะดวกสบายเท่านั้น



0

การแบ่งปันไฟล์ UNIX มาตรฐานคือ NFS อย่างไรก็ตามนั่นเป็น UNIX เท่านั้นอย่างที่ผู้คนพูดกัน NFS ยังมีปัญหาบางอย่างกับการเข้าสู่ระบบการทำแผนที่และอื่น ๆ การใช้งาน SAMBA มีอยู่ในระบบจำนวนมากและให้ตัวเลือกการเชื่อมต่อที่กว้างที่สุด เครื่อง Windows, เครื่อง Linux และ Mac ที่ทันสมัยทั้งหมดสามารถใช้ SAMBA ได้ หากคุณใช้สิ่งนั้นคุณจะรับประกันได้ว่าเครื่องอื่น ๆ สามารถเชื่อมต่อได้


1
NFS ไม่ใช่ยูนิกซ์เท่านั้น คุณสามารถติดตั้งบริการสำหรับยูนิกซ์บนกล่อง Windows และเข้าถึง nfs ได้ แต่การติดตั้งเป็นสิ่งที่เจ็บปวด
— Zoredache

ใช่จุดดี ฉันลืมบริการสำหรับ Unix บน Windows อย่างไรก็ตามไม่ใช่เซิร์ฟเวอร์เท่านั้นและสำหรับการแชร์เท่านั้นคุณไม่สามารถเชื่อมต่อกับ NFS ที่แบ่งปันได้เมื่อฉันจำได้ ฉันควรอธิบายให้ชัดเจนยิ่งขึ้น
— mauvedeity

ฉันมี win7 VM ที่นี่ซึ่งเชื่อมต่อกับ linux ที่ใช้ NFS ร่วมกันได้ง่ายมาก
— dyasny

1
ในกรณีที่ทุกคนต้องการทดลองใช้ไคลเอ็นต์สำหรับ NFS บน windows technet.microsoft.com/en-us/library/cc754046.aspx
— wanghq
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.