Linux怎样访问Windows共享文件和文件夹

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux怎样访问Windows共享文件和文件夹相关的知识,希望对你有一定的参考价值。

操作步骤:

1、在尝试访问Windows共享之前,需要首先确认samba-client已经安装了。最简单的方式是命令行查询“rpm -qa | grep samba-client”,当然也可以使用“yum”工具查询, 如“yum info samba-client”或“yum list samba-client”之类的命令。


2、如果samba-client没有安装,就需要使用命令“yum install samba-client”安装一下,yum会自动安装samba-client所需的相关依赖库,安装时选择Y就行了。

针对常见的Debian Linux发行版,如Ubuntu或CentOS,也可以使用“sudo apt-get install smbclient”和“sudo apt-get install smbfs”安装相应的共享访问工具。


3、准备停当,就可以尝试访问Windows共享文件夹了。我们可以首先使用“smbclient -L //IP地址 -U 用户名”查看一下该用户共享权限下的共享情况。其中不带“$”的那个,就是我们可以访问的共享文件夹了,其中“-U”是用来指定查询共享权限的用户名的。


4、Linux将共享文件夹也是当作磁盘资源对待的,因此需要使用mount工具将其挂载到本地文件空间才可以访问,这一点就像Windows常用的网络磁盘映射是一样的。

因此,首先我们需要创建一个挂载点,也就是在本地目录空间中创建一个挂载目录,如“mkdir -p /mnt/MYSHARE”。

挂载点创建之后,就可以使用mount命令挂载共享文件夹了,“mount -t cifs -o user=用户名称,password=共享密码,iocharset=utf8,codepage=cp936 //共享IP地址或NetBios名称/共享目录”,其中cifs使用Linux常用的网络文件类型,也可以使用smbfs,以系统可以识别为准,如Ubuntu常见命令就是“sudo mount -t smbfs -o user=用户名称,password=共享密码,iocharset=utf8,codepage=cp936 //共享IP地址或NetBIOS名称/共享目录”。“-o”表示挂载参数,常见的是需要提供共享的用户名和密码,另外需要注意的是iocharset和codepage,这两个参数是用来解决系统之间的字符编码转换的,如果出现乱码的情况,是需要调整这两个参数的,针对简体中文,使用utf8和cp936一般都可以解决问题,关于字符编码已经超出了本经验的范围。

挂载完成之后,就可以像使用本地文件目录一样访问Windows共享文件夹和文件了。


5、当然,Linux也有图形化的资源管理器,挂载之后,资源管理器也可以正常访问的。进入Linux桌面,打开“我的电脑”。


6、然后就可以像浏览本地文件一样,浏览共享的Windows文件夹和文件了,与命令行并没有太多的差异。


7、Windows共享资料使用完毕之后,也可以将其使用umount命令卸载,卸载就很简单了,直接使用“umount /mnt/MYSHARE”就可以了,其中MYSHARE是就是我们前面创建的挂载点了。

如果以后不需要,也可以将挂载点删除的。


8、挂载的Windows共享文件夹在Linux重启之后就会消失的,如果还要使用,是需要重新挂载的。

参考技术A linux访问Windows共享文件夹

1.首先在mnt夹下建立共享文件夹,如share。

2.加载Windows系统的共享文件夹
在Linux命令行下访问Windows共享文件夹的命令是:
mount -t cifs -o username=windowsusername //windows machine/sharefiles /mnt/localfolder
如:mount -t cifs -o username=guest,password= //192.168.1.102/mtv /mnt/share
其中:
windowsusername : Windows用户名
windows machine :Windows机器名
sharefiles :Windows共享文件夹名
然后就可以在 /mnt/localfolder 下访问Windows内容。

另外使用如下命令也可以在命令行环境查看Windows机器上的共享文件目录。
[root@localhost root]# smbclient -L //192.168.1.100

注:使用的是大写的L。
连接成功以后会显示WIndows机器上的共享文件目录的情况,然后继续mount共享文件夹就可以了。

3.取消访问命令:umount /mnt/localfolder本回答被提问者采纳

怎么在linux和windows之间实现文件共享?

windows端共享文件夹

windows端先共享:
windows选择要共享的文件夹,右键选择属性
在这里插入图片描述
选择共享—>高级共享
在这里插入图片描述
勾选共享此文件夹,点击权限,给完全控制权限,然后应用—>确定
在这里插入图片描述
回到共享页面,点击共享
在这里插入图片描述
可以添加共享的用户,我选择共享给所有人
在这里插入图片描述
这个选项随意
在这里插入图片描述
完成共享!
在这里插入图片描述

windows端访问windows共享的文件夹:

在搜索框输入运行
在这里插入图片描述
输入\\\\ip即可访问
在这里插入图片描述
如下图访问成功!
在这里插入图片描述

linux端访问windows共享的文件夹:

先查看下windows端的用户:
打开控制面板,选择用户账户
在这里插入图片描述
可以看到windows的用户
在这里插入图片描述
然后在linux端用windows用户身份登录:

dnf install samba-client -y		#安装samba客户端
smbclient  -L //IP -U 用户		#用该命令即可用windows用户身份登录访问

linux端共享文件夹

要先在linux端安装samba服务:

samba的安装:
dnf install samba samba-common samba-client -y
#安装samba库、与Windows机器互操作的服务器和客户端软件、Samba服务器和客户端工具、samba客户端

samba服务启动:
systemctl enable --now smb.service

samba服务启用:
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload 

测试:
smbclient  -L //IP	##当要输入root密码时请直接回车

配置samba服务:

useradd -s /sbin/nologin -M smbuser 	#先在系统中建立一个不能登录且不建立家目录的用户
smbpasswd -a smbuser		#添加可以访问samba的用户
#这里的用户密码自己随便设,别忘了
mkdir /lucky						#该目录用来共享
chmod 777 /lucky					#防止文件本身权利的影响所以我们先给777权限

semanage fcontext -a -t samba_share_t '/lucky(/.*)?'	#目录及目录里的内容都改标签
restorecon -RvvF /lucky/			#刷新标签

cd /etc/samba/
mv smb.conf smb.conf.backup
cp smb.conf.example smb.conf

vim /etc/samba/smb.conf				#编辑配置文件
添加:
	[LUCKY]							#共享名称			
	comment = lucky					#共享说明
	path = /lucky					#共享路径
	writeable = yes					#可写

systemctl restart smb.service

linux端访问linux共享的文件夹:

smbclient  //IP/LUCKY -U smbuser	#访问LUCKY这个共享目录
#输入exit可以退出

在这里插入图片描述

windows端访问linux共享的文件夹:

在搜索框输入运行
在这里插入图片描述
输入\\\\ip即可访问
在这里插入图片描述
会要求你输入账号密码,我们用上面创建的smbuser用户和自己设置的密码登录即可
在这里插入图片描述
然后就可以看到共享的目录了!
在这里插入图片描述
下一次登录会自动进入,删除访问记录后就会需要重新登录

net use			##查看访问记录
net use * /del		##删除访问记录

在这里插入图片描述

以上是关于Linux怎样访问Windows共享文件和文件夹的主要内容,如果未能解决你的问题,请参考以下文章

Linux怎样访问Windows共享文件和文件夹

Linux怎样访问Windows共享文件和文件夹

怎样用Samba实现windows和linux之间文件的网络访问

Linux怎样访问Windows共享文件和文件夹

怎样用Samba实现windows和linux之间文件的网络访问

怎样在Linux上访问samba共享文件?