การแชร์ไฟล์ใน LAN ผ่าน Samba หรือ SSH


13

ฉันสามารถแชร์ไฟล์ระหว่างเครื่อง Ubuntu สองเครื่องกับเครื่อง Windows แต่ฉันมีปัญหาเหล่านี้ซึ่งฉันไม่สามารถแก้ไขได้

  1. เมื่อฉันแชร์ไฟล์ระหว่างสองเครื่อง Ubuntu ผ่านระบบ LAN Computer1เพื่อComputer2 ฉันต้องการ Samba บนเครื่องทั้งสองเครื่องหรือไม่? หากไม่มี (เทียบกับคำถามบน) ในกรณีของการถ่ายโอน p2
  2. เมื่อเข้าสู่เครื่องอื่นจากอูบุนตู Ubuntu โดยไม่ต้องกำหนดไฟล์และไดเรกทอรีสิทธิ์ในComputer1ผมเห็นไฟล์ทั้งหมดภายใต้ /บนComputer2 มีวิธีใดบ้างที่จะหยุดทัศนวิสัยนั้น ฉันจะตั้งค่าการอนุญาตในโฟลเดอร์หรือไดเรกทอรีที่ต้องการให้ผู้ใช้รายอื่นเห็นได้อย่างไร? จะตั้งค่ารายการโฟลเดอร์หรือไฟล์ที่แชร์ได้อย่างไร
  3. ผู้ใช้และรหัสผ่านใดที่ฉันใช้ขณะเข้าถึงผู้ใช้แซมบ้าของเครื่องอูบุนตูหรือผู้ดูแลระบบ มันใช้ได้ทั้งคู่หรือเปล่า ฉันจะใช้มันได้โดยไม่ต้องใช้รหัสผ่านหรือไม่
  4. ฉันจะแชร์ไฟล์โดยไม่ใช้ GUI samba หรือใช้เทอร์มินัลได้อย่างไร
  5. ทำไมComputer2ไม่แสดงบนการเชื่อมต่อเครือข่ายของฉันในComputer1 (โดยไม่ต้องใช้ตัวเลือกเชื่อมต่อกับเซิร์ฟเวอร์) ทำไมระบบ linux ของฉันไม่แสดงในสิ่งนี้ สกรีนช็อตของ Nautilus

  6. ค้นหาระบบอื่นโดยไม่ทราบชื่อหรือ IP ผ่าน LAN หรือไม่

ช่วยฉันด้วยสิ่งนี้


ชนต้องการความช่วยเหลือเดียวกันที่นี่สถานการณ์ที่แน่นอนเกินไป !! จำเป็นที่จะต้องแบ่งสองสำหรับอูบุนตู XBMC ของฉันในแล็ปท็อปเพื่อให้สามารถเข้าถึงสื่อบนเครื่องอูบุนตูและหน้าต่างเครื่องอื่น ๆ
sarveshlad

@SarveshLad: ฉันติดอยู่อย่างน้อยสามสัปดาห์ที่ผ่านมา แต่ไม่มีอะไรทำงาน กรุณาทำให้คำถามนี้มีประโยชน์คลิกที่เครื่องหมาย
twister_void

คำอธิบายที่ดีบางอย่างจะมีประโยชน์
twister_void

ตอนนี้ฉันสามารถที่จะ! ใช้ทั้งการเมานต์ NFS และการเข้าถึง SSH
sarveshlad

@guettli ฉันได้รับคำตอบสำหรับคำถาม 4 ข้อของฉัน
twister_void

คำตอบ:


22

ก่อนอื่น: ถ้าคุณต้องการแชร์ไฟล์มีหลายโปรโตคอลที่น่าสนใจ: Samba (SMB), NFS, FTP, SSH / sFTP / SCP Samba เป็นวิธีที่ง่ายที่สุดหากมีคอมพิวเตอร์ Windows เกี่ยวข้อง แต่คุณสามารถใช้ระหว่างเครื่อง Ubuntu (และ Mac OS) ได้สองเครื่อง SSH เป็นสิ่งที่ดีสำหรับ Ubuntu เนื่องจากเป็นเครื่องมือที่ทรงพลังมากเช่นการใช้งานrsyncSSH เป็นวิธีคำสั่งเพื่อทำให้ทั้งสองไดเรกทอรีตรงกัน แต่ฉันเลือก SMB เพราะคุณพูดถึง Windows และอาจตั้งค่าหนึ่งโปรโตคอล / เซิร์ฟเวอร์นั้นเพียงพอสำหรับการเริ่มต้น

