Làm thế nào để chia sẻ tập tin qua mạng cục bộ?


65

Tôi có máy tính để bàn (Ubuntu 13.04 & Win 7 Home Premium)Máy tính xách tay (Ubuntu 12.04) , cả hai đều có bộ điều hợp WiFi. Tôi cũng có một bộ định tuyến WiFi kết nối với internet mà cả máy tính của tôi đều có thể truy cập.

Tôi muốn chia sẻ tệp giữa máy tính để bàn và máy tính xách tay của mình bằng WiFi (tương tự Homegroup trên Windows 7 nhưng không sử dụng cáp Ethernet) . Làm thế nào để tôi thiết lập điều đó?

Tôi muốn chia sẻ tệp bằng cả hai HĐH, nếu ai có thông tin về việc chia sẻ tệp với bất kỳ HĐH nào, vui lòng trả lời!



1
Đây không phải là một bản sao, vì nó hỏi về việc chia sẻ tệp giữa Ubuntu và Windows cũng như các máy Ubuntu và Ubuntu. Lưu ý máy tính để bàn có cả Ubuntu và Windows. Khi nó được khởi động lên Ubuntu và máy tính xách tay có Ubuntu, bạn có chia sẻ tệp Ubuntu sang Ubuntu.
dùng68186

Câu trả lời:


77

Thiết lập mạng

Kết nối cả máy tính để bàn và máy tính xách tay với bộ định tuyến WiFi bằng cách thiết lập tiêu chuẩn. Để kiểm tra xem cả hai máy tính có được kết nối hay không, hãy kiểm tra xem bạn có thể truy cập Internet từ cả hai máy tính không.

Tùy chọn: Trong thiết lập bộ định tuyến, xem các địa chỉ IP cục bộ được gán cho máy tính để bàn và máy tính xách tay. Chúng có thể trông giống như 192.168.0.100 hoặc 192.168.1.199. Nếu tồn tại một tùy chọn để gán các địa chỉ IP cụ thể này trong bộ định tuyến, bạn có thể làm điều đó.


Windows → Ubuntu

Bước 1 Trên máy tính xách tay tạo một thư mục bạn muốn chia sẻ. Có thể có một thư mục gọi là "Công khai" chọn thư mục đó nếu bạn muốn. Nhấp chuột phải vào biểu tượng thư mục và chọn "Tùy chọn chia sẻ." Một cửa sổ mới sẽ mở ra:

nhập mô tả hình ảnh ở đây

Chọn hộp "Chia sẻ thư mục này."

Bạn cũng có thể muốn kiểm tra hai hộp khác "Cho phép người khác tạo và xóa các tệp trong thư mục này." Điều này sẽ cho phép người dùng Windows máy tính để bàn tạo và xóa các tệp trên thư mục này.

Hộp kiểm "Quyền truy cập của khách" là tự giải thích. Điều này có thể hữu ích nếu ID người dùng Windows của bạn không hoàn toàn giống với ID người dùng Ubuntu của bạn.

Nó có thể cho bạn biết Dịch vụ chia sẻ chưa được cài đặt:

nhập mô tả hình ảnh ở đây

Nhấp vào "Cài đặt dịch vụ" và để nó cài đặt phần mềm bằng cách cung cấp mật khẩu cho tài khoản người dùng máy tính xách tay khi nó nhắc. Bạn có thể được nhắc cài đặt thêm phần mềm như thế nào libpam-smbpass. Cài đặt tất cả các phần mềm. Nó sẽ yêu cầu bạn khởi động lại dịch vụ và bấm Có.

Bước 2. Mở cửa sổ thuộc tính của thư mục "Công khai", bằng cách nhấp chuột phải vào nó. Chuyển đến tab quyền và đảm bảo nó trông như thế này:

nhập mô tả hình ảnh ở đây

Nhấp vào nút "Thay đổi quyền của các tệp đính kèm" và đảm bảo nó trông như thế này:

nhập mô tả hình ảnh ở đây

