大家都知道NFS可以实现文件共享,它在linux与linux之间文件传输非常方便,但是如果用NFS在linux与windows之间传递就会有很多权限方面的障碍。而samba服务就解决了这个问题,它可以实现windows-windows传递,window-linux传递。并且windows本身就自带有samba服务,不需要安装额外的软件包,非常方便。相信很多人都用过windows的网络文件共享,没错,它就是samba文件共享。
今天我们就来设置一个文件共享,让linux和windows之间可以自由传输文件,实现跨平台文件传输。
环境准备:
windows11
CentOS7(vmware虚拟机安装,NAT模式,保障网络能通)
要共享的本地文件夹:myshare
该本地文件夹在网络上的名称:windows_share
一、windows设置共享环境
在网络和internet>高级网络设置>高级共享设置,打开公用文件夹共享,关闭密码保护的共享。
二、windows设置网络共享文件夹
1. 创建共享文件夹
选择要共享的文件,(我这里选择本地桌面的myshare文件夹作为演示)鼠标右键,选择属性,选择共享,选择高级共享,勾选共享此文件夹,共享名为windows_share,
此时就可以在资源管理器中发现自己共享的文件夹了。
但是,这时共享出来的文件夹Everyone用户组是无法写入的,因为Everyone用户没有权限访问共享文件夹windows_share。
2. 设置Everyone可以访问共享文件夹windows_share
在高级共享设置中选择权限,在everyone用户中设置完全控制。
这时Everyone对该共享文件夹windows_share有了访问权限,但是这时还是无法使用的,因为本地文件夹myshare所属主为管理员Administrator,eneryone用户没有对本地文件夹myshare的访问权限。
3. 设置Everyone可以访问本地文件夹myshare
点击本地文件夹myshare,鼠标右键选择属性,选择安全,我们可以看到目前有三个用户对该文件夹有权限,,就是没有Everyone用户的权限,我们点编辑,点击添加,
搜索everyone添加即可(everyone组是系统自带的用户组,无需创建),勾选完全控制权限。这时everyone用户组就对myshare有完全控制权限了。
这时windows就设置完成了。
三、linux访问、挂载、使用
1.安装samba客户端软件
[root@CentOS7 ~] yum -y install cifs-utils
2.挂载
挂载windows共享的文件夹,这里的主机IP是以太网的IP,如果你vmware不是NAT模式,而是仅主机,请使用VMnet8网卡的IP,用户名可以是任意名字(我这里是user1),提示输入密码时,直接回车。
[root@CentOS7 ~] mkdir /mnt/samba
[root@CentOS7 ~] mount -t cifs //176.135.7.7/windows_share /mnt/samba -o username=user1
3. 测试、查看
[root@CentOS7 ~] ls /mnt/samba
'2015-10-02 113733.jpg'
[root@CentOS7 ~] mkdir /mnt/samba/haha
[root@CentOS7 ~] touch /mnt/samba/1.txt
[root@CentOS7 ~] ls /mnt/samba
1.txt '2015-10-02 113733.jpg' haha
在windows上的windows_share共享文件夹和myshare本地文件夹都出现了linux新建的文件和文件夹。
注意,如果windows本地文件夹myshare被更名,samba网络共享会断开。