`
joerong666
  • 浏览: 417971 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

linux与windows共享(一)

阅读更多

Smb是实现linux和windows互访的一座桥梁,所以就先让我们来了解一下什么是smb,它的主要功能,通过smb实现共享的方法及配置。在最后我们还介绍了怎样使用mount命令来挂载windows共享目录。

一. Samba 简介

Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的;

大家知道在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;Samba 也一样能行,比如一台Linux的机器,假如架了Samba Server 后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba 服务器;

我们在Windows网络中,看到共享文件功能知道,我们直接就可以把共享文件夹当做本地硬盘来使用。在Linux的中,就是通过Samba的向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享挂载在本地机上使用;这在一定意义上说和FTP是不一样的。

二. samba服务器的启动及服务器配置文件

一Samba 有两个服务器,一个是smb,另一个是nmb;

smb 是Samba 的主要启动服务器,让其它机器能知道此机器共享了什么;

而nmb是解析用的,它把这台Linux机器所共享的工作组及在此工作组下的netbios name解析出来。假如不打开nmb服务器的话,只能通过IP来访问,也就是说在windows的IE浏览器中输入linux计算机的ip才能访问,例如:“192.168.0.1 est,而输入linux的计算机名却不能进行访问,比如:“wangyh est。

所以在安装完samba服务器后必须启动smb的服务。下面是启动、查看、关闭smb服务器的命令

1.一般的情况下,在RPM包的系统,假如是用RPM包安装的Samba ,一般可以通过如下的方式来启动Samba服务器;

[root@localhost ~]# /etc/init.d/smb start

2.对所有linux系统来说,通用的方法就是直接运行smb 和nmb;进入终端在root权限下把samba所在的目录敲到命令行里即可,但是您要知道smb和nmb所在的目录;假如是自己编译的Samba ,其存放的目录您应该知道;

例如:samba所在的目录为 /usr/sbin/smbd,启动smb输入如下:

[root◎wangyh:/home/wangyh]#/usr/sbin/smbd

[root◎wangyh:/home/wangyh]#/usr/sbin/nmbd

3.启动完后还要检查一下samba服务器是否运行起来,查看命令如下:

[root◎wangyh:/home/wangyh]#/pgrep smbd

[root◎wangyh:/home/wangyh]#/pgrep nmbd

4.关闭smb服务器,命令如下:

[root◎wangyh:/home/wangyh]#/pkill smbd

[root◎wangyh:/home/wangyh]#/pkill nmbd

 

 

二 smb的配置文件及服务器端和客户端的工具

1.假如我们是用Linux发行版自带的Samba软件包,一般情况下Samba服务器的配置文件都位于/etc/samba目录中,服务器的主配置文件是smb.conf;也有用户配置文件 smbpasswd、smbusers和lmhosts等;还有一个文件是secrets.tdb,这个文件是Samba 服务器启动时自动生成的;

2.在smb服务器中几个主要常用的服务器端工具为smbd、nmbd、smbpasswd;客户端为smbmount(在ubuntu l 6.06的内核中没有smbmount,所以它不支持这个命令,但可以用mount 加参数的形势来实现挂载),smbclient等。

三实现 ubuntu linux 6.06 与windows系统的互访

1.Windows 2000/xp/2003访问ubuntu linux 系统(已测试)

第一步:安装samba,smbclient,smbfs

命令: [root◎wangyh:/home/wangyh]# apt-get install samba

[root◎wangyh:/home/wangyh]# apt-get install smbclient

[root◎wangyh:/home/wangyh]# apt-get install smbfs

第二步:更改smb.conf 文件

对于新手来说在改之前最好将smb.conf文件进行备份。

修改smb.conf文件用vi 或gedit命令都可以,如下所示:

[root◎wangyh:/home/wangyh]# vi /etc/samba/smb.conf

[root◎wangyh:/home/wangyh]# gedit /etc/samba/smb.conf

在[global]这段中修改的内容如下:

在[global]下面加入 两行

doc charset=UTF-8

unix charset=UTF-8

workgroup=WORKGROUP

在下面添加一行 netbios name=wangyh

找到passwd program行将其改为

passwd program=/etc/samba/smbpasswd

找到 security行将其改为

security=user

找到[homes]段修改内容如下

browseable=yes

writable=yes

假如我们想在文件中创建共享文件夹,我们只需要在后面写入段

[wangyh]

path=/home/wangyh(共享文件夹路径)

browseable=yes

public=yes(在网上邻居中显示)

writable=yes

 

 

当然在ubuntu linux系统中点击系统-系统治理-共享文件夹,在这里选择共享的文件夹也是可以,设置完后,系统自动将你所设置的共享写入smb.conf文件中。

注解:

workgroup 就是Windows中显示的工作组;

netbios name 就是在Windows中显示出来的计算机名;

security 这是验证和登录方式,这里我们用了user ;验证方式有好多种,这是其中常用的一种;一种是share的验证方式,这种方式就是不用设置用户和密码了,但这种方式的安全级别很低,一般我们不采用这种方式;还有一种是server,server模式要求用户的认证由Samba服务器或NT服务器来完成。

Browseable为是否可以浏览,browseable=yes,为可浏览,我们在工作组下就能看到共享文件夹。假如您browseable=no ,那末文件夹在工作组中就不显示。

writeable 为是否可写,这里我设置为可写;

第三步:添加smb用户,并设置linux用户密码

这里要注重的是在添加smb用户之前,必须将其添加成ubuntu linux 用户,命令如下:

1)添加成linux用户

adduser –a heqing(heqing为用户名)

enter new UNIX password:

retype new UNIX password:

剩下的项按提示输入即可

2)添加成smb用户,并设置smb密码

smbpasswd -a heqing(已存在的linux用户)

NEW SMB passwd:

Retype NEW SMB passwd:

添加成功

最后要说明的是heqing用户的linux用户密码可以与smb密码不相同

 

 

第四步:设置windows客户端

基本完成上面的配置后windows就可以访问ubuntu linux系统中的共享文件夹了,假如windows 在网上邻居或通过IE看不到的话,要查看两点

在windows终端ping ubuntu linux系统的主机ip,假如可以ping通,看下一条。

1) 查看windows防火墙中是否禁止其他计算机访问本机或是否答应ping入。假如可以,再看下一条。

查看windows 用户设置中的guest用户是否禁用,假如禁用,将其解除即可。

通过以上设置在windows计算机的网上邻居或IE都可以看到ubuntu linux系统的共享文件,并可以对其修改,粘贴新文件,复制原有文件等。

2.Ubuntu linux 系统访问windows xp/2003/2000系统

在我的测试过程中,实现ubuntu linux系统访问windows系统的方式有3种,我将这几种方式说明如下:

第一种:用smb访问

假如在ubuntu linux系统终端pingwindows主机的ip地址可以ping通,且windows计算机中有共享的文件夹,则打开位置下的网络服务器,点击界面中windows网络-workgroup,在workgroup组中就可以看到windows计算机名,双击会弹出输入用户名和密码的对话框,将我们上面设置smb的用户名和密码输入就可以进行访问。

第二种:用ubuntu 系统自带的连接到服务器功能访问

在位置中启动连接到服务器,在服务类型中选择“windows共享”,在服务器中输入windows计算机的ip地址或计算机名,点击连接,这样在系统桌面中就会显示一个连接到windows 计算机的文件卷。

我们可以像访问ubuntu系统中的磁盘一样来访问它,同样在访问的时候要输入smb的用户名和密码。

第三种:用mount’挂载windows的共享目录到本地磁盘

首先要在ubuntu系统中建立一个挂载点,在这里我们建立的挂在点为 /mnt/wind

同样在保证网络连接正常,且windows中有共享目录的前提下,进行一下操作

以windows的ip为192.168.0.1,共享文件夹为share为例

命令如下:

mount -t smbfs –o username=wangyh,password=123456 //192.168.0.1/share /mnt/wind

有是这样在访问的时候会出现中文乱码的问题,这样我们可以按下面命令来执行,可以解决这个问题

mount -o smbfs -o iocharset=uft8,codepage=cp936,clmask=777,fmask=777,userneme=wangyh,password=123456 //192.168.0.1/share /mnt/wind

注解:usename和password都为smb的用户和密码,假如要具体了解mount命令,使用man mount在终端查看具体用法

第四种:使用smbclient 命令

命令如下:

smbclient –L //192.168.0.1/share -U wangyh

password:输入smb用户wangyh的密码

回车就可以用,用命令get文件,用put上传文件。

注解:

smbclient介绍:

命令 说明

?或help [command] 提供关于帮助或某个命令的帮助

![shell command] 执行所用的SHELL命令,或让用户进入 SHELL提示符

cd [目录] 切换到服务器端的指定目录,如未指定,则 smbclient 返回当前本地目录

lcd [目录] 切换到客户端指定的目录;

dir 或ls 列出当前目录下的文件;

exit 或quit 退出smbclient

get file1 file2 从服务器上file1,并以文件名file2存在本地机上;

假如不想改名,可以把file2省略

mget file1 file2 file3 filen 从服务器上多个文件;

md或mkdir 目录 在服务器上创建目录

rd或rmdir 目录 删除服务器上的目录

put file1 [file2] 向服务器上传一个文件file1,传到服务器上改名为file2;

mput file1 file2 filen 向服务器上传多个文件

分享到:
评论

相关推荐

    一步一学Linux与Windows_共享文件Samba

    ### Linux与Windows共享文件:Samba的深度解析 在跨平台网络环境中,实现不同操作系统间的文件共享是一项常见的需求。Samba作为一款开源软件,扮演着Linux与Windows系统间桥梁的角色,使得两者之间的文件共享变得...

    虚拟机LINUX与主机WINDOWS文件共享

    虚拟机 LINUX 与主机 WINDOWS 文件共享 在虚拟机 LINUX 和主机 WINDOWS 之间实现文件共享需要使用 SAMBA 服务器。 SAMBA 是一个功能强大的开源软件,可以实现 LINUX 和 WINDOWS 之间的文件共享。下面将详细介绍如何...

    Linux与Windows资源共享

    Linux与Windows资源共享.docx

    一步一学Linux与Windows 共享文件Samba .doc

    一步一学Linux与Windows 共享文件Samba .doc 一步一学Linux与Windows 共享文件Samba .doc 一步一学Linux与Windows 共享文件Samba .doc 一步一学Linux与Windows 共享文件Samba .doc

    Linux与Windows 共享文件Samba

    **Linux与Windows共享文件Samba详解** 在信息技术领域,跨平台文件共享是一个常见的需求,特别是在混合操作系统环境中,如Linux和Windows。Samba是解决这个问题的关键工具,它允许Linux系统与Windows系统之间无缝地...

    Linux访问Windows共享文件的方法.pdf

    Linux 访问 Windows 共享文件的方法可以分为两种:第一种方法是使用 mount 命令将 Windows 共享文件夹挂载到 Linux 系统中,第二种方法是使用 smbclient 命令来访问和操作 Windows 共享文件夹。 第一种方法:使用 ...

    基于Linux和windows之间文件共享网络服务研究.pdf

    在Linux和Windows操作系统之间,文件共享是一个非常重要的问题,因为这两个操作系统都有大量的用户,特别是网络工作者和嵌入式软件开发者。由于软件的兼容性问题,Linux和Windows操作系统之间的文件共享变得非常必要...

    linux访问windows共享文件夹

    讲述了linux访问windows共享文件夹的方法,还是用的mount命令,简单实用。

    linux与windows共享文件目录

    linux与windows共享文件目录,个人初学是经过各种实验摸索整理出来。

    虚拟机 Linux与windows共享文件 FXP ftp

    在Linux与Windows共享文件的场景下,FXP可以提高效率,尤其是当文件较大或者数量较多时,避免了通过本地磁盘中转的步骤。 要实现Linux与Windows间的FXP传输,你需要一个支持FXP功能的FTP客户端。"flashftp"可能是一...

    共享Linux和WindowsServer2003网络资源

    用户可以通过“网上邻居”或“我的电脑”访问Linux共享资源,就像访问本地Windows共享一样。 在Windows Server 2003上,可以通过添加“文件和打印共享”组件来实现对Linux的访问。同时,Linux也可以通过NFS...

    Linux与Windows 通过samba互访共享资源

    对于Linux访问Windows,可以使用`mount`命令将Windows共享挂载到Linux的一个本地目录,例如: ``` sudo mount -t cifs //windows_host/share_name /mnt/windows_share -o username=dudu,password= ``` 而Windows访问...

    安装Vmtools实现Linux和Windows文件共享

    在虚拟化技术中,Vmtools是一款非常重要的工具,它能显著提高虚拟机的性能并提供额外的功能,例如时间同步、解决分辨率问题以及实现主机与虚拟机之间的文件共享等。下面将详细介绍如何安装Vmtools,并通过具体的步骤...

    VirtualBox内Linux系统怎样与Windows共享文件夹

    VirtualBox内Linux系统怎样与Windows共享文件夹

    Windows玩转Linux文件共享.pdf

    Samba是一个开源的软件包,它在Linux/Unix系统上实现了SMB(Session Message Block)协议,这个协议在Windows系统中广泛用于磁盘和打印机的共享。Samba使得Linux服务器能够提供类似于Windows文件共享的功能,使得...

    linux windows共享方法

    提供linux windows不同操作系统共享方法,可直接通过设置共享目录访问

    linux-windows共享文件配置

    一、在 Linux 下访问 Windows 共享文件夹 在 Linux 下访问 Windows 共享文件夹需要使用 mount 命令。 mount 命令用于将 Windows 共享文件夹挂载到 Linux 文件系统中。下面是一个基本的 mount 命令示例: `mount -t...

Global site tag (gtag.js) - Google Analytics