Gau*_*rav 79 networking file-sharing
我有一台台式机(Ubuntu 13.04 和 Win 7 Home Premium)和一台笔记本电脑(Ubuntu 12.04),两者都有 WiFi 适配器。我还有一个连接到互联网的WiFi 路由器,我的两台电脑都可以访问它。
我想使用 WiFi 在我的台式机和笔记本电脑之间共享文件(类似于 Windows 7 上的家庭组,但不使用以太网电缆)。我该如何设置?
我想使用两个操作系统共享文件,如果有人有关于与任何操作系统共享文件的信息,请回答!
use*_*186 87
使用标准设置将台式机和笔记本电脑连接到 WiFi 路由器。这意味着任何计算机都可以通过 WiFi 或以太网电缆连接。但是,如果您稍后将一台(或两台)计算机从 WiFi 切换到以太网电缆(反之亦然),则该计算机的本地 IP 地址可能会更改。这将影响文件共享设置。
要检查两台计算机是否已连接,请测试您是否可以从两台计算机访问 Internet。
可选:在路由器设置中,查看分配给台式机和笔记本电脑的本地 IP 地址。这些可能看起来像 192.168.0.100 或 192.168.1.199。如果存在在路由器中永久分配这些特定 IP 地址的选项,您可以这样做。
步骤 1在笔记本电脑上创建要共享的文件夹。可能有一个名为“公共”的文件夹,如果您愿意,请选择该文件夹。右键单击文件夹图标并选择“共享选项”。将打开一个新窗口:

选中“共享此文件夹”框。
您可能还想选中其他两个框“允许其他人在此文件夹中创建和删除文件”。这将允许桌面 Windows 用户在此文件夹中创建和删除文件。
“访客访问”复选框是不言自明的。如果您的 Windows 用户 ID 与您的 Ubuntu 用户 ID 不完全相同,这可能很有用。
它可能会告诉您未安装共享服务:

单击“安装服务”,并在提示时提供笔记本电脑用户帐户的密码,让它安装软件。系统可能会提示您安装更多软件,例如libpam-smbpass. 安装所有软件。它会要求您重新启动服务并单击是。
步骤 2.打开“公共”文件夹的属性窗口,右键单击它。转到权限选项卡并确保它看起来像这样:

单击“更改封闭文件的权限”按钮并确保它看起来像这样:

现在,您应该能够在 Windows 资源管理器的笔记本电脑的“公共”文件夹中编辑在 ubuntu 中创建的文件。
但是,如果您在 Windows 中创建一个文件并将其放在膝上型电脑的公共文件夹中,则当您使用膝上型电脑时可能无法打开该文件。这是因为 Windows 和 Ubuntu 不了解彼此的文件所有权和权限。所以在 Ubuntu 笔记本电脑中,Windows 创建的文件归“Nobody”所有。您必须以管理员身份打开 Nautilus,并在笔记本电脑中更改所有权和读写权限。
步骤 3.转到台式计算机上的 Windows 并打开Windows 资源管理器,单击左侧面板上网络旁边的三角形。从下拉列表中,您应该能够选择运行 Ubuntu 的笔记本电脑的名称。
现在您应该能够在 Windows 资源管理器中从笔记本电脑看到您的共享文件夹(比如“公共”)。单击“公共”文件夹并查看文件夹中的文件。您应该能够将文件从 Ubuntu 中的 Public 文件夹复制到您的 Windows 本地文件夹。
步骤 1使用适用于 Windows 的方法设置 Windows 文件夹共享。按照上面链接中的步骤操作 Windows 部分。
步骤 2在 Ubuntu 笔记本电脑中按Ctrl+ Alt+打开终端T并输入:
sudo -H gedit /etc/samba/smb.conf
Run Code Online (Sandbox Code Playgroud)
并寻找该行:
; name resolve order = lmhosts host wins bcast
Run Code Online (Sandbox Code Playgroud)
并编辑它看起来像这样
name resolve order = bcast lmhosts host wins
Run Code Online (Sandbox Code Playgroud)
请注意,没有 ; 在编辑行的开头。保存文件并退出 gedit。输入以下两行(一次一行)来停止和启动 samba:
sudo stop smbd
sudo start smbd
Run Code Online (Sandbox Code Playgroud)
步骤 3在笔记本电脑上,打开 Nautilus、文件浏览器并单击左侧面板上的网络。单击“浏览网络” 单击 Nautilus 主网络窗口中的图标,找到您的 Windows 桌面和共享文件夹。验证您可以从该文件夹复制文件或将文件复制到该文件夹。
使用 Nautilus 浏览共享时,请参阅“无法从服务器检索共享列表”错误,以获取有关编辑 smb.conf 的参考。
将桌面引导至 Ubuntu。
在台式机和笔记本电脑上执行以下操作以确保 ssh-server 已安装:
按Ctrl+ Alt+打开终端T并输入
sudo apt-get install openssh-server
Run Code Online (Sandbox Code Playgroud)
出现提示时输入您的密码。输入密码时光标不会移动。这是正常的。
如果尚未安装 ssh-server,这将安装它。如果已经安装,它将什么也不做。
桌面优先:
打开 Nautilus 并找到菜单项“其他位置”。在底部找到连接到服务器:

