在linux系统中如何访问windows主机的共享目录

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-09
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重启之后就会消失的,如果还要使用,是需要重新挂载的。

在访问Windows共享资料之前,请确保Windows共享是可用的,这里就不再赘述该怎样设置Windows共享了,那可是另外一个课题。
Linux访问Windows共享或者Linux共享资料给Windows时,其实都是在使用一个叫做Samba的软件,这个软件已经使用多年,稳定性和可靠性得到了很好的验证,也是很多网络NAS常用的软件。
我们这里要讲的Linux需要用到的工具就是Samba软件中的一种,samba-client。
在尝试访问Windows共享之前,需要首先确认samba-client已经安装了。最简单的方式是命令行查询“rpm -qa | grep samba-client”,当然也可以使用“yum”工具查询, 如“yum info samba-client”或“yum list samba-client”之类的命令。

如果samba-client没有安装,就需要使用命令“yum install samba-client”安装一下,yum会自动安装samba-client所需的相关依赖库,安装时选择Y就行了。
针对常见的Debian Linux发行版,如Ubuntu或CentOS,也可以使用“sudo apt-get install smbclient”和“sudo apt-get install smbfs”安装相应的共享访问工具。

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

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共享文件夹和文件了。

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

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

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

挂载的Windows共享文件夹在Linux重启之后就会消失的,如果还要使用,是需要重新挂载的。
如果希望Linux开机自动挂载Windows共享文件夹,则需要将挂载命令添加到Linux的“/etc/fstab”,也就是将前述的命令参数按照fstab的要求添加到fstab里面,这里就不再展开了,详情参考fstab相关帮助即可。

ed Hat Linux 9.0,则系统会默认安装Samba组件。我们可以在终端命令窗口输入以下命令进行验证:

[root@ahpeng root] rpm -qagrep samba

如果结果出现以下所示的5个软件包,则表示已经安装:

samba-swat-2.2.7a-7.9.0

samba-2.2.7a-7.9.0

redhat-config-samba-1.0.4-1

samba-common-2.2.7a-7.9.0

samba-client-2.2.7a-7.9.0

如果没有安装过Samba软件包,则可以插入第1张安装光盘,然后鼠标依次单击“主菜单→系统设置→添加/删除应用程序”菜单项,打开“软件包管理”对话框,在该对话框中找到“Windows文件服务器”选项,确保该选项处于选中状态,然后单击“更新”按钮即可开始安装。

你也可以把第1张安装光盘插入光驱,然后在终端命令窗口输入以下命令:

[root@ahpeng root]# cd /mnt/cdrom/RedHat/RPMS

[root@ahpeng RPMS]# rpm -ivh samba*

[root@ahpeng RPMS]# rpm -ivh redhat-config-samba-1.0.4-1.noarch.rpm

二、Linux主机访问Windows主机

安装好Samba之后,就有了与Windows互相访问的基础。这里先介绍一下如何用字符命令方式访问Windows宿主机的共享资源。

1、查询宿主机的共享资源

可以使用“smbclient –L WindowsHostName”命令(此处的WindowsHostName用Windows主机名代替)。本例是要查询Windows主机Peter 上的共享资源,可以在终端窗口输入“smbclient –L Peter”命令,然后回车即可看到Windows主机的共享资源。

2、连接宿主机的共享目录

可以使用“smbclient //WindowsHostName/ShareName”命令来连接Windows主机上的某个共享文件夹,如果该共享文件夹需要用户名和密码,则可以使用“smbclient //WindowsHostName/ShareName –U UserName”命令。例如要连接Windows主机Peter上的共享目录Share,我们可以在终端窗口输入“smbclient //Peter/Share”命令然后回车即可。

如果连接成功,即可出现“smb:>”提示符,在该命令提示符下输入适当的命令,即可对所连接的共享目录进行操作。

Smb支持的命令有大约40个命令,可以很方便地对共享目录进行删除、重命名、切换目录等操作。如果要列出共享目录“Share”下的具体内容,可以使用ls命令。要删除其下的test.txt文件,可以使用“del test.txt”命令。共2页。

