samba服务主要是linux系统应对windows系统的资源共享,如:文件和打印机等。

工作流程

1.协议协商

   --negrport请求-->  

客户端                  服务器

   <--negprot响应--

2.建立链接

   --session setup请求-->  

客户端                  服务器

   <--session setup响应--

3.访问共享资源

   --tree connect请求-->  

客户端                  服务器

   <--tree connect响应--

4.断开链接

   --tree disconnect请求-->  

客户端                  服务器

   <--tree disconnect响应--

所需软件包

samba-3*  主程序包

samba-client-3*  客户端包

samba-common-3*  通用工具和库文件

samba-swat-3* 通过浏览器对samba进行图形化管理


配置流程:

修改主配置文件

设置共享内容

设置被共享的目录在本地系统中的权限

重启服务


主配置文件:/etc/samba/smb.conf

workgroup = 定义服务器所在的工作组

server string = 定义服务器的名称

interfaces = 定义samba服务监听的端口

hosts allow = 允许访问samba服务器的网络段

log file = 日志文件存放的文件

max log size =日志文件的大小


security = 定义安全级别share user server domain ads

share 不需要输入用户密码就能访问,类似windows匿名

user  客户端访问服务器的时候需要合法的帐号密码

server 需要用户名和密码,验证工作是由另外一台机器验证。如果没有另外一台samba服务器,默认退回到user在本地进行验证

domain 验证工作是由域完成的

ads samba服务器具备域控制器的功能,验证工作由域控负责

添加samba用户:

smbpasswd -a username 指定smb用户的密码(前提是系统必须有的用户)

共享文件的配置:

[hello]  共享名

        comment = 描述

        path = /mnt/Server 共享路径

        writable = yes/no 共享目录是否可写

        browseable = yes/no 共享目录是否隐藏共享

        read only = yes/no 共享目录是否可读

        public = yes/no 是否允许匿名账户访问guest=nobody=anonymous

        read list = username @groupname +groupname 只读访问用户列表

        write list =            只写用户列表

        valid users = 允许使用服务的用户列表

        invalid users = 禁止使用服务的用户列表

        hosts deny = 192.168.0.  172.17.17.

        hosts deny =.vfast.net  

        hosts allow = 192.168.0.24

客户端访问控制

samba-client-3*  客户端包

连接共享 smbclient //SMB服务器IP/共享名 -U 用户名%密码

查看共享 smbclient -L 目标机器的IP地址/主机名 -U 用户名%密码

资源的操作:

get  mget put mget

mget a* 下载到登录之前的目录

mput /etc/samba/smb.conf 上传到服务器

!clear   !可以调用部分系统命令

mount -t cifs //192.168.18.251/hello /media -o username=vfast

cifs samba特有文件类型