手记

如何跨操作系统共享文件?

一般而言为了系统安全,都会专门新增一个共享账户,但是为了方便阐述,不再说明如何创建系统账户。
本文探讨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

#3、在服务端设置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父集。**

---

**参考链接:**

https://www.jianshu.com/p/bca64e926cd8
https://support.apple.com/kb/PH25346?locale=zh_CN
https://www.jianshu.com/p/897ef0ff787c
http://codefine.site/2451.html
https://blog.csdn.net/lizhou828/article/details/79197848



0人推荐
随时随地看视频
慕课网APP