3、映射网络驱动器

我们知道,Windows下可以将共享目录映射为网络驱动器,这样就可以把共享目录当成本地文件夹来使用。在Linux下可以借助于 smbmount命令来实现,具体的命令参数是“smbmount //WindowsHostName/ShareName /mnt/smbdir”(此处的ShareName指代Windows共享资源名称,smbdir指代挂载点名称)。假设要将Windows主机 Peter下的共享文件夹Share映射为/mnt/WinShare目录,具体步骤是:

首先在/mnt目录下创建一个目录,假设为/mnt/WinShare;

然后打开终端命令窗口,运行“smbmount //Peter/Share /mnt/WinShare”即可。

现在再在文件管理器里打开/mnt/WinShare目录可以看到共享目录的内容,要卸载该映射目录,可以使用umount命令。

4、用Nautilus访问Windows主机

借助Gnome桌面下的文件管理器Nautilus,我们可以用图形界面来访问Windows主机,这里要注意的是Nautilus只是提供访问Windows主机的图形界面,具体的底层操作还是借助于Samba客户端来完成。

在Gnome桌面环境下,单击“主菜单→网络服务器”菜单项,即可用Nautilus文件管理器查看工作组列表。双击工作组名称,即可看到其下的Windows主机。

双击其中的某台Windows主机图标,即可看到该主机的共享文件夹,可以看到这和Windows下的网络邻居几乎一样。

由于Nautilus本身就是Red Hat Linux的文件管理器,所以我们可以任意往Windows共享目录里拷贝文件、删除文件、创建目录等等(对于windows 2000/XP主机还需要考虑该共享资源的权限设置)。

三、Windows主机访问Linux主机

要想让Windows宿主机能够访问Linux虚拟机,就必须在Linux虚拟机上启动Samba服务。在启动之前,还需要对Samba服务的属性进行配置,例如指定Linux虚拟机的共享目录、所在的工作组名称等。

1、配置Samba服务器

在以前版本的Red Hat Linux,我们必须直接修改Samba配置文件smb.conf,或者使用SWAT对Samba进行全方位的设置。Red Hat Linux 9.0新引入了一个图形化的Samba服务器配置工具,可以让我们很方便地对Samba服务器进行配置。以root用户身份登录系统,单击“主菜单→系统设置→服务器设置→Samba服务器”菜单项,即可打开Samba服务器配置对话框。也可以在终端命令窗口输入“redhat-config- samba”,来访问Samba服务器配置对话框。

首先对Samba服务器的基本设置和安全选项进行配置,单击配置对话框上的“首选项→服务器设置”菜单项,即可打开服务器设置对话框。

基本设置:在对话框的“基本”标签页,我们可以指定Linux主机所在的工作组名称,需要注意的是,此处的工作组名称不一定非得与Windows主机所在的工作组名称一致。

安全设置:然后进行Samba服务器安全设置,这里一共有4个选项。

“验证模式”代表如果Windows主机不是位于NT域里,此处应该选择“共享”验证模式,这样只有在连接Samba服务器上的指定共享时才要求输入用户名、密码;“验证服务器”代表对于“共享”验证模式,无需启用此项设置;“加密口令”选项应该选择“是”,这样可以防止黑客用嗅探器截获密码明文;“来宾账号”代表当来宾用户要登录入 Samba 服务器时,他们必须被映射到服务器上的某个有效用户。选择系统上的现存用户名之一作为来宾Samba账号。当用户使用来宾账号登录入 Samba 服务器,他们拥有和这个用户相同的特权。

添加共享目录:单击Samba配置对话框工具栏上的“增加”按钮。在打开的对话框中的“基本”标签页上,指定(共享)目录为某个存在的目录,例如可以指定/tmp,再指定该目录的基本权限是只读还是读/写。在“访问”标签页上,可以指定允许所有用户访问、或者只允许某些用户访问。

2、启动Samba服务器

打开终端命令窗口,输入“/sbin/service smb start”命令,即可出现以下提示信息,表示Samba服务已经启动。

