首页 > 代码库 > Samba服务

Samba服务

1.1 Samba 概述

Samba 最先在Linux 和Windows 两个平台之间架起了一座桥梁,正是由于Samba 的出现,我们可以在Linux 系统和Windows 系统之间互相通信,比如拷贝文件、实现不同操作系统之间的资源共享等等,我们可以将其架设成一个功能非常强大的文件服务器,也可以将其架设成打印服务器提供本地和远程联机打印。

 1.2 Samba 应用环境

文件和打印机共享文件和打印机共享是Samba 的主要功能,SMB 进程实现资源共享,将文件和打印机发布到网络之中,以供用户可以访问。

身份验证和权限设置smbd 服务支持user mode 和domain mode 等身份验证和权限设置模式,通过加密方式可以保护共享的文件和打印机。

名称解析Samba 通过nmbd 服务可以搭建NBNS(NetBIOS Name Service)服务器,提供名称解析,将计算机的NetBIOS 名解析为IP 地址。

浏览服务局域网中,Samba 服务器可以成为本地主浏览服务器(LMB),保存可用资源列表,当使用客户端访问Windows 网上邻居时,会提供浏览列表,显示共享目录、打印机等资源。

端口号: 139 和 445

在早期,SMB 运行于NBT 协议(NetBIOS over TCP/IP)上,使用UDP 协议的137、138 及TCP 协议的139 端口。

模式:  C/S模式

步骤:

先安装Samba包

指定存放密码文件位置

主配置文件里面

Security=user

passdb backend = smbpasswd(密码文件名)

smb passwd file = /etc/samba/smbpasswd

重启服务 service smb restart

开机自动启动:chkconfig --level 3 smb on               #运行级别3 自动启动服务

创建用户:useradd –M –s /sbin/nologin jsb

设置密码:smbpasswd  -a  jsb

若需要账号映射:在主配置文件global下加

开启用户账号映射:username map=/etc/samba/smbusers

添加虚拟用户:vim /etc/samba/smbusers

加jsb=lisi zhangsan wanger (虚拟用户名)

创建共享文件 mkdir /share

主配置文件:

workgroup=指定工作组

server setting=指定描述信息

配置共享资源

[share]    #设置共享名

comment = Home Directories  #描述

browseable = yes   #是否允许查看此共享内容 。如果是否,后期通过绝对路径,可以查看到。

path = /share      #共享路径,写绝对路径

valid users = 用户名    设置允许访问用户

valid users = @组名

 设置目录可写,如果共享目录允许用户写操作,可以使用writable 或write list 两个字段进行设置

writable = yes #读写

writable = no #只读

write list 格式:

write list = 用户名

write list = @组名

控制访问源

hosts allow 字段定义允许访问的客户端

hosts deny 字段定义禁止访问的客户端

例:如果公司现在要求共享目录xsb只允许192.168.1.0/24网段的主机访问,同时禁止192.168.1.3IP地址的访问

hosts allow = 192.168.1.                    #允许192.168.1.0/24网段访问

hosts deny = 192.168.1.3                   #禁止192.168.1.3主机访问

注:

当hosts allow 和hosts deny 同时设置时,hosts allow 生效,如果这样的话,上面的这两项设置192.168.1.3就是不生效的,针对这种情况,可以使用except进行排除

hosts allow = 192.168.1. EXCEPT 192.168.1.3

如果需要切换用户,需要清空一下Windows系统的共享缓存

使用net use 查看缓存信息

使用net use * /delete 删除缓存信息

linux客户端测试:smbclient -L ip  

window测试:win+R 打开输入\\ip

Samba服务