在服务器地址下输入:
sftp://laptop_user_id@laptop_name.local/home/laptop_user_id
Run Code Online (Sandbox Code Playgroud)
laptop_user_id您在笔记本电脑上创建的用户 ID在哪里。您可以通过whoami在终端中输入来找到您的用户 ID 。并且laptop_name是您在安装 Ubuntu 时给笔记本电脑起的名字。
如果要共享桌面第二个硬盘驱动器中的分区,请在服务器地址下输入:
sftp://desktop_user_id@desktop_name.local/path/to/the/mount/point/of/the/partition/in/second/hard/drive
Run Code Online (Sandbox Code Playgroud)
替换path/to/.../drive为实际路径。
或者,如果您知道笔记本电脑laptop_name.local的本地 IP 地址,则可以将其替换为笔记本电脑的本地 IP 地址。
按Connect。您将看到一个密码对话框:

输入与 notebook_user_id 关联的密码,然后选择是否要记住密码。再次单击Connect。
现在您应该会看到笔记本电脑的主文件夹。
请注意,在Nautilus 左侧面板的Network下有一个以 开头的新条目laptop_user_id。右键单击它并选择“添加书签”以在桌面的 Nautilus 中为笔记本电脑的主文件夹创建一个永久书签。
现在笔记本
按照与上面桌面相同的过程进行操作。
Cir*_*郝海东 10
我将提出一些看起来与 SAMBA 不完全相同的替代方案,但它们可能更适合其他用例。
HTTP服务器
HTTP是用于访问常规网站的协议,因此每个操作系统都被迫实施它!
在源计算机上找到您的 IP,例如192.168.0.10. 在 Ubuntu 上:
ifconfig
Run Code Online (Sandbox Code Playgroud)
在包含要传输的文件的目录中创建服务器。使用Python 3(Ubuntu 20.04 及更高版本上的默认 Python):
python3 -m http.server 8080
Run Code Online (Sandbox Code Playgroud)
或在 Python 2 中:
python -m SimpleHTTPServer 8080
Run Code Online (Sandbox Code Playgroud)
在接收计算机上,打开浏览器,然后访问:
192.168.0.10:8080
Run Code Online (Sandbox Code Playgroud)
现在您可以通过目录导航到您想要的文件。
我不确定这种方法是否快速/健壮,但它是设置和便携最简单的方法之一。
更快的替代方案在以下位置讨论:https : //stackoverflow.com/questions/12905426/what-is-a-faster-alternative-to-pythons-simplehttpserver
同步
在两台 Ubuntu 计算机之间,这是一个不错的选择:https : //en.wikipedia.org/wiki/Rsync
首先确保您可以从一台计算机通过 SSH 连接到另一台计算机:
ssh server-username@192.168.0.10
Run Code Online (Sandbox Code Playgroud)
如果您想将密码保密,您可以为用户创建一个新帐户。
您可能需要在服务器和客户端上运行:
sudo apt-get install ssh
Run Code Online (Sandbox Code Playgroud)
然后,一旦您成功登录,要将文件从服务器复制到客户端,只需执行以下操作:
rsync -av server-username@192.168.0.10:/full/path/to/remote/directory .
Run Code Online (Sandbox Code Playgroud)
可以一次性复制多个目录,如https://unix.stackexchange.com/questions/308810/copying-multiple-files-using-rsync-over-ssh 所述:
rsync -av 'server-username@192.168.0.10:/full/path/to/remote/directory "/full/path/to/remote/directory with space"' .
Run Code Online (Sandbox Code Playgroud)
这是最低公分母方法:最健壮、高效、广泛的 Linux 可用且安全性依赖于众所周知的文件权限 + 用户方案。
Windows 认为这可能并不容易:
NFS
同样主要用于两台 Ubuntu 机器,这是“Linux 版 SAMBA”,支持内置于 Linux 内核中:https : //en.wikipedia.org/wiki/Network_File_System
基本上它允许您mount从客户机上的服务器访问一个文件夹。
设置和故障排除可能比 难一点rsync,但绝对可行,这是一篇好文章:https : //www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on- ubuntu-16-04
也许还有一些 Windows 实现:https : //docs.microsoft.com/en-us/windows-server/storage/nfs/nfs-overview但我猜微软必须为其自己的 SMB 协议提供更好的支持。
SCP
这适用于 SSH,因此您需要在远程计算机上登录。
一旦您能够使用 SSH,您就可以使用 scp 复制单个文件:
scp username@remote-hostname:/path/to/remote/src path/to/local/dest
scp path/to/local/src username@remote-hostname:/path/to/remote/dest
Run Code Online (Sandbox Code Playgroud)
SSHFS
这也适用于 SSH,因此再次需要 SSH 登录。
使用 SSHFS,您可以通过 SSH 创建一个挂载。有点像 NFS,但更容易设置并且可能更慢:
sudo sshfs username@remote-hostname:/path/to/remote/src path/to/local/dir
Run Code Online (Sandbox Code Playgroud)
path/to/local/dir现在包含相同的内容/path/to/remote/src并自动同步。
| 归档时间: |
|
| 查看次数: |
194323 次 |
| 最近记录: |