通过Samba或SSH在LAN中共享文件


13

我可以在两个Ubuntu计算机和Windows计算机之间共享文件,但是我有无法解决的问题。

  1. 当我通过LAN Computer1Computer2在两台Ubuntu计算机之间共享文件时。两台机器上都需要Samba吗?如果否(相对于上一个问题),则将p2转移到
  2. 当我从Ubuntu的,访问其他机器的Ubuntu上没有定义文件和目录权限计算机1我看下的所有文件 /上的计算机2。有什么方法可以阻止这种可见性吗?如何设置我希望其他用户能够看到的文件夹或目录的权限?如何设置共享文件夹或文件的自定义列表?
  3. 访问其他Ubuntu机器的samba用户或系统管理员用户时,我使用哪个用户名和密码?两者都起作用吗?我可以在没有密码的情况下使用它吗?
  4. 我如何不使用GUI Samba或使用Terminal共享文件。
  5. 为什么Computer2Computer1的网络连接中没有显示? Nautilus的屏幕截图

  6. 在不知道名称或LAN上IP的情况下找到其他系统?

通过这个帮助我


碰碰需要同样的帮助,在这里太确切了!!需要在笔记本电脑上为我的xbmc共享两个ubuntu,以便我可以访问其他ubuntu机器和Windows机器上的媒体
sarveshlad 2012年

@SarveshLad:我至少从过去的三个星期就停滞了,但没有任何效果。请使这个问题有用单击标记。
twister_void 2012年

一些好的解释会有所帮助
twister_void 2012年

即时通讯现在能够!同时使用NFS安装和SSH访问
sarveshlad 2012年

@guettli我得到了我的第4个问题的答案
twister_void 2012年

Answers:


22

首先:如果要共享文件,则有几种感兴趣的协议:Samba(SMB),NFS,FTP,SSH / sFTP / SCP。如果涉及Windows计算机,那么Samba是最简单的,但是您也可以在两台Ubuntu(甚至Mac OS)计算机之间使用它。SSH对于Ubuntu来说是一件好事,因为它是一个非常强大的工具-例如,rsync在SSH上运行是使两个目录保持同步的命令方法。但是我之所以选择SMB,是因为您提到Windows,可能一开始就设置一个协议/服务器就足够了。

对于其他协议的进一步研究,只有三个重要提示:

  • 考虑加密-协议必须加密还是您想信任您的LAN?(FTP未加密,SSH / sFTP / SCP已加密)
  • 是否需要传输大文件?(与千兆网络中的SMB相比,SCP的速度确实很慢!如果您有兴趣,可以使用Google基准测试。)
  • 是否需要保留传输文件的文件权限?

现在您的问题:

1.当我通过LAN在两台Ubuntu计算机之间共享文件时,两台计算机上都需要Samba吗?

不,不是Samba服务器。会有永远的服务器和客户端。您可以从客户端访问服务器上的共享文件夹-不能相反。换句话说:复制进度条将始终在客户端上,而不是在服务器上。但是如果有两台Ubuntu计算机,它们可以同时作为客户端和服务器。默认情况下,客户端随Ubuntu一起提供,当您首次与Nautilus共享文件夹时,服务器会自动安装。

2.没有在计算机1上的“定义”权限,我可以/在计算机2上看到其下的所有文件。它们是否可以阻止这种可见性?

SMB / Samba并非如此。有某些共享文件夹,只有这些文件夹对客户端可见。检查文件夹/var/lib/samba/usershares/和文件/etc/samba/smb.conf(如果/共享路径)。可能您正在使用SSH而不是SMB连接。然后,您说对了,通常一切都可见,您必须正确设置文件和目录权限。您可以在此处找到有关此问题的更多详细信息:监狱用户的简便方法

3.通过Samba访问其他Ubuntu计算机时,我必须使用哪个用户名和密码?

通常很简单:只需使用另一台计算机的任何用户名和密码即可。仅在非常特殊的情况下,用户的普通密码与他的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并未随附)来在客户端上安装网络共享。然后,您可以正常使用它。有很多挂载Samba共享的方法。如果您使用的是Gnome,则gvfs-mount可能是最简单的方法:

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

5.为什么服务器未在客户端的Nautilus / Network中显示?

据我所知,它第一次没有出现在那儿。连接一次后,您将在此处找到它。第一次,您将必须单击“ Windows网络”,然后单击“工作组”,然后您将看到服务器-希望如此。至少这是我测试的结果。

6.如何在不知道局域网中其他系统名称或IP的情况下找到另一个系统?

您可以nmap在终端中使用,例如:

nmap 192.168.0.*

如果192.168.0.0是您的LAN。这将打印您局域网中的所有网络客户端(可以发现)。如果其他计算机未出现在Network下,有时这可能会有所帮助。


非常感谢2您真的对我所有的问题都给了我一个很好的答案...关于您不理解的我将为此发布屏幕快照
twister_void 2012年

伟大的写作!关于Q5,我认为您需要在客户端上安装完整的samba才能自动检测网络,尽管如果知道地址,“连接到服务器”始终有效。我没有在任何地方阅读过此书,但我似乎想起了经历过的这本书。我可能会弥补。
2012年

@ams这很奇怪!我尝试了一个新的实时系统(针对客户端),并将结果添加到我的答案中。如果您不满意,请编辑/评论!
lumbric'1

@lumbric:谢谢,但是Q5尚未解决。如果您发现有关Q5的新内容,请编辑您的答案。
twister_void 2012年

@Gaurav_Java对不起,我想不出其他办法解决问题5。同样在第一次连接后,您的服务器下次不会显示吗?
lumbric

1

问题4:要在两个ubuntu-pc之间复制文件,可以使用scp或rsync。或者,您可以使用sshfs在p2上的p1上挂载目录。这可以使用终端来完成

问题2:如何访问其他Ubuntu计算机?如果您不希望其他人读取您的文件,则可以使用以下方法:

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

但是,当然,root用户可以读取它们。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.