问题描述
我当时想在文件服务器中制作我的Ubuntu台式机,以便在家中使用它。我有一台旧笔记本电脑。我可以将其用作文件服务器,以便我的其他4个系统可以从该旧计算机(服务器)下载数据或查看数据。我想使其成为无线设备,并且还希望通过Internet进行访问,并拥有一个路由器。但是我不知道如何在Ubuntu桌面或Ubuntu服务器上执行此操作。我不想安装Ubuntu服务器。
想要共享我的所有云端硬盘。想要某些密码或某种安全性来限制某些文件夹的访问。
*我正在查看逐步指南,以及如何从其他计算机访问*。
我厌倦了使用filezilla,但在Ubuntu中只有基于客户端的应用程序可用。它像ubuntu中的filezilla服务器一样。
另一个系统在Windows以及Ubuntu上。我是网络和服务器类型事物的新手,将不胜感激。
最佳办法
因为您要使用基于GUI的服务器(这是将Ubuntu桌面转换为出色的服务器;)),所以在继续之前只需执行以下步骤:
-
更新所有内容。确保您已经更新和升级了系统
sudo apt-get update && sudo apt-get upgrade
。这样,我们在同一页面上。 -
确保您的无线网卡正常工作。如果您碰巧有一个基于Broadcom的无线网卡,请检查Installing Broadcom Wireless Drivers。如果还有另一个,很可能会在使用无线网卡名称搜索后在askubuntu中找到答案。无论如何,我将假定它工作正常。
-
按照How to turn on Network Discovery and Share between computers with Samba安装Samba服务并对其进行配置
-
按照How to enable file sharing between two PCs?来安装SSH服务(主要是为了简化两台Ubuntu计算机之间的连接)。如果愿意,您也可以在Windows中使用腻子。还提供了How to use SSH (ssh & rsync commands)?指南。
-
如果您要通过服务器共享Internet。我的意思是,您的路由器将通过有线电缆连接到服务器,然后与其他计算机无线共享Internet,然后遵循How to Connect & Share your Internet Connection (Wired & Wireless)。否则,如果您想通过连接到另一台计算机来执行此操作,则Sharing Connection to other PCs (Via Wired Ethernet)
-
如果您还想与其他计算机共享打印机,则可以遵循What is CUPS server and how to share a printer (Locally or over a network)
-
由于您将要制造服务器,因此如果您恰巧通过服务器共享Internet连接,我也建议安装SQUID PROXY。通常,这将改善带宽使用情况,并且会提高it will feel like the internet is faster for all client PCs的带宽。要安装,请遵循What Updated Web Cache Servers are available (Caching HTTP Proxy)中的第一个答案(由Rinzwind提供)。记住,请在
/etc/squid/squid.conf
或/etc/squid3/squid.conf
中为站点权限配置鱿鱼代理,应反向缓存的内容和其他内容。完成这7个步骤后,我们应该有一个系统-
可以与局域网中的其他计算机共享文件夹,并且他们可以看到共享文件夹,而无需太多麻烦,权限或其他步骤。
-
可以毫无问题地通过SSH或Samba共享连接到服务器。
-
服务器可以通过无线或有线连接共享Internet。
-
服务器现在可以将打印机共享给包括Windows之类的所有其他计算机。
-
让我知道这些步骤中的任何一个步骤似乎都很难帮助您。
其他东西可能是安装xbmc并将所有电影放到服务器上。然后通过xbmc配置选项启用Web服务,以便其余计算机可以从同一服务器上观看电影。 ubuntu服务器实际上可以做很多事情。
次佳办法
好吧,您可以使用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中提供site-specific数据。从技术上讲,只要权限正确即可将Samba共享放置在文件系统上的任何位置,但是建议遵循标准。
浏览:使Windows客户端可以使用Windows资源管理器浏览共享目录。
guest ok: allows clients to connect to the share without supplying a password.
只读:确定共享是只读的还是授予写特权。如该示例所示,仅当值为no时才允许写特权。如果值为yes,则对共享的访问是只读的。
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
信誉归功于此:Samba&有关更多信息,请查看。
第三种办法
安装openssh-server
将使您能够通过Internet或从家里的设备安全地访问整个驱动器,只要它们支持sFTP。如果出于某种原因没有这样做,则可以在另一个答案中详细说明,以Samba共享作为补充。这是我设置我的方法:
安装OpenSSH服务器:apt-get install openssh-server
打开端口22:有多种方法可以使用,我使用gufw
(您可能需要安装它,不确定它是否是默认值)。如果您想稍后将其打开以连接到Internet,则需要将端口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在家庭网络上是静态的,则可以在通过该行连接到它的Ubuntu计算机上的/etc/hosts
中添加一个条目
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命令)
将它们放入系统设置>中的”Command:”框中。键盘>快捷方式>自定义快捷方式> +(新快捷方式),为其命名,单击“应用”,然后单击右列并输入组合键(分别看起来CTRL+SHFT++
和CTRL+SHFT+-
似乎合乎逻辑)。
您可以用/etc/hosts
中的IP地址替换IP地址。这会将服务器安装为Nautilus中的驱动器,您可以像浏览本地计算机上的文件夹一样浏览这些文件夹。在Windows中,您可以使用FTP软件(Filezilla等)进行连接。我没有尝试过,但我敢肯定Windows Explorer本身中也可能集成了sFTP。
基于密钥的登录的另一个好处是,每次连接时都不会提示您输入密码(除非您设置一个保护密钥的密码)。在使用密码登录后(在将其向外界开放之前),您可能希望对其进行研究。
从外部连接:最后一步是查看您是否可以从互联网(即隔壁或其他任何地方)进行连接。如果您的房屋没有静态IP地址,那么跟上您的IP地址可能会很棘手。我个人使用动态dns服务(http://afraid.org/是免费的),但是您可能会找到其他更好的解决方案。然后,您可以使用指向您的家庭网络的动态网址替换上述安装命令中的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
。