这是根据自己看了网上的相关配置,和鸟叔的书来写的,毕竟已经很多前辈总结得非常好了,自己归纳下,让自己更了解。
1.常见的应用:
共享文件与打印机服务
可以提供用户登录SAMBA主机时的身份认证,以提供不同身份用户的个别数据
可以进行Windows网络上的主机名解析(NetBIOS Name)
可以进行设备的共享(例如Zip,CD-ROM)
2.SAMBA使用的是NetBIOS通信协议
3.SAMBA由两个服务来控制
(1)nmbd:这个daemon是用来管理工作组、NetBIOS Name等的解析。主要利用UDP协议开启port 137、138来负责名称解析的任务
(2)smbd:这个deamon的主要功能就是用来管理SAMBA主机共享的目录、文件与打印机等。主要利用可靠的TCP协议来传输数据,开放的端口为139及445(不一定存在)
4.连接模式
(1)对等模式(Workgroup model,对等模式)
(2)主控模式(Domain model)
由一台主控的计算机来放置账号和密码,及验证
5.设置流程
(1)服务器全局设置方面: 在smb.conf中设置好工作组、NetBIOS主机名、密码使用状态(无密码共享或本机密码)等
(2)规划准备共享的目录参数: 在smb.conf内设置好预计要共享的目录或设备以及可供使用的账号数据
(3)建立所需要的文件系统: 根据步骤2的设置,在linux文件系统中建立好共享出去的文件或设备,以及相关的权限参数
(4)建立可用的SAMBA的账号: 根据步骤2的设置,建立所需的linux实体账号,再以pdbedit建立使用SAMBA的密码
(5)启动服务:启动SAMBA的smbd、nmbd服务,开始运转
6.设置smb.conf
这个文件可以分成两部分来看:
一个是主机信息部分[global]:
主要设置服务器的全局参数,包括工作组、主机的NetBIOS名称、字符编码的显示、日志文件的设置、是否使用密码以及使用密码验证的机制等
workgroup = 工作组名称:工作组要相同
netbios name = 主机的NetBIOS名称:每个主机不一样
server string = 主机的简易说明:这个随便写即可
security = share、user、domain 设置安全程度有关的密码参数
若设置成domain 则需要提供password server = IP 的设置值
encrypt passwords = Yes 代表密码要加密
hosts allow = 127.0.0.1 192.168.100.254 以空格间隔,允许登录的IP,没有的全部拒绝
一个是共享的信息,以个别的目录名称为依据:
针对开放的目录来进行权限方面的设置,包括谁可以浏览该目录、是否可以读写等参数
[共享名称]:这个共享名称很重要,他是一个"代号"而已
comment:这个目录的说明
path:这个共享名称实际会进入的linux文件目录
browseable:是否让所有的用户看到这个项目
writable:是否可以写入
create mode 与 directory mode 都与权限有关
writelist = 用户,@组 指定能进入到此资源的特定用户
7.smb.conf内的可用变量功能
%S:取代当前的设置项目值,即[共享]里面的内容
%m: 代表Client段的NetBIOS主机名
%M: 代表Client端的Internet主机名,就是HostName
%L: 代表SAMBA主机的NetBIOS主机名
%H:代表用户的用户主目录
%U:代表当前登录的用户的用户名称
%g: 代表登录的用户的组名
%h: 代表目前这部SAMBA主机的Hostname
%l: 代表Client的IP
%T: 代表当前的日期和时间
————————————————————————————————————————————————
案例后续会写出来