คำแนะนำสำคัญเพียงสามข้อสำหรับการวิจัยเพิ่มเติมเกี่ยวกับโปรโตคอลอื่น:

  • คิดเกี่ยวกับการเข้ารหัส - จำเป็นหรือไม่ที่โปรโตคอลจะถูกเข้ารหัสหรือคุณต้องการเชื่อถือ LAN ของคุณ? (FTP ไม่ได้เข้ารหัส SSH / sFTP / SCP คือ)
  • จำเป็นต้องโอนไฟล์ขนาดใหญ่หรือไม่? (SCP นั้นช้ามากเมื่อเทียบกับ SMB ในเครือข่ายกิกะบิต! Google เป็นมาตรฐานถ้าคุณสนใจ)
  • จำเป็นหรือไม่ที่จะต้องอนุญาตการใช้ไฟล์ของไฟล์ที่ถ่ายโอน?

ตอนนี้คำถามของคุณ:

1. เมื่อฉันแชร์ไฟล์ระหว่างสองเครื่อง Ubuntu ผ่าน LAN ฉันต้องใช้ Samba กับทั้งสองเครื่องหรือไม่

ไม่ไม่ใช่เซิร์ฟเวอร์ Samba จะมีเสมอเซิร์ฟเวอร์และไคลเอ็นต์ คุณสามารถเข้าถึงโฟลเดอร์ที่ใช้ร่วมกันบนเซิร์ฟเวอร์จากไคลเอนต์ - ไม่ใช่วิธีอื่น ๆ กล่าวอีกนัยหนึ่ง: แถบความคืบหน้าการคัดลอกจะอยู่บนไคลเอนต์เสมอไม่อยู่บนเซิร์ฟเวอร์ แต่ด้วยเครื่อง Ubuntu สองเครื่องทั้งสองเครื่องสามารถเป็นไคลเอนต์และเซิร์ฟเวอร์ได้ในเวลาเดียวกันหากคุณต้องการ ไคลเอ็นต์นั้นมาพร้อมกับ Ubuntu ตามค่าเริ่มต้นเซิร์ฟเวอร์จะถูกติดตั้งโดยอัตโนมัติเมื่อคุณแชร์โฟลเดอร์เป็นครั้งแรกกับ Nautilus

2. ไม่มีการกำหนดสิทธิ์บนคอมพิวเตอร์ 1 ฉันสามารถดูไฟล์ทั้งหมดภายใต้/คอมพิวเตอร์ 2. เป็นวิธีใดที่จะหยุดการมองเห็นนั้น

นั่นไม่เป็นความจริงสำหรับ SMB / Samba มีโฟลเดอร์ที่ใช้ร่วมกันบางรายการเท่านั้นที่จะปรากฏแก่ลูกค้า ตรวจสอบโฟลเดอร์/var/lib/samba/usershares/และไฟล์/etc/samba/smb.confหากเส้นทาง/ถูกแชร์ อาจเป็นไปได้ว่าคุณกำลังเชื่อมต่อกับ SSH และไม่ใช่กับ SMB จากนั้นคุณพูดถูกต้องโดยปกติทุกอย่างจะปรากฏให้เห็นและคุณต้องตั้งค่าการอนุญาตไฟล์และไดเรกทอรีอย่างถูกต้อง คุณสามารถหารายละเอียดเพิ่มเติมเกี่ยวกับสิ่งนี้ได้ที่นี่: วิธีที่ง่ายและสะดวกในการจำผู้ใช้

3. ฉันต้องใช้ผู้ใช้และรหัสผ่านใดในขณะที่เข้าถึงเครื่อง Ubuntu อื่นผ่าน Samba

ปกติแล้วมันง่ายมากเพียงใช้ชื่อผู้ใช้และรหัสผ่านของเครื่องอื่น เฉพาะในกรณีพิเศษเท่านั้นรหัสผ่านปกติของผู้ใช้นั้นแตกต่างจากรหัสผ่าน Samba ของเขา คุณสามารถเปลี่ยนรหัสผ่าน Samba แยกกันได้ด้วยคำสั่งsmbpasswdแต่คุณควรมีเหตุผลที่ดีในการใช้รหัสผ่านที่แตกต่างกันสองแบบ

คุณสามารถอนุญาตให้แชร์ได้โดยไม่ต้องใช้รหัสผ่าน มีหลายสิ่งที่จะพูดเกี่ยวกับสิ่งนี้ แต่ภาพหน้าจอ Nautilus นี้อาจช่วยได้ในการเริ่มต้น:

ป้อนคำอธิบายรูปภาพที่นี่

4. วิธีการแชร์ไฟล์ที่ไม่มี GUI โดยใช้เทอร์มินัล

กรณีการใช้งานที่พบบ่อยที่สุดคือ SSH / SCP เพียงพิมพ์ต่อไปนี้ในเทอร์มินัลของไคลเอ็นต์เพื่อคัดลอก/path/to/file1บนไคลเอ็นต์ไปยัง/path/to/file2บนเซิร์ฟเวอร์:

scp /path/to/file1 server:/path/to/file2

serverสามารถเป็นที่อยู่ IP หรือชื่อโดเมน หรือวิธีอื่นที่กล่าวถึงแล้วในคำตอบอื่น ๆ ด้วยrsync:

rsync /path/to/file1 server:/path/to/file2

