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

来源:互联网 发布:金融信用基础数据库 编辑:程序博客网 时间:2024/06/01 08:29

关键字: vmware smb 设置

WindowsLinux间有很多文件共享的方式,这里我总结了一下。假设你的Host计算机是Windows,GuestLinux哈。
.vmware tools工具
选版本高的vmware安装,这样安装tools时候,不会出现什么问题。
点击setting->vmware tools install
mount /dev/cdrom /mnt/cdrom
cd /mnt/cdrom
里面有一个vmware toolstar包,解开执行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  

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

方法二、

先简单介绍一下,SMBServer Messages Block,信息服务块)是在局域网上共享文件和打印机
的一种协议,通过它可以使局域网内的WindowslinuxUnix等系统共享文件和打印机等资源。在linux上可以运行SMB的软件很多,最常用的就是Samba。如果您使用的是REDHAT 9,在那三张光盘中就提供了samba服务器的RPM包。 
安装samba
服务器
RPM

像在linux下安装配置其他服务一样,先要安samba有关的RPM包:
1
Samba-common:包括samba服务器和客户端均需要的文件(在第一张光盘中)
2
Sambasamba服务端软件(在第一张光盘中)
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 9C盘中的rpmdb-redhat包安上,可以解决安装时的依赖关系错误。
[root@linux RPMS]# cd
[root@linux root]# umount /dev/cdrom
[root@linux root]# mount /mnt/cdrom 
既然samba的包都在REDHAT 9A盘,就在光驱中放入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
:检查账户及密码的工作由另一台windowssamba服务器负责
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登陆Linuxsamba用户密码)
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都可以,配置成上传权限的,然后WindowsLinux就可以相互共享文件了。
.Windows下配置WWW服务
IISApache或者其它的都可以。如果你的Linux只有命令行的话,就用wget命令吧,可以很方便地下载文件。
.Windows下配置Ftp
serv-u比较简单
.利用Windows的文件共享功能
比如说你的WindowsIP192.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挂接。

?                      vmwarelinuxwindows的文件共享问题总结

? ? 关键字:VMWARELINUXWINDOWS     ,共享,虚拟机

? 适用情形:物理主机安装windows xpvmware虚拟机安装fc 8

? 目的:在物理主机开机的情况下,使得windowslinux可以相互共享资源;

? 步骤:

? 首先就是要在vmware虚拟机中安装vmware tools。此操作必须在虚拟机中的fc8进入到系统中后才可进行,点击vm——>install vmware toolsfc8下弹出vmware tools的安装目录(在Xwindows环境下),双击任一个安装程序即可实现vmware tools的安装;安装完成后,即可实现虚拟机环境与实际物理主机环境的任意鼠标移动。

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

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

? Address192.168.0.21 (最后一位除1可以随便写)

? Subnet Mask 255.255.255.0

? Gateway192.168.0.1

? 点击确定;

? DNS,填Primary DNS192.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服务利用的是139445端口,故如果linux中存在防火墙的话,是无法从windows登陆到linux共享目录的。

? 第九步,重起samba服务

? service smb restart

? 第九步,然后在windows下,就可以访问上面设置的共享文件夹了。   

? 开始-〉运行->填上\\192.168.0.21   

? 访问你的共享文件夹

? ? Linux 中的常用工具mountsmbmount)和smbclientWindows查看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是不是设的ip192.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用户同理。

原创粉丝点击