为了实现Windows主机与Linux服务器之间的资源共享,Linux操作系统提供了Samba服务,Samba服务为两种不同的操作系统架起了一座桥梁,使Linux系统和Windows系统之间能够实现互相通信,为广泛的Linux爱好者提供了极大方便。本文简要介绍如何在Linux操作系统上搭建Samba服务器和简单配置。
1、默认情况下,Linux系统在默认安装中已经安装了Samba服务包的一部分 ,为了对整个过程有一个完整的了解,在此先将这部分卸载掉。使用命令
rpm -qa | grep samba ,默认情况下可以查询到两个已经存在的包:
samba-client-3.0.33-3.7.el5
samba-common-3.0.33-3.7.el5
先讲上面的卸载掉,如果查询没有的话不用这个卸载的这一步
rpm -e samba-common-3.0.33-3.7.el5 -f --nodeps
rpm -e samba-client-3.0.33-3.7.el5 -f --nodeps
因为与其它rpm包之间存在依赖关系,所以必须加参数-f和--nodeps,-f是指强制,--nodeps是指不检查依赖关系
以上完成了安装smaba的初始化的准备
2、我下面选择yum安装samba,会简单一点(当然你也可以rpm安装,先挂载光盘镜像,找到相应的samba的源代码包安装)
yum -y install samba
他会下载完成安装samba(前提你的linux环境是连接互联网的服务)
3、配置samba
samba的配置文件一般情况在/etc/samba/目录下面,文件的名字是smb.conf,将此文件备份一下
mv smb.conf smb.conbak
touch smb.conf
然后写相关的配置
[global]
workgroup = LinuxSir
netbios name = LinuxSir05
server string = Linux Samba Server
security = user //此处是连接的方式,分好几种可以是share就是不设置帐号密码,user是用帐号密码连接
[linuxsir]
path = /usr/local/nginx/html //相应的你要分享的目录,我写的是我的项目所在地方
writeable = yes
browseable = yes
guest ok = no
注解一下,大家可以适当的去改一下设置看看都是什么意思:相应的还有好多的设置,可以查看备份的那个smb.conf.bak文件
[global]这段是全局配置,是必段写的。其中有如下的几行;
workgroup 就是Windows中显示的工作组;在这里我设置的是LINUXSIR (用大写);
netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;
[linuxsir] 这个在Windows中显示出来是共享的目录;
path = 可以设置要共享的目录放在哪里;
writeable 是否可写,这里我设置为可写;
browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=no
guest ok 匿名用户以guest身份是登录;
4、给配置的共享目录设置权限:
# mkdir /user/local/nginx/html 如刚才配置的共享目录不存在则创建
# chown -R root. /user/local/nginx/html 设置共享目录归属为 root
# chmod 777 /user/local/nginx/html 将共享目录属性设置为 777
5、# smbpasswd -a root 将linux系统已存在用户 root(例)加入到 Samba 用户数据库,windows访问samba共享目录时需要输入此用户名和密码
New SMB password: 在此输入密码
Retype new SMB password: 重复密码
6、# service smb start
7、在windows下连接smaba的服务器,win+r打开运行的窗口\\ip地址回车即可
输入相应的帐号密码登录即可查看到相应的你的共享的文件
如果你连接不上的话不用着急,有可能是防火墙限制的
#iptables -F
清除一下防火墙的规则,再试一下。
还有注意的事情就是当你重启服务器的时候相应的smb就得手动启动,所以将server smb start添加到你的启动脚本中/etc/rc.d/rc.local即可。