您的位置:首页 > 运维架构 > Linux

Windows与Vmware下的Linux文件共享方法

2012-03-04 15:17 766 查看

Windows与Vmware下的Linux文件共享方法

关键字: vmware smb 设置

Windows和Linux间有很多文件共享的方式,这里我总结了一下。假设你的Host计算机是Windows,Guest是Linux哈。

一.用vmware tools工具

选版本高的vmware安装,这样安装tools时候,不会出现什么问题。

点击setting->vmware tools install

mount /dev/cdrom /mnt/cdrom

cd /mnt/cdrom

里面有一个vmware tools的tar包,解开执行vmware-tools-install.pl脚本,一路回车,一般没有问题。点击Edit->Virtual Machine Settigns->Option->SharedFolders->Add,选定要共享的文件夹并给这个文件夹命名,下一步。选定 “Enable thisshare”, 确定以后,vmware会把这个文件夹自动mount到/mnt/hgfs目录下。

二.利用Samba

方法一、

1.在命令行下打setup,进入system services,在smb处加上星号

(空格),退出.

2.确保samba服务启来:service smb start

3.修改etc/samba/smb.conf以添加共享文件夹

[workfolder]

comment = Vmware share folder

path = /work

writable = yes

public = yes

添加后请service smb restart

4.windows访问:\\192.168.1.8 (对应虚似机的IP地址)

注意要关闭linux防火墙,否则只能看到,不能进入共享文件夹。

防火墙有关:

查看防火墙: /etc/init.d/iptables status

暂时关闭防火墙:/etc/init.d/iptables stop

重启防火墙: /etc/init.d/iptables restart

==================================================================

==================================================================

方法二、

先简单介绍一下,SMB(Server Messages Block,信息服务块)是在局域网上共享文件和打印机

的一种协议,通过它可以使局域网内的Windows、linux和Unix等系统共享文件和打印机等资源。在linux上可以运行SMB的软件很多,最常用的就是Samba。如果您使用的是REDHAT 9,在那三张光盘中就提供了samba服务器的RPM包。

安装samba

服务器

的RPM包


像在linux下安装配置其他服务一样,先要安samba有关的RPM包:

1)Samba-common:包括samba服务器和客户端均需要的文件(在第一张光盘中)

2)Samba:samba服务端软件(在第一张光盘中)

3)Samba:samba客户端软件(在第一张光盘中)

说明一下,列出这些要安装的rpm包包只是为了说明清楚些,其实只要用个“samba*”就全搞定了。为了老少皆宜,我把所有操作过程都帖了过来,连不会挂载光驱的朋友都应该能看懂吧。

1)[root@linux root]# mount /mnt/cdrom

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

[root@linux RPMS]# rpm -ivh rpmdb-redhat

-9-0.20030313.i386.rpm

warning: rpmdb-redhat-9-0.20030313.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e

Preparing... ###################################### [100%]

1:rpmdb-redhat ################################### [100%]

这一步是准备工作,把REDHAT 9的C盘中的rpmdb-redhat包安上,可以解决安装时的依赖关系错误。

[root@linux RPMS]# cd

[root@linux root]# umount /dev/cdrom

[root@linux root]# mount /mnt/cdrom

既然samba的包都在REDHAT 9的A盘,就在光驱中放入A盘,mount挂载一下。

mount: /dev/cdrom already mounted or /mnt/cdrom busy

mount: according to mtab, /dev/cdrom is already mounted on /mnt/cdrom

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

[root@linux RPMS]# rpm -ivh samba* --aid

安装所有以samba开头的包,加上—aid参数,就把安装时所需的其他包也安上了,很方便。

warning: samba-2.2.7a-7.9.0.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e

Preparing... ##################################### [100%]

1:libjpeg ##################################### [ 14%]

2:libtiff ##################################### [ 29%]

3:libpng ##################################### [ 43%]

4:cups-libs ##################################### [ 57%]

5:samba-common ################################## [ 71%]

6:samba ##################################### [ 86%]

7:samba-client #################################### [100%]

[

[email=root@linux]root@linux[/email]

RPMS]# vi /etc/samba/smb.conf

在[global]部分做如下修改:

1) workgroup = WORKGROUP (改一下工作组名)

2) hosts allow = 192.168.138. (写一个允许访问这服务器的网段,末尾有“.”)

3) security=user

samba有四种安全等级:

share:用户不需要账户及密码即可登录samba服务器

user:由提供服务的samba服务器负责检查账户及密码(默认)

server:检查账户及密码的工作由另一台windows或samba服务器负责

domain:指定windows域控制服务器来验证用户的账户及密码)

4) encrypt passwdords=yes (去掉前面的注释“;”)

smb passwd file = /etc/samba/smbpasswd (密码文件的位置)

在文件末尾添加如下内容:

[samba] (共享文件夹名)

comment=This is my samba server (这是注释行,可以不写东西)

