samba是一个工具套件,在Unix上实现SMB(Server Message Block)协议,或者称之为NETBIOS/LanManager协议。SMB协议通常是被windows系列用来实现磁盘和打印机共享。
Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的;
Samba 应该范围主要是Windows和Linux 系统共存的网络中使用;如果一个网络环境都是Linux或Unix类的系统,没有必要用Samba,应该用NFS更好一点;
A.1、Samba服务
Samba 有两个服务器,一个是smb,另一个是nmb;
smb 是Samba 的主要启动服务器,让其它机器能知道此机器共享了什么;如果不打开nmb服务器的话,只能通过IP来访问,比如在Windows的IE浏览器上打入下面的一条来访问;
而nmb是解析用的,解析了什么呢?就是把这台Linux机器所共享的工作组及在此工作组下的netbios name解析出来;
一般的情况下,在RPM包的系统,如果是用RPM包安装的Samba ,一般可以通过如下的方式来启动Samba服务器;
B、安装
B.1、CentOS下安装
1.安装
yum –y install samba
2.设置开机启动
chkconfig smb on
3.重启服务
Service smb restart
4.查看samba端口
Netstat –tlnp |grep smb
知道smbd所占用的端口是139和445,在防火墙中把这两个端口打开。
C、配置
CentOS配置文件在/etc/samba/smb.conf下。
在配置文件里主要有两部分:其一,Global Settings全局设置;其二,Share Definitions共享自定义。有些语句前面有符号具体为:“#”表示注释;“;”注释,但如果将其去掉后此句就可以当成具体的配置。没有符号的为具体的服务配置。
C.1、Global Settings配置
[global]
#全局配置,是必段写的
workgroup =MYGROUP
#此项设置是局域网,就是Windows中显示的工作组。
netbios name=linuxshare
#就是在Windows中显示出来的计算机名;
server string=Samba Server
此项是对SAMBA服务的描述。
security =user
#此项是安全级别设置。
#security 安全级别设置。在SAMBA服务器中有四种安全级别的配置,主要是:
#user : 用户级别。此项级别在用户登陆SAMBA服务器是需要身份验证。
#share :共享级别。此项级别不需要身份验证,可以允许匿名用户登陆。
#server: 服务器级别。
#domain :域级别。
dns proxy =no
#此项是 是否启用DNS代理。
C.2、Share Definitions配置
[共享目录]
#此处可以任意定义共享目录名。
comment= Mary’s and Fred’s stuff
#此处是一些描述性的信息。可以自定义。
path =/usr/somewhere/shared
#此处是共享路径。
valid users = mary fred
#此处是设置有效的用户。当安全级别设置为security=user时,此才有意义,也是必须的。如果是security=share 时,此项可以不写。
public=no
#此项是设置是否共享。如果安全级别是security=share时,此项设置为yes,如果是user 级别,则必须为no。
printable=no
#此项是打印是否共享。如果想允许可以将no改为yes。
writable =yes
#此项是定义SMABA是否共享。如果不想用户写入,可以将yes改为no。
create mask =0765
#此项是创建文件时文件的默认权限。
directory mask =0765
#此项是定义在创建目录时目录的默认权限。
browseable
#是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=no
guest ok
#匿名用户以guest身份是登录;