![如何使用 Ubuntu 桌面创建家庭服务器?](https://linux22.com/image/965454/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20Ubuntu%20%E6%A1%8C%E9%9D%A2%E5%88%9B%E5%BB%BA%E5%AE%B6%E5%BA%AD%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%9F.png)
我正在考虑让我的 Ubuntu 桌面机文件服务器在家使用。我有一台旧笔记本电脑。我可以把它用作文件服务器这样我的其他 4 个系统就可以从那台旧机器(服务器)下载数据或查看数据。我想让它无线化,也想通过互联网访问,并且有一个路由器。但我不知道如何在 Ubuntu 桌面或 Ubuntu 服务器上执行此操作。我不想安装 Ubuntu 服务器。
想要共享我的所有驱动器。想要一些密码或某种安全措施来限制某些文件夹的访问。
*我正在寻找分步指南来了解如何操作以及如何从其他计算机访问 *。
我厌倦了使用档案但在 Ubuntu 中,只有基于客户端的应用程序可用。在 ubuntu 中没有类似 filezilla 服务器的东西。
另一个系统是 Windows 和 Ubuntu。
我对网络和服务器类型的东西还不熟悉,如能得到任何帮助我将不胜感激。
答案1
因为您想要一个基于 GUI 的服务器(即由 Ubuntu 桌面转变为一个很棒的服务器 ;)),所以在继续之前请执行以下步骤:
更新所有内容。确保您已经更新并升级了系统
sudo apt-get update && sudo apt-get upgrade
这样,我们就达成共识了。
确保您的无线网卡正常工作。如果您恰好有基于 Broadcom 的无线网卡,请检查安装 Broadcom 无线驱动程序。如果您有另一个,您很可能会在 askubuntu 中用无线网卡的名称搜索后找到答案。无论如何,我会假设它正常工作。
安装 Samba 服务并按照以下步骤进行配置如何使用 Samba 在计算机之间打开网络发现和共享
安装 SSH 服务(主要是为了帮助你在两台 Ubuntu 电脑之间轻松操作),按照如何实现两台电脑之间的文件共享?. 您还可以使用油灰如果您愿意,也可以在 Windows 中使用。如何使用 SSH(ssh 和 rsync 命令)?也可提供指南。
如果您要通过服务器共享互联网。我的意思是,您的路由器将通过有线电缆连接到服务器,然后通过无线方式将互联网共享给其他计算机,然后按照如何连接和共享您的互联网连接(有线和无线)。否则,如果您想通过有线方式连接到另一台计算机,那么与其他电脑共享连接(通过有线以太网)
如果你还想与其他计算机共享打印机,可以按照什么是 CUPS 服务器以及如何共享打印机(本地或通过网络)
由于你将要创建一个服务器,我还建议安装SQUID代理如果您恰好通过服务器共享互联网连接。这将总体上改善带宽使用率,并且所有客户端电脑的互联网速度都会感觉更快。要安装,请按照有哪些更新的 Web 缓存服务器可用(缓存 HTTP 代理)(作者 Rinzwind)
/etc/squid/squid.conf
记得在站点权限中配置 squid 代理/etc/squid3/squid.conf
、应该反向缓存的内容和其他内容。完成这 7 个步骤后,我们应该有一个系统
可以与局域网中的其他计算机共享一个文件夹,并且他们可以看到共享文件夹,而无需太多麻烦、权限或额外步骤。
可以通过 SSH 或 Samba 共享毫无问题地连接到服务器。
服务器可以通过无线或有线连接共享互联网。
服务器现在可以与所有其他计算机(包括类似 Windows 的计算机)共享打印机。
如果其中任何一个步骤对您来说难以帮助您,请告诉我。
可以安装其他东西小精灵并将所有电影放在服务器上。然后通过 xbmc 配置选项启用 Web 服务,以便其余计算机可以从同一服务器观看电影。使用 ubuntu 服务器实际上可以做很多事情。
答案2
您可以使用 samba 文件服务器来实现这一点。
您可以通过以下方式安装sudo apt-get install samba
首先,编辑 /etc/samba/smb.conf 的 [global] 部分中的以下键/值对:
workgroup = EXAMPLE
...
security = user
安全参数位于 [global] 部分的下方,默认情况下已注释。此外,请更改 EXAMPLE 以更好地匹配您的环境。
对于要共享的目录,在文件底部创建一个新部分,或取消注释其中一个示例:
[share]
comment = Ubuntu File Server Share
path = /srv/samba/share
browsable = yes
guest ok = yes
read only = no
create mask = 0755
comment: a short description of the share. Adjust to fit your needs.
path: the path to the directory to share.
此示例使用 /srv/samba/sharename,因为根据文件系统层次结构标准 (FHS),/srv 是应提供站点特定数据的位置。从技术上讲,只要权限正确,Samba 共享可以放置在文件系统上的任何位置,但建议遵守标准。
可浏览:允许 Windows 客户端使用 Windows 资源管理器浏览共享目录。
guest ok: allows clients to connect to the share without supplying a password.
只读:确定共享是只读还是授予写入权限。仅当值为否时才允许写入权限,如本例所示。如果值为是,则对共享的访问是只读的。
create mask: determines the permissions new files will have when created.
现在 Samba 已配置完毕,需要创建目录并更改权限。从终端输入:
sudo mkdir -p /srv/samba/share
sudo chown nobody.nogroup /srv/samba/share/
[Note]
The -p switch tells mkdir to create the entire directory tree if it doesn't exist. Change the share name to fit your environment.
最后,重新启动 samba 服务以启用新配置:
sudo restart smbd
sudo restart nmbd
信用如下:桑巴您还可以查看更多信息。
答案3
安装后,openssh-server
只要支持 sFTP,您就可以通过互联网或家中的设备安全地访问整个驱动器。如果出于任何原因不支持,Samba 共享可以补充这一点,如另一个答案中所述。以下是我设置的方式:
安装 OpenSSH 服务器:apt-get install openssh-server
开放22端口:我使用过多种方法来实现这一点gufw
(您可能需要安装它,我不确定它是否是默认的)。如果您想在稍后将其开放到互联网,则需要从路由器将端口 22 转发到服务器。您通常可以通过路由器上的 Web 界面执行此操作。如果可以,也请在那里为服务器分配一个静态 IP(即关闭服务器的 DHCP)。
编辑 ssh 配置设置:备份并打开文件/etc/ssh/sshd_config
并更改/添加设置
PermitRootLogin no
AllowUsers guarav_java other_user_if_necessary
为了获得最大的安全性,您可以设置基于密钥的登录详细信息https://help.ubuntu.com/community/SSH/OpenSSH/Keys,但只要您设置一个真正强的密码并将其保存在每台客户端机器上就足够了。
您可能希望为每个连接的人创建一个用户。如果这样做,您可以将他们全部添加到同一组(例如 ssh_users),并允许该组中的每个人都使用 进行连接AllowGroups ssh_users
。(有关更多信息,请参阅http://knowledgelayer.softlayer.com/learning/how-do-i-permit-specific-users-ssh-access)
检查设置是否有效:你可以使用以下命令检查配置文件中是否存在语法错误sshd –t
从服务器连接到其自身:此时您应该能够通过终端从机器本身连接到该机器ssh localhost
(假设您已经拥有openssh-client
)。然后从网络上的另一台机器尝试ssh <ip-address>
。
如果服务器的 IP 在你的家庭网络上是静态的,你可以在/etc/hosts
连接到它的 Ubuntu 计算机上添加一个条目,使用以下行
server_ip_address theserver
这意味着您只需使用ssh theserver
或任何您称之为的命令即可进行连接。您可以对 Windows 执行相同的操作(请参见此处:http://helpdeskgeek.com/windows-7/windows-7-hosts-file/)
通过 sFTP 连接:如果您可以通过终端从家庭网络上的另一台计算机连接到服务器,则可以通过 sFTP 连接到它并安全地浏览和传输文件。就我个人而言,我设置了一个键盘快捷键,以便我可以使用键盘命令挂载/卸载我的服务器(在 Ubuntu 上):
gvfs-mount sftp://user@ipaddress
gvfs-mount -u sftp://user@ipaddress
(该-u
标志是 umount 命令)
将它们放入系统设置>键盘>快捷键>自定义快捷键> +(新快捷键)的“命令:”框中,为其命名,单击应用,然后单击右栏并输入组合键(CTRL+SHFT++
分别CTRL+SHFT+-
看起来合乎逻辑)。
您可以将 IP 地址替换为 中的 IP 地址/etc/hosts
。这会将服务器作为驱动器安装在 Nautilus 中,您可以像在本地计算机上一样浏览文件夹。在 Windows 中,您可以使用 FTP 软件(Filezilla 等)进行连接。我没有尝试过,但我确信 Windows 资源管理器本身也可能集成了 sFTP。
此时基于密钥的登录的另一个优点是,每次连接时都不会提示您输入密码(除非您设置密码来保护密钥)。您可能希望在密码登录工作后(并在向外部开放之前)研究一下它。
从外部连接:最后一步是查看您是否可以从互联网(例如隔壁或其他任何地方)连接。如果您家里没有静态 IP 地址,那么记住您的 IP 地址可能很棘手。我使用动态 DNS 服务(http://afraid.org/是免费的),但您可能会找到其他更好的解决方案。然后,您将上述 mount 命令中的 ipaddress 替换为指向您家庭网络的动态网址。
最后一条安全提示,如果您选择这个(/var/log/auth.log
),请密切关注您的 SSH 日志,以确保没有发生任何意外。如果您发现有意外,Fail2Ban 是一个解决方案(http://www.fail2ban.org/wiki/index.php/Main_Page和https://help.ubuntu.com/community/Fail2ban)。为了将风险降到最低,你可以将 SSHD 监听的端口更改为非标准端口(例如 500),并更改路由器和服务器防火墙上相应的端口转发规则(原因:https://serverfault.com/questions/189282/why-change-default-ssh-port) 虽然我还没有亲自测试过gvfs-mount
。
答案4
右键单击要用作主公共目录的文件夹,转到“共享选项”。将出现一个弹出对话框,提示您安装正确运行家庭服务器所需的其他软件包,安装、重新启动、重复并允许文件夹共享。就这么简单!:)