ทำไมเครือข่ายลีนุกซ์ใช้ 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.