ด้วย Samba คุณอาจจะใช้smbmount (ซึ่งไม่ได้จัดส่งกับ Samba ตามค่าเริ่มต้น) เพื่อติดตั้งการแชร์เครือข่ายบนไคลเอนต์ จากนั้นคุณสามารถใช้งานได้ตามปกติ มีหลายวิธีในการเมาท์แชร์แซมบ้า หากคุณใช้ Gnome gvfs-mountอาจเป็นวิธีที่ง่ายที่สุด:

gvfs-mount smb://server/nameOfsharedFolder
cd ~/.gvfs/*

5. เหตุใดเซิร์ฟเวอร์ไม่แสดงใน Nautilus / Network บนไคลเอ็นต์

เท่าที่ฉันรู้ครั้งแรกที่มันไม่ปรากฏขึ้นที่นั่น หลังจากเชื่อมต่อแล้วคุณจะพบว่ามี ในครั้งแรกคุณจะต้องคลิก "เครือข่าย Windows" จากนั้น "Workgroup" และจากนั้นคุณจะเห็นเซิร์ฟเวอร์ของคุณ - หวังว่า อย่างน้อยนี่เป็นผลการทดสอบของฉัน

6. จะค้นหาระบบอื่นโดยไม่ทราบชื่อหรือ IP ของระบบอื่นใน LAN ได้อย่างไร?

คุณสามารถใช้nmapในเทอร์มินัลตัวอย่างเช่น:

nmap 192.168.0.*

ถ้า 192.168.0.0 เป็น LAN ของคุณ นี่จะพิมพ์ไคลเอนต์เครือข่ายทั้งหมดใน LAN ของคุณ (ซึ่งสามารถค้นพบได้) บางครั้งอาจช่วยนี้ถ้าเครื่องอื่น ๆ จะไม่แสดงขึ้นภายใต้เครือข่าย


ขอบคุณมาก 2 คุณให้คำตอบที่ดีกับคำถามของฉันทั้งหมด ... เกี่ยวกับสิ่งที่คุณไม่เข้าใจฉันจะโพสต์ภาพหน้าจอสำหรับสิ่งนั้น
twister_void

สุดยอดบทความ! เป็น Q5 ฉันคิดว่าคุณต้องติดตั้งแซมบ้าแบบเต็มบนไคลเอนต์เพื่อตรวจจับเครือข่ายโดยอัตโนมัติแม้ว่า 'เชื่อมต่อกับเซิร์ฟเวอร์' จะใช้งานได้ทุกครั้งถ้าคุณทราบที่อยู่ ฉันไม่ได้อ่านที่นี่ แต่ดูเหมือนจะจำได้ว่าเคยเจอสิ่งนี้ ฉันสามารถสร้างมันขึ้นมาได้
ams

@ams มันแปลก! ฉันลองกับระบบสดใหม่ (สำหรับลูกค้า) และเพิ่มผลลัพธ์ในคำตอบของฉัน โปรดแก้ไข / แสดงความคิดเห็นหากนี่ไม่เป็นความจริงสำหรับคุณ!
lumbric

@lumbric: ขอบคุณ แต่ Q5 ยังไม่ได้รับการแก้ไข หากคุณพบสิ่งใหม่เกี่ยวกับ Q5 โปรดแก้ไขคำตอบของคุณ
twister_void

@Gaurav_Java ขออภัยฉันไม่สามารถหาวิธีอื่นในการแก้ Q5 นอกจากนี้หลังจากการเชื่อมต่อครั้งแรกเซิร์ฟเวอร์ของคุณจะไม่ปรากฏขึ้นในครั้งต่อไป
lumbric

1

คำถามที่ 4: การคัดลอกไฟล์ระหว่างสอง Ubuntu คุณสามารถใช้ scp หรือ rsync หรือคุณสามารถติดตั้งไดเรกทอรีจาก p1 บน p2 ด้วย sshfs สิ่งนี้สามารถทำได้โดยใช้ terminal

คำถามที่ 2: คุณเข้าถึงเครื่อง Ubuntu อื่น ๆ ได้อย่างไร? หากคุณไม่ต้องการให้คนอื่นอ่านไฟล์ของคุณคุณสามารถใช้สิ่งนี้:

chmod -R o-rwX,g-rwX my-directory

แต่แน่นอนว่าการใช้รูทสามารถอ่านได้


1

แอปแชร์ที่ง่ายที่สุดคือGiver - จำเป็นต้องมีการกำหนดค่าขั้นต่ำ


แต่น่าเสียดายที่ไม่ได้ทำงานในสภาพแวดล้อม proxyfied ของฉัน แต่แท้จริงแล้วแอปแชร์ LAN ที่ง่ายที่สุดเท่าที่เคยมีมา
Andrejs Cainikovs

@AndrejsCainikovs ใช่ app นี้มีไว้สำหรับการใช้งาน LAN เท่านั้น
Vadim Rutkovsky
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.