作者:Byane
转自:http://blog.csdn.net/byane/article/details/7702116
想要在window系统下访问一个linux系统的目录,samba服务器可以帮你完成这个工作,构建samba服务器很简单,只需要下载一个软件安装包,然后在linux服务器上安装,之后改写合适的配置文件就ok了。想要在window下访问linux服务器上的目录,只需要在开始-运行命令中输入"\\目标linux服务器ip"即可。
samba服务器的安装过程网上很多,可以参见http://linux.sheup.com/linux/linux5353.htm,但是由于这篇文章介绍的安装方法是针对2.几的samba的,而现在最新的版本是3.6.6的,所以稍有不同。具体写一下我的安装过程吧:
*******************************************
在linux服务器上安装samba3.6.6
*******************************************
1.在samba官网上下载安装包,用的是源文件安装http://de.samba.org;
2.将下载好的samba安装包拷贝到linux任意一个目录下,使用tar zxvf samba-xxx.tar -C /tmp 将安装包解压到/tmp目录下(当然,你可以选择解压到任意一个目录下~);
3.进入/tmp/samb-xxx/source3目录下,执行./configure --enable-smbmount命令(网上说安装高于2.1.70版本的samba需要使用这个命令,低于这个版本的samba可以直接用./configure命令~);
4.执行make命令,开始编译软件;
5.此时,将samba的安装包拷贝到/usr/local目录下:cp -a /tmp/samba-xxx /usr/local(个人觉得这步应该没有什么必要~);
6.进入/usr/local/samba-xxx/source3目录下(cd /usr/local/samba-xxx/source3);
7.make install安装软件
*******************************************
在linux服务器上配置samba服务器
*******************************************
配置samba服务器需要修改smb.conf文件,这个文件在/etc/samba/目录下,我使用了最简单的配置,即允许所有的windows节点都能够访问samba服务器,并且不需要使用用户名和密码即可登录,1.先用vim /etc/samba/smb.conf打开samba自带的配置文件,里面已经写入了一些信息,不过我把他们全部屏蔽了,重写了一个简单的配置文件:
[global]
security = share
[linux_share]
path = /home/test
public = yes
这个配置文件是将linux下的/home/test目录作为共享目录供window节点访问,而security = share表示访问无需使用用户名和密码验证;
2.使用testparm检查书写的语法是否正确;
3.使用service smb start命令启动samba服务器的服务(如果修改了配置文件,可以使用service smb restart重启samba服务);
*********************************************
在windows服务器上访问linux服务器
*********************************************
1.在windows服务器的"开始-运行"对话框中输入://192.168.x.x,即输入访问linux节点的ip信息,即可打开访问,此时会在windows窗口中看到一个linux_share目录,即为samba服务器的共享目录。
2.双击linux_share目录访问linux服务器,此时可能弹出"您可能没有权限使用网络资源"的错误,这可能是因为你的linux服务器有SElinux服务了。这时使用setenforce 0 暂时关闭SELinux服务即可(如果需要重新开启SELinux服务,执行setenforce 1 即可);
3.在linux服务器上重启samba服务,执行service smb restart;
4.重新使用windows访问linux_share目录,此时即可访问;
PS:
当你使用windows访问了网络共享节点后,会在windows服务器上留下记录,如何删除记录?
1.“开始-运行-cmd”弹出命令对话框;
2.执行net use命令;此时会显示有哪些网络连接;
3.使用net use 共享名 /delete命令即可删除指定的网络连接了(例如:net use \\192.168.X.X\IPC$ /delete,执行后可能会等待一小会时间,就会显示删除成功了~)
另外,windows下的网盘常常出现一段数据没有连接就自动断开的现象,可以通过配置autodisconnect设置控制自动断开的时间:
1.“开始-运行-cmd”弹出命令对话框;
2.使用命令net config server /autodisconnect:-1设置为不自动断开,或者用其他>0的参数,指定隔多少分钟不连接,网盘自动断开连接。
****************************************************
启动samba服务器后,在windows server2003上面映射了一个网盘Y,但是发现网盘连接非常不稳定,有时出现错误:“本地设备名已在使用中 此连接尚未还原”,为了解决这个问题,做了如下尝试,暂时没有出现网盘无法访问的问题(具体是哪一个修改的作用,就不清楚了)
******************************************************
1.使用命令net config server /autodisconnect:-1设置为不自动断开
2.禁用和启用TCP/IP上的NetBIOS。
a. 右键点击“网上邻居”→“属性”→“本地连接”→“属性”。
b. 双击“Internet协议(TCP/IP)”→“高级”→ “WINS”,在NETBIOS设置下,选择“禁用TCP/IP上的NetBIOS”,点击两次“确定”。
c. 关闭本地连接窗口。
d. 重启计算机,重复以上的步骤,选择“启用TCP/IP上的NetBIOS”。
3.配置组策略
开始-运行-gpedit.c-计算机配置-安全设置-本地策略-用户权限分配-双击“允许在本地登录”,“从网络访问此计算机”
4. 检查"计算机浏览器"服务的状态。如果计算机浏览器"服务为“停止”状态的话,请安装以下步骤启用该服务。如果该服务已经启用的话,请停止该服务,然后重新启动服务。
a. 单击开始,右击我的电脑,然后单击管理。
b. 在控制台树中,展开"服务和应用程序"。
c. 单击服务。
d. 在右边的详细信息窗格中,检查“Computer Browser”服务是否已启动,右击Computer Browser,然后单击启动。
e. 关闭"计算机管理"窗口,等待一段时间,测试问题是否依然存在。
5.重启workstation
“右键选择我的电脑”-管理-服务和应用程序-服务-选择workstation重启
参考文献:
http://linux.sheup.com/linux/linux5353.htm
http://blog.sina.com.cn/s/blog_69d9d3d10100l0m4.html
http://blog.sina.com.cn/s/blog_68e78aad0100pnv9.html
http://os.51cto.com/art/201102/245532.htm
samba详细介绍:http://linux.vbird.org/linux_server/0370samba.php