path=/samba (指定要共享文件的位置)

writable = yes

browseable =yes

read only = yes

create mode=0664 (这是文件权限)

directory mode=0777 (这是目录权限)

启动samba服务

[root@linux samba]# service smb start (启动samba服务)

Starting SMB services: [ OK ]

Starting NMB services: [ OK ]

[root@linux samba]# testparm (检查配置文件的正确性)

Load smb config files from /etc/samba/smb.conf

Processing section "[homes]"

Processing section "[printers]"

Processing section "[samba]"

Loaded services file OK.

Press enter to see a dump of your service definitions

创建一个samba用户

该用刻户在windows下有没有都无所谓。

1)建一个系统用户

[root@linux samba]# useradd samba (建一个名叫samba的用户)

[root@linux samba]# passwd samba (给samba用户添加密码)

Changing password for user samba.

New password: (密码要六位以上,不显示在屏幕上)

BAD PASSWORD: it does not contain enough DIFFERENT characters

Retype new password: (确认密码)

passwd: all authentication tokens updated successfully.

2)然后创建samba帐户

[root@linux samba]# smbpasswd -a samba

(-a必须加,为了生成密码文件smbpasswd,该密码是windows登陆Linux的samba用户密码)

New SMB password:

Retype new SMB password:

unable to open passdb database.

Added user samba.

3)查看一下生成的用户名、密码

[root@linux samba]# vi /etc/samba/smbpasswd

samba:500:A9C604D244C4E99DAAD3B435B51404EE:ACB98FD0478427CD18949050C5E87B47:[UX ]:LCT-468268E6:

4)重新启动samba服务

[root@linux samba]# service smb restart

Shutting down SMB services: [ OK ]

Shutting down NMB services: [ OK ]

Starting SMB services: [ OK ]

Starting NMB services: [ OK ]

最后阶段,进行测试

1)先按照主配置文件所指定的位置,建好要共享的资源。

[root@linux usr]# mkdir samba (建/usr/samba文件夹)

[root@linux usr]# chmod 777 /usr/samba (samba服务器受本地文件系统权限和共享权限两种权限,而且是取最严格的权限,为了方便就把本地权限都给足好了)

[root@linux usr]# cd samba

[root@linux samba]# vi aaa.txt

2)在Windows客户机的地址栏中输入samba服务器ip(如“\\192.168.138.110)
OK了,在linux搭建的samba服务器上资源可以供Windows客户端访问了。

==================================================================

==================================================================

方法三:图形界面设置

三、在vmware中挂U盘

1.虚拟接--》可移动设备

2.用 fdisk -l 查看是哪个

3. mkdir /mnt/usb

mount -t vfat /dev/sdb1 /mnt/usb

4. 用完之后umount /dev/sdb1

四.在Linux下配置Apahce

在Linux下配置Apahce,然后在Windows下通过www方式把Linux下的文件下载下来。这种方式只能把Linux的文件传到Windows,不能把Windows的文件传到Linux.

五.在Linux下配置Ftp

用vsftp或者wu-ftp都可以,配置成上传权限的,然后Windows和Linux就可以相互共享文件了。

六.Windows下配置WWW服务

用IIS,Apache或者其它的都可以。如果你的Linux只有命令行的话,就用wget命令吧,可以很方便地下载文件。

七.Windows下配置Ftp

用serv-u比较简单

八.利用Windows的文件共享功能

比如说你的Windows的IP为192.168.0.1,共享了一个叫share的目录,那么就可以用下列命令

mount -t smbfs //192.168.0.1/share /mnt -o username=user%passwd

或者smbmount //192.168.0.1/share /mnt -o username=user%passwd(用这个命令要安samba哦)

九.直接挂接物理硬盘或者硬盘分区

不过vmware也是支持直接mount Host机器的磁盘,方法是在虚机设置里新建磁盘,类型选“Usephysicaldisk(foradvanced users)”,再选定磁盘和分区就可以。但是这样的操作可能会引会文件系统的不一致,导致错误,不推荐使用。

十.用ISO文件

虚拟机里面的光驱可以有物理光驱和ISO文件两种,我们可以把我们的文件重点制件成ISO文件(用WinIso),然后在Linux中作为CDROM挂接。

vmware下linux与windows的文件共享问题总结

关键字:VMWARE,LINUX,WINDOWS ,共享,虚拟机
适用情形:物理主机安装windows xp;vmware虚拟机安装fc 8
目的:在物理主机开机的情况下,使得windows、linux可以相互共享资源;
步骤:
首先就是要在vmware虚拟机中安装vmware tools。此操作必须在虚拟机中的fc8进入到系统中后才可进行,点击vm——>install vmware tools,fc8下弹出vmware tools的安装目录(在Xwindows环境下),双击任一个安装程序即可实现vmware tools的安装;安装完成后,即可实现虚拟机环境与实际物理主机环境的任意鼠标移动。

