CentOS虚拟机如何设置共享文件夹,并在Windows下映射网络驱动器
时间:2014-03-07 20:56 来源:linux.it.net.cn 作者:IT网
一、为什么要这么做?
最近在做Linux下的软件开发,但又想使用Windows下的编程工具“Source Insight”。
二、安装环境
本机系统:Windows 7 旗舰版
VMware:VMware Workstation 9.0
网络适配器设置为:NAT 转换
三、查看是否已经安装“samba”
命令: rpm -qa|grep samba
samba-client- 3.0.33- 3.28-1.el5
samba-common- 3.0.33- 3.28-1.el5
这里顺便说一下搭建samba服务器所需要的基本软件包:
1. samba——>这个软件包包含了主要的daemon文件(smbd和nmbd)
2. samba-common——>提供samba的主要配置文件(smb.conf)、smb.conf语法检测程序(testparm)等
3. samba-client——> 当linux作为samba 客户端的时候,提供了一套所需的工具和指令。
这下看出来了吧,samba主程序根本没有被安装
也可以使用“ service smb status ”命令查看是否已经安装,执行该命令如果返回“ smb:unrecognized service ”,说明服务没有安装。
四、安装“samba”
Samba 是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。
这里只介绍本人的安装过程,
详细请参考“ 鳥哥的 Linux 私房菜 ”之“ 第十六章、檔案伺服器之二: SAMBA 伺服器 ”
可以通过光盘或网络安装 samba
1、通过网络安装
本人就是用的网络安装,虽然有点慢,但是比较简单方便。
命令:sudo yum install samba
就一条命令就OK了。
2、通过光盘安装
仅供参考,本人没有测试过。
先把iso镜像挂载上, 一般情况下光驱的设备标识为/dev/hdc ,
[root@sycflash ~]# mkdir /mnt/temp
[root@sycflash ~]#mount /dev/hdc /mnt/temp
[root@sycflash ~]#ll /mnt/temp/Server | grep samba
samba- 3.0.33- 3.28-1.el5 .i386 .rpm
samba-common- 3.0.33- 3.28-1.el5 .i386 .rpm
samba-client- 3.0.33- 3.28-1.el5.i386 .rpm
...
[root@sycflash ~]#rpm -ivh /mnt/temp/Server/ samba- 3.0.33- 3.28-1.el5 .i386 .rpm
error: Failed dependencies:
perl(Convert::ASN1) is needed by samba- 3.0.33- 3.28-1.el5 .i386
又报错了,原来是缺少所依赖的perl ASN1包。
解决方法:安装 perl-Convert-ASN1-0.20-1.1.noarch.rpm
/mnt/temp/Server/
[root@sycflash ~]#rpm -ivh /mnt/temp/Server/ samba- 3.0.33- 3.28-1.el5 .i386 .rpm
这时samba就能正常安装了。check一下成果:
[root@sycflash ~]#service smb status
smbd is stopped
nmbd is stopped
这时已经没有smb:unrecognized service 这样的提示了。
五、配置 Samba
先在/home目录mkdir 目录 samba
修改 samba 权限
chmod 0777 /home/samba
如果需要共享的目录已经存在 了,那么只修改目录的访问权限就可以了。
命令:sudo vi /etc/samba/smb.conf
修改几次地方:
找到以下几行把注释去掉
setsebool -P samba_domain_controller on
setsebool -P samba_enable_home_dirs on
setsebool -P samba_export_all_rw on
修改 workgroup = MYGROUP 为 MYGROUP 工作组为你windows 的工作组,一般为WORKGROUP
workgroup = WORKGROUP
server string = Samba Server Version %v
netbios name = CentOSServer #网络计算机名,可以通过它访问共享文件如:\\CentOSServer
跟着添加这两行
create mask = 0777
directory mask = 0777
然后在文件最后添加这几行
[public]
comment = public file
path = /home/samba #刚才mkdir的文件夹
valid users = root
writable = yes
browseable = yes
:wq命令保存退出
下面给出我的配置文件内容,只贴出关键部分:
workgroup = WORKGROUP
server string = Samba Server Version %v
netbios name = CentOS
create mask = 0777
directory mask = 0777
security = user
# passdb backend = tdbsam
要在“passdb backend = tdbsam”注释掉。
刚接触Linux,原来配置文件中的分号也是注释符。
[public]
comment = public file
path = /home/dev
valid users=@root
writable=yes
browseable=yes
public = yes
admin users = root
create mask = 0664
direcotry mask = 0775
重启smb服务
service smb restart
添加samba用户,将root用户增加为samba用户
smbpasswd -a root
会提示输入两次密码,这个密码就是访问samba的密码
六、在Windows下映射网络驱动器
先看看能不能访问:
在windows系统中通过IP地址或刚才定义的网络计算机名访问就可以
在地址栏输入
\\192.168.x.x
或
\\CentOSServer
如果共享文件夹可以访问,打开Windows资源管理器,添加映射就可以了。
七、常见问题
1、无法访问远程主机
先停止防火墙看看
service iptables stop
2、共享目录无法访问
1)关闭防火墙: #sevice iptables stop
2)修改 /etc/samba/smb.conf,具体配置网上有,我的如下:
security = share ---- 这个要用上,share表示安全最低级别,其次是user,最高是server
[共享目录名]
path = /home/用户名/共享目录名
;read only = no -----这个需要在前面用分号注释掉
writeable = yes
browseable = yes
public = yes
guest ok = yes
3)SELinux作怪
修改/etc/sysconfig/selinux 把enforcing改成disabled;然后命令行setenforce 0;
或者用Rainsome兄说的 使用selinux强制策略:chcon -R -t samba_share_t /home/suyang/"Fedora Samba"
4)修改目录权限 #chmod 777 /home/wind ; #chmod 777 /home/wind/smbShare; 特别是前面一个做为上层目录权限也需要修改!!!
5)重启samba服务 #service smb restart 或者 /etc/rc.d/init.d/smb restart
当然你要在linux与windows之间互相能ping 通。
(责任编辑:IT)
一、为什么要这么做?最近在做Linux下的软件开发,但又想使用Windows下的编程工具“Source Insight”。 二、安装环境本机系统:Windows 7 旗舰版 VMware:VMware Workstation 9.0 网络适配器设置为:NAT 转换 三、查看是否已经安装“samba”命令: rpm -qa|grep samba
samba-client- 3.0.33- 3.28-1.el5 这里顺便说一下搭建samba服务器所需要的基本软件包: 1. samba——>这个软件包包含了主要的daemon文件(smbd和nmbd) 2. samba-common——>提供samba的主要配置文件(smb.conf)、smb.conf语法检测程序(testparm)等 3. samba-client——> 当linux作为samba 客户端的时候,提供了一套所需的工具和指令。 这下看出来了吧,samba主程序根本没有被安装 也可以使用“ service smb status ”命令查看是否已经安装,执行该命令如果返回“ smb:unrecognized service ”,说明服务没有安装。 四、安装“samba”Samba 是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。 这里只介绍本人的安装过程, 详细请参考“ 鳥哥的 Linux 私房菜 ”之“ 第十六章、檔案伺服器之二: SAMBA 伺服器 ” 可以通过光盘或网络安装 samba 1、通过网络安装 本人就是用的网络安装,虽然有点慢,但是比较简单方便。 命令:sudo yum install samba 就一条命令就OK了。 2、通过光盘安装 仅供参考,本人没有测试过。 先把iso镜像挂载上, 一般情况下光驱的设备标识为/dev/hdc , [root@sycflash ~]# mkdir /mnt/temp [root@sycflash ~]#mount /dev/hdc /mnt/temp [root@sycflash ~]#ll /mnt/temp/Server | grep samba
samba- 3.0.33- 3.28-1.el5 .i386 .rpm ... [root@sycflash ~]#rpm -ivh /mnt/temp/Server/ samba- 3.0.33- 3.28-1.el5 .i386 .rpm
error: Failed dependencies: 又报错了,原来是缺少所依赖的perl ASN1包。 解决方法:安装 perl-Convert-ASN1-0.20-1.1.noarch.rpm /mnt/temp/Server/ [root@sycflash ~]#rpm -ivh /mnt/temp/Server/ samba- 3.0.33- 3.28-1.el5 .i386 .rpm 这时samba就能正常安装了。check一下成果: [root@sycflash ~]#service smb status smbd is stopped nmbd is stopped 这时已经没有smb:unrecognized service 这样的提示了。 五、配置 Samba先在/home目录mkdir 目录 samba 修改 samba 权限 chmod 0777 /home/samba
如果需要共享的目录已经存在 了,那么只修改目录的访问权限就可以了。
命令:sudo vi /etc/samba/smb.conf 修改几次地方: 找到以下几行把注释去掉 setsebool -P samba_domain_controller on setsebool -P samba_enable_home_dirs on setsebool -P samba_export_all_rw on 修改 workgroup = MYGROUP 为 MYGROUP 工作组为你windows 的工作组,一般为WORKGROUP workgroup = WORKGROUP server string = Samba Server Version %v netbios name = CentOSServer #网络计算机名,可以通过它访问共享文件如:\\CentOSServer 跟着添加这两行 create mask = 0777 directory mask = 0777 然后在文件最后添加这几行 [public] comment = public file path = /home/samba #刚才mkdir的文件夹 valid users = root writable = yes browseable = yes :wq命令保存退出
下面给出我的配置文件内容,只贴出关键部分:
workgroup = WORKGROUP server string = Samba Server Version %v netbios name = CentOS create mask = 0777 directory mask = 0777 security = user # passdb backend = tdbsam要在“passdb backend = tdbsam”注释掉。 刚接触Linux,原来配置文件中的分号也是注释符。 [public] comment = public file path = /home/dev valid users=@root writable=yes browseable=yes public = yes admin users = root create mask = 0664 direcotry mask = 0775 重启smb服务 service smb restart 添加samba用户,将root用户增加为samba用户 smbpasswd -a root 会提示输入两次密码,这个密码就是访问samba的密码 六、在Windows下映射网络驱动器先看看能不能访问: 在windows系统中通过IP地址或刚才定义的网络计算机名访问就可以 在地址栏输入 \\192.168.x.x 或 \\CentOSServer如果共享文件夹可以访问,打开Windows资源管理器,添加映射就可以了。 七、常见问题
1、无法访问远程主机
先停止防火墙看看 service iptables stop 2、共享目录无法访问
5)重启samba服务 #service smb restart 或者 /etc/rc.d/init.d/smb restart 当然你要在linux与windows之间互相能ping 通。 |