Bây giờ bạn sẽ có thể chỉnh sửa các tệp được tạo trong ubfox trong thư mục "Công khai" của máy tính xách tay trong Windows Explorer.

Tuy nhiên, nếu bạn tạo một tệp trong Windows và đặt nó vào thư mục Công cộng của máy tính xách tay, bạn có thể không mở được tệp đó khi bạn đến máy tính xách tay. Điều này là do Windows và Ubuntu không hiểu quyền sở hữu tệp và quyền của nhau. Vì vậy, trong máy tính xách tay Ubuntu, tệp được tạo bởi Windows được sở hữu bởi "Nobody". Bạn sẽ phải mở Nautilus với tư cách Quản trị viên và thay đổi quyền sở hữu và quyền đọc-ghi khi ở trong máy tính xách tay.

Bước 3. Truy cập Windows trên máy tính để bàn và mở Windows Explorer , Nhấp vào hình tam giác bên cạnh Mạng trên bảng điều khiển bên trái. Từ danh sách thả xuống, bạn sẽ có thể chọn tên của máy tính xách tay chạy Ubuntu .

Bây giờ bạn sẽ có thể thấy thư mục dùng chung của mình (nói "Công khai") từ máy tính xách tay trong Windows Explorer. Nhấp vào thư mục "Công khai" và xem các tệp trong thư mục. Bạn sẽ có thể sao chép các tệp từ thư mục Công cộng trong Ubuntu sang thư mục cục bộ Windows của bạn.

Dưới đây là hướng dẫn từng bước với một số chi tiết.


Ubuntu → Windows

Bước 1 Thiết lập chia sẻ thư mục Windows bằng các phương thức có sẵn cho Windows. làm theo các bước trong liên kết ở trên cho phần Windows.

Bước 2 Mở một thiết bị đầu cuối trong máy tính xách tay Ubuntu bằng cách nhấn Ctrl+ Alt+ Tvà nhập:

sudo -H gedit /etc/samba/smb.conf

và tìm dòng:

;   name resolve order = lmhosts host wins bcast

và chỉnh sửa nó để trông như thế này

   name resolve order = bcast lmhosts host wins 

Lưu ý, không có; ở đầu dòng chỉnh sửa. Lưu tệp và thoát gedit. Nhập hai dòng sau (mỗi dòng một lần) để dừng và bắt đầu samba:

sudo stop smbd
sudo start smbd

Bước 3 Trên máy tính xách tay, mở Nautilus, trình duyệt tệp và nhấp vào Mạng trên bảng điều khiển bên trái. Nhấp vào "Duyệt mạng" Nhấp qua các biểu tượng trong cửa sổ Mạng chính của Nautilus và tìm Windows Desktop và thư mục dùng chung. Xác minh bạn có thể sao chép các tập tin từ và vào thư mục này.

Xem lỗi "Không thể truy xuất danh sách chia sẻ từ máy chủ" khi duyệt chia sẻ với Nautilus để tham khảo về chỉnh sửa smb.conf.


Ubuntu → Ubuntu

Khởi động máy tính để bàn lên Ubuntu.

Trên cả máy tính để bàn và máy tính xách tay, hãy làm như sau để đảm bảo ssh-server không bị chặn:

Mở một thiết bị đầu cuối bằng cách nhấn Ctrl+ Alt+ Tvà nhập

sudo apt-get install openssh-server

Nhập mật khẩu của bạn khi được nhắc. Con trỏ sẽ không di chuyển khi bạn nhập mật khẩu. Điều này là bình thường.

Điều này sẽ cài đặt ssh-server nếu nó chưa được cài đặt. Nếu đã cài đặt, nó sẽ không làm gì cả.

Máy tính để bàn đầu tiên:

Mở Nautilus và tìm mục Menu "Các vị trí khác". Ở phía dưới, tìm Connect to Server:

kết nối sftp [7]

Trong Địa chỉ máy chủ Nhập:

sftp://laptop_user_id@laptop_name.local/home/laptop_user_id