第二步,在windows下,网上邻居——>本地连接——>属性——>高级——>Internet连接共享——>选中允许其他网络用户通过。。——>家庭网络连接选VMnet1——>确定。

第三步,在linux下,配置静态IP,点击系统——>管理——>网络,弹出网络配置对话框,选择编辑,在静态ip地址中填上如下内容:

Address:192.168.0.21 (最后一位除1可以随便写)
Subnet Mask: 255.255.255.0
Gateway:192.168.0.1
点击确定;
选DNS,填Primary DNS:192.168.0.1
选hosts,可以看见你的主机名和IP,下面需要改动
保存退出。
第四步,编辑主机地址
新建一个终端,写vi /etc/hosts 打开hosts文件
把主机前的ip改为Address里面设的ip。(一般就在第一行)
第五步,重起网络服务
service network restart
第六步,应该可以上网了
第七步,配置samba
vi /etc/samba/smb.conf 打开配置文件
找到hosts allow或在文件里加上 hosts allow = 192.168.0.(不要忘了最后的点)

在文件的最后加上共享的文件夹,下面是示例。(文件里有说明怎样加上共享文件夹)
[root]
comment = all for windows
path = /root
guest ok = yes
writeable = yes
[data]
comment = data
path = /data
guest ok = yes
writeable = yes
保存退出
检查更改中是否有语法错误:
testparm
第八步,清掉网络规则
iptables –F
此命令用于清除linux中的端口规则,因为samba服务利用的是139和445端口,故如果linux中存在防火墙的话,是无法从windows登陆到linux共享目录的。

第九步,重起samba服务
service smb restart
第九步,然后在windows下,就可以访问上面设置的共享文件夹了。
开始-〉运行->填上\\192.168.0.21
访问你的共享文件夹

在Linux 中的常用工具mount(smbmount)和smbclient;Windows查看Linux共享的方法 ;

在Linux系统中查看网络中Windows共享文件及Linux中的Samba共享文件;

一般的情况下,我们要用到smbclient;常用的用法也无非是下面的;
[root@localhost ~]# smbclient -L //ip地址或计算机名

这个以后慢慢补充吧;
在Windows中访问Linux Samba服务器共享文件的办法;
这个简单吧,在网上领居,查看工作组就能看得到,或者在浏览器上输入如下的
\\ip地址或计算机名
这样就能看到这个机器上有什么共享的了,点鼠标操作完成;如果访问不了,不要忘记把Linux的防火墙规划清掉,或让相应的端口通过;

smbfs文件系统的挂载;
mount 的用法,加载网络中的共享文件夹到本地机;mount就是用于挂载文件系统的,SMB做为网络文件系统的一种,也能用mount挂载;smbmount说到底也是用mount的一个变种;

mount 挂载smbfs的用法;
mount -t smbfs -o codepage=cp936,username=用户名,password=密码 , -l //ip地址/共享文件夹名 挂载点



mount -t smbfs -o codepage=cp936,username=用户名,password=密码 , -l //计算机名/共享文件夹名 挂载点



mount -t smbfs -o codepage=cp936 //ip地址或计算机名/共享文件夹名 挂载点
smbmount的用法:
smbmount -o username=用户名,password=密码 , -l //ip地址或计算机名/共享文件夹名 挂载点

smbmount //ip地址或计算机名/共享文件夹名 挂载点
说明:
如果您的服务器是以share共享的,则无需用户名和密码就能挂载,如果出现要密码的提示,直接回车就行;您也可以用smbmount 来挂载,这样就无需用mount -t smbfs来指定文件系统的类型了;

对于挂载点,我们要自己建立一个文件夹,比如我们可以建在/opt/smbhd,这由您说的算吧;

在mount的命令中,我们发现有这样的一个参数codepage=cp936,这是服务器端文件系统的编码的指定,cp936 就是简体中文,当然您可以用utf8等,尝试一下吧。

如果您挂载了远程的smbfs文件系统出现的是简体中文乱码,就要考虑挂载时要指定编码了;

最后,你可以用远程工具如putty.exe,在windows下用ip:192.168.0.21登陆linux,这样你就可以在windows下用命令行工作在linux下,而不用去切换到vmware下

如果以上设置好还不行的话,在linux下用下面的命令
ifconfig 看一下eth0是不是设的ip:192.168.0.21
如果不是
ifconfig eth0 192.168.0.21
service smb restart
service network restart
如果是

/etc/init.d/smb
/sbin/service
/sbin/iptables -F

设置nick用户的samba密码:
[root@...]Smbpasswd –a nick
此时输入的密码为nick用户的samba密码,与nick用户登录系统的密码可以不同;且一般设置为不同的密码;

Smbclient –L //192.168.0.2 –U nick
当提示输入密码时:输入nick用户的samba密码即可(这里假设为123456),root用户同理。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/nick0411/archive/2008/07/24/2704961.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: