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