一般而言为了系统安全,都会专门新增一个共享账户,但是为了方便阐述,不再说明如何创建系统账户。
本文探讨macOS、Linux、Windows三种操作系统两两之间的文件共享方式,根据数学中的排列组合知识可知,总共有六种两两组合方式。
一、应用场景
一般来说,都是为了同一局域网内文件传输的便利性,而且局域网文件传输速度很快。自己可能有多台电脑或者需要与他人共享文件都可以采用这种方式。还有就是需要远程调试代码,比如在Windows下IDE做开发,在远程Linux系统上调试。
注意:共享账户设置的密码不是安全存储的。
二、windows系统之间共享文件
1.添加网路位置,如下图:
2.根据示例提示,输入正确的网站共享位置,如下图:
3.输入需要访问的主机/网站的账户和密码。
三、MacBook与windows 共享文件
1.Windows连接MacBook
(1)MacBook共享文件设置
在MacBook系统偏好设置中选择文件共享,点击“”选项“”,指定共享用户并选择SMB方式共享,如下图所示:
(2)Windows连接MacBook
windows+R -> 输入: "\mac的ip地址" ,如 \192.168.1.1,MacBook的IP地址可以在刚刚文件共享窗口看到,类似于“smb://ip地址”;输入刚刚指定的共享账户的账户名称和密码。
2. MacBook连接Windows
(1)在Windows系统下右击需要共享的文件夹,选择高级共享,如图:
指定共享用户,如图:
(2)在MacBook上打开Finder,在菜单栏中选择前往-->连接服务器,服务器地址输入“smb://主机名称或者主机IP地址”;输入刚刚指定的共享账户的账户名称和密码。
四、Linux与window系统之间共享文件
1.Windows访问Linux共享的文件
使用Samba软件:在Linux系统上安装该软件并进行相应配置即可:
yum install samba
安装完成后,修改配置文件,打开:/etc/samba/smb.conf,在文件末尾加上如下配置:
[shareUser]
comment = shareUser
path = /
create mask = 0755
writeable = yes
browseable = yes
valid users = root
添加共享用户:smbpasswd -a shareUser
重启服务:service smb restart
访问Linux系统:win+R->\\192.168.1.110。
完成共享。
2. Linux访问Windows共享的文件
设置Windows共享文件内容的步骤如前面所述,不再赘述,接着在Linux系统上挂载windows共享目录,举例:
mount -t cifs -o username="share" //192.168.1.1/sourcecode
/root/sourcecode
接下来可以像访问本地文件一样正常访问window共享文件。
五、Linux系统之间共享文件
一台Linux作为服务端,另一台作为客户端。
1.服务端
(1)查看服务端系统是否已安装NFS
rpm -qa | grep rpc
rpm -qa | grep nfs
没有的话,就安装
yum -y install nfs* rpcbind
(2)指定共享文件
共享文件,比如共享/home/sharedFolders目录下的文件、编写要共享的机器名
vi /etc/exports
内容填写如下:
/home/sharedFolders 172.31.93.1(ro)
/home/share/是要共享的文件夹 后面接的是ip+网段,括号里面的表示客户机对该目录下的文件的操作权限,r表示可读,w表示可写,x表示可执行。
(3)重启NFS服务
特别注意:因为在6.0的系统里,portmap已经改名了。在Redhat或CentOS5中可以使用 service portmap start启动服务,然后在启动nfs服务,实现挂载。6里面可是试试 service rpcbind start启动
service rpcbind start
service nfs start
可以查看NFS服务端服务状态
service rpcbind status
service nfs status
设置NFS服务端nfs服务自启动,避免每次都要启动共享文件服务
chkconfig --list rpcbind
chkconfig --level 35 rpcbind on
chkconfig --list nfs
chkconfig --level 35 nfs on
(4)查看NFS服务端的共享状态与查看客户端连接信息
首先:
exportfs
showmount -e
注:要客户端连接之后才有。
然后:
exportfs -rv
service nfs restart
(5)挂载共享目录
在客户端上面挂载NFS服务器中的共享目录 ,格式:mount NFS服务器ip:共享目录 本地目录
mount 172.31.93.0:/home/sharedFolders /mnt/
六、MacBook系统与Linux之间的文件共享
采用Samba协议,全称Server Message Block,即信息服务块。适用于类Linux/Unix系统,可以在局域网上共享文件和打印机。针对不同操作系统,具体操作细节有所不同,原理一致,可以参考前面的“ 五、Linux系统之间共享文件”。
七、MacBook系统之间的文件共享
与Windows系统和MacBook系统之间共享文件的方式相同。可以参考前面的“ 三、MacBook与windows 共享文件”。
八、原理
Windows系统提供一种远程文件系统机制,NAS协议的一种——CIFS协议。
Linux系统呢,同样有另外一种NAS协议——NFS协议来实现远程访问。那么这两种NAS协议能否互通呢?答案是否定的。虽然二者不能互通,但是,在Linux系统上面已经有了CIFS协议的服务端和客户端的实现,这样,无论是Linux给Windows共享还是Windows给Linux共享都可以借助这些已有的实现来做到了。
另一方面,Windows系统天然就是一个CIFS的服务端和客户端,既然Windows系统可以给Windows系统共享目录,那么Linux系统能否访问这些共享呢?答案是肯定的,由于有强大的VFS支撑,Linux支持挂载和访问各种文件系统。 mount工具支持挂在CIFS甚至NTFS的文件系统。如果是Windows本机上面的Linux虚拟机,那么可以直接通过虚拟机管理软件,如Vmware直接共享本地的磁盘分区给Linux系统,Linux系统根据Windows的磁盘分区的文件系统类型挂载即可。
前面MacBook用到的SMB网络文件协议是CIFS父集。
MacBook系统还可以选择 AFP作为文件共享协议,即苹果文件协议,是苹果公司的专有协议,AFP 3.0 之后完全依赖TCP/IP创建通信。AFP在Mac OS9 是文件服务的主要协议。