nơi laptop_user_idlà ID người dùng mà bạn tạo ra cho vào máy tính xách tay của bạn. Bạn có thể tìm ID người dùng của mình bằng cách nhập whoamivào một thiết bị đầu cuối. Và laptop_namelà tên bạn đã đặt cho máy tính xách tay khi bạn cài đặt Ubuntu.

Nếu bạn muốn chia sẻ phân vùng trong ổ cứng thứ hai của máy tính để bàn, bên dưới Địa chỉ máy chủ Nhập:

sftp://desktop_user_id@desktop_name.local/path/to/the/mount/point/of/the/partition/in/second/hard/drive

Thay thế path/to/.../drivebằng đường dẫn thực tế.

Thay phiên, nếu bạn biết địa chỉ IP cục bộ của máy tính xách tay của bạn, bạn có thể thay thế laptop_name.localbằng địa chỉ IP cục bộ của máy tính xách tay.

Nhấn Connect. Bạn sẽ thấy một hộp thoại mật khẩu:

Mật khẩu cho SSH

Nhập mật khẩu được liên kết với laptop_user_id và chọn nếu bạn muốn mật khẩu được ghi nhớ hay không. Một lần nữa bấm vào Connect.

Bây giờ bạn sẽ thấy thư mục nhà của máy tính xách tay.

Lưu ý rằng có một mục mới trong Mạng trên bảng điều khiển bên trái của Nautilus bắt đầu bằng laptop_user_id. Nhấp chuột phải vào nó và chọn "Thêm dấu trang" để tạo dấu trang vĩnh viễn cho thư mục nhà của máy tính xách tay của bạn trong Nautilus của máy tính để bàn.

Xem trang này cho hình ảnh từ một phiên bản cũ hơn.

Bây giờ máy tính xách tay

Thực hiện theo quy trình tương tự như máy tính để bàn ở trên.


Tôi sẽ thử phương pháp Ur và sẽ trả lời U, đến lúc đó Cảm ơn bạn rất nhiều vì đã trả lời! -to user68186
Gaurav

2
:) Xong, tôi đã cài đặt SSH trong máy tính xách tay của mình như U đã nói và công việc của tôi đã hoàn thành, bây giờ tôi có thể thấy Máy tính xách tay của tôi trong Máy tính để bàn và Máy tính để bàn của tôi trong Máy tính xách tay của tôi, Cảm ơn rất nhiều và Cảm ơn bạn đã dành rất nhiều thời gian cho câu hỏi này.
Gaurav

2
@Gaurav Samba là một dịch vụ chạy trong nền. Không có giao diện người dùng đồ họa theo tên đó. Đó là lý do tại sao bạn sẽ không tìm thấy nó trong Dash. Bước nào bạn đang bị mắc kẹt? Bạn có thể thấy thư mục được chia sẻ trong Windows từ Ubuntu không? Bạn có thể thấy thư mục chia sẻ trong Ubuntu từ Windows không?
dùng68186

1
Lưu ý đối với Ubuntu với Ubuntu, hộp nhập "Kết nối với máy chủ" hiện xuất hiện ở cuối trang "Vị trí khác" cho các phiên bản mới hơn của Tệp (Nautilus) và rất dễ bị bỏ lỡ - Askubfox.com/a/851681
bonger

1
@bonger Cảm ơn! Tôi đã cập nhật văn bản và hình ảnh để phản ánh những thay đổi.
dùng68186

3

Tôi sẽ đề xuất một số lựa chọn thay thế trông không giống hệt SAMBA, nhưng có thể tốt hơn cho các trường hợp sử dụng khác.

Máy chủ HTTP

HTTP là giao thức được sử dụng để truy cập các trang web thông thường, vì vậy mọi hệ điều hành đã buộc phải thực hiện nó!

Tìm IP của bạn trên máy tính nguồn, vd 192.168.0.10. Trên Ubuntu:

ifconfig

Tạo một máy chủ trong một thư mục chứa tệp bạn muốn chuyển:

python -m SimpleHTTPServer 8080

Trên máy tính nhận, mở trình duyệt và truy cập:

192.168.0.10:8080

Bây giờ bạn có thể điều hướng qua các thư mục đến tập tin bạn muốn.

Tôi không chắc phương pháp này có nhanh / mạnh hay không, nhưng nó là một trong những cách đơn giản nhất để thiết lập và di động.

Các lựa chọn thay thế nhanh hơn được thảo luận tại: https://stackoverflow.com/questions/12905426/what-is-a-faster-alternative-to-pythons-simplehttpserver

rsync

Giữa hai máy tính Ubuntu, đây là một lựa chọn tuyệt vời: https://en.wikipedia.org/wiki/Rsync

Trước tiên hãy đảm bảo bạn có thể SSH từ máy tính này sang máy tính khác:

ssh server-username@192.168.0.10

Bạn có thể tạo một tài khoản mới cho người dùng nếu bạn muốn giữ mật khẩu của mình ở chế độ riêng tư.

Bạn có thể cần phải chạy trên máy chủ và máy khách:

sudo apt-get install ssh

Sau đó, khi bạn quản lý để đăng nhập, để sao chép tệp từ máy chủ sang máy khách, chỉ cần làm:

rsync -av server-username@192.168.0.10:/full/path/to/remote/directory .

Nhiều thư mục có thể được sao chép trong một lần như được giải thích tại https://unix.stackexchange.com/questions/308810/copying-multipl-files-USE-rsync-over-ssh :

rsync -av 'server-username@192.168.0.10:/full/path/to/remote/directory "/full/path/to/remote/directory with space"' .

Đây là phương pháp mẫu số chung thấp nhất: mạnh mẽ nhất, hiệu quả, có sẵn Linux rộng rãi và bảo mật dựa trên các quyền của tệp nổi tiếng + các lược đồ người dùng.

Điều này có thể không dễ dàng trên Windows nghĩ:

NFS

Một lần nữa chủ yếu dành cho hai máy Ubuntu, đây là SAMBA cho Linux, với sự hỗ trợ được tích hợp trong nhân Linux: https://en.wikipedia.org/wiki/Network_File_System

Về cơ bản, nó cho phép bạn đến mountmột thư mục từ máy chủ trên máy khách.

Thiết lập và xử lý sự cố có thể khó hơn một chút rsync, nhưng chắc chắn là có thể thực hiện được, đây là một bài viết hay: https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on- ubfox-16-04

Có thể cũng có một số triển khai Windows: https://docs.microsoft.com/en-us/windows-server/st Storage / nfs / nfs-overview nhưng tôi đoán Microsoft phải hỗ trợ tốt hơn cho giao thức SMB của chính họ.


1
sudo apt-get install servefile

Servfile hoàn hảo để chia sẻ thông thường, nó chạy một máy chủ http trên cổng 8080 (trừ khi -p < port > được chỉ định), vì vậy nó có thể giao tiếp nhanh với bất kỳ thiết bị nào có trình duyệt.

Ví dụ:

  • servefile filename # Chỉ cần phục vụ một tập tin


    Tôi nhận được 3 URL vì tôi có 3 IP từ 3 mạng LAN khác nhau, thông thường bạn sẽ chỉ nhận được 1 URL, nhưng thật tuyệt vời nó cho bạn thấy điều đó.

  • Servfile -u ~ / Pictures # Cho phép bạn tải tệp lên thư mục Ảnh

    tải lên tập tin

  • Servfile -l ~ / Pictures # Phục vụ nội dung của thư mục

    nội dung của thư mục

  • Servfile -tc gzip ~ / Pictures # xây dựng một tệp tar từ bất kỳ tệp hoặc thư mục nào và nén nó khi đang di chuyển

    nhập mô tả hình ảnh ở đây

BTW với phương pháp này tôi đạt tốc độ truyền 1Gbps (tốc độ tối đa của mạng LAN của tôi).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.