追求卓越 因为经历,所以幸福
分类: LINUX
2014-05-15 21:24:01
在安装完虚拟机工具后/mnt/hgfs目录挂载成功,可是在vm中添加了共享文件夹后hgfs依然为空,在网上搜了下,解决方法如下:
1.sudo apt-get install open-vm-dkms
2.sudo mount -t vmhgfs .host:/ /mnt/hgfs
然后在hgfs目录下就能成功看到共享的文件了。
或者创建一个shell文件
touch /usr/lcoal/bin/mnt
chmod 775 /usr/lcoal/bin/mnt
gedit /usr/lcoal/bin/mnt
复制
sudo mount -t vmhgfs .host:/ /mnt/hgfs
保存后退出
解决办法
Find /lib/modules | grep vmxnet 找到几个模块后 删除以上模块在重装即可。
关键字: 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下,就可以访问上面设置的共享文件夹了。
· 开始-〉运行->填上
· 访问你的共享文件夹
· · 在Linux 中的常用工具mount(smbmount)和smbclient;Windows查看Linux共享的方法 ;
· 在Linux系统中查看网络中Windows共享文件及Linux中的Samba共享文件;
· 一般的情况下,我们要用到smbclient;常用的用法也无非是下面的;
· [root@localhost ~]# smbclient -L //ip地址或计算机名
· 这个以后慢慢补充吧;
· 在Windows中访问Linux Samba服务器共享文件的办法;
· 这个简单吧,在网上领居,查看工作组就能看得到,或者在浏览器上输入如下的
· 地址或计算机名
· 这样就能看到这个机器上有什么共享的了,点鼠标操作完成;如果访问不了,不要忘记把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用户同理。