# /sbin/service smb start

启动SMB 服务 [确定]

启动NMB 服务 [确定]

接下来在Windows里打开“网络邻居”,就可以看到我们刚才设置的Samba服务器了

如果你是gnome桌面环境,位置-->连接到服务器-->服务器类型选windows共享,写上windows主机IP就行了

安装samba服务

需要cifs特性支持,如满足此条件,使用mount.cifs进行挂载即可!
具体用法你man一下即可

  • linux安装后盘内原来的文件哪里去了?
    答:还在老地方,你到/host 里面看看,应该在那里。你是WUBI装的UBUNTU吧,装了后磁盘在UBUNTU下的表达方式不同而已,不会改变原来的WINDOWS文件的,只是加了一个UBUNTU文件夹。
  • linux系统怎么使用
    答:首先我们需要确定安装什么版本的操作系统。Windows系列的有windows7、windpws8、xp、2003、2008等等,Linux系统则有很多不同的发行版:红帽子、UBUNTU、FEDORA、SUSE等等。要确定安装位置,选择一个安装的磁盘分区。Linux系统提供了很强大的硬盘分区管理工具,由于它是安装树行来组织文件系统的,每个文件系统...
  • wind数据接口支持linux环境吗
    答:想学linux知识,我还是建议去看《linux 就该这么学》,希望对你有帮助啊
  • linux在文字系统下怎样打开一个文件夹及文件
    答:首先vi /etc/hosts打开hosts文件的阅读模式 o键可进入编辑模式,并在当前位置的后面插入一行 录入内容后,Esc键退出编辑模式进入阅读模式 命令:w保存文件 命令:q退出
  • windows的超级终端,如何连接到vm下面的linux虚拟机
    答:vm的网络连接方式要用桥接,然后把Linux和windows放到一个网段,能ping通后就能在windows下用终端登录Linux了
  • linux文件映射到另一个目录linux文件映射
    答:windows自带linux怎么将window文件放到哪里?在linux系统中映射驱动器,指向windods的硬盘驱动器。然后把文件放到相应的硬盘中,在linux系统中也就可以看到了。linux根目录结构?结构说明如下:/boot:开始启动过程所需的文件。/:home用户家目录。/etc:配置文件大多数是文本文件。/sys:也是一个伪文件系统:跟...
  • 联想G490的linux系统如何重装成wind7系统
    答:首先,通过G490的一键还原按钮,进入系统bios界面选择第二个bios setup进入后,选择boot菜单,根据右边框的内容提示,将CD/DVD驱动移到第一位,按fn+f10,保存退出。插入系统安装光盘。就会自动进入win7的安装界面,因为系统盘的分区格式是gtp所以在选择安装盘时,会提示无法安装。这时我们要将分区gtp格式改...
  • 红旗linux6.0的版本能支持到什么样的软件?
    答:Winddows和Linux是两个完全不同的系统,他们之间的应用程序是不兼容的,也就是说Windows下的程序在Linux下是不能使用的。不过一些软件同时会有Windows和Linux两个版本,或者在Linux下会有与Windows下功能相同或相近的软件,除了一些专业软件及游戏外,在Linux基本都能找到替代的软件。腾迅7月底推出了Linux下...
  • 架设个论坛
    答:现在PHPWIND搞活动 套餐一:10元完美建站套餐(Linux主机200M+cn域名+协助备案+最新phpwind7.3.2社区软件一套)Linux空间200M(100M文件存储+100M数据库),一年的使用期限,到期续费或转出随意(了解第二年续费)。CN域名一个(一年),要求域名必须绑定到开通的Linux主机,有助于域名备案,使站点符合国家...
  • nasa world wind 怎么用
    答:NASA World Wind 是一款由美国国家航空航天局(NASA)开发的地球可视化工具,允许用户探索地球表面的各种地理、气象和太空数据。它是一款免费软件,可以在多种操作系统上运行,包括Windows、macOS和Linux。要使用NASA World Wind,首先需要从官方网站下载安装包,并根据操作系统的要求完成安装过程。安装完成后,...