Samba

简介:

samba 使用了windows 的cifs协议,所以samba的特性符合windows文件共享服务.包括端口号,共享文件与外围设备(打印机).模拟windows工作组名称,主机名称,域名称

samba的服务端分为两部分,smbd,nmbd
smbd: 
smbd提供smb服务(cifs服务)
smbd使用 TCP的 139 ,445 端口

nmbd:
nmbd提供NetBIOS名称解析服务,NetBIOS即windows的主机名称服务
nmbd使用UDP的137,138 端口

这里写图片描述
软件包
samba samba的服务软件
samba-client 客户端软件
samba-common 通用的软件 (配置文件有此包提供)
samba-common-tools 账户管理工具
cifs-utils smb客户端程序
samba-winbind 与AD相关(windows域)

配置文件
密码存放位置
/var/lib/samba/private/passdb.tdb

主配置文件
/etc/samba/smb.conf
#和;开头的语句为注释,大小写不敏感
配置文件被[] 分割成为了不同的部分

[global] 服务器通用或全局设置的部分
workgroup 指定工作组名称
server string 主机的描述信息
netbios name 指定NetBIOS名
interfaces 指定服务侦听接口和IP

hosts allow 连接的白名单
多个地址之间用 , 空格 tab 分隔,默认允许所有主机访问,
也可在每个共享配置中独立配置,如在[global]设置,将应用并覆盖所有共享设置
地址表示方法:
172.25.0.0/24
172.25.0.
172.25.0.0/255.255.255.0
主机名: desktop.example.com
以example.com后缀的主机名: .example.com

hosts deny 连接的黑名单

日志
日志记录的文件
Log file=/var/log/samba/log.%m
不同客户机采用不同日志
日志的大小,单位为KB
max log size=50
日志命名中可以使用的宏:
%m 客户端主机的NetBIOS名 %M 客户端主机的FQDN
%H 当前用户家目录路径 %U 当前用户用户名
%g 当前用户所属组 %h samba服务器的主机名
%L samba服务器的NetBIOS名 %I 客户端主机的IP
%T 当前日期和时间 %S 可登录的用户名

认证
Security
支持三种认证方式:
security=share:匿名(CentOS7不再支持)
security=user:samba用户(采有linux用户,samba的独立口令)
security=domain:使用DC(DOMAIN CONTROLLER)认证
passdb backend = tdbsam 密码数据库格式

[homes] 用户的家目录共享

[printers] 定义打印机资源和服务

[sharename] 自定义的共享目录配置
【】共享的名称,以windows共享的方式思考,即显示给用户的共享名称
comment 共享文件夹的描述信息
path 所共享的目录路径
public 共享目录能否被匿名访问,等价guest ok
public= yes
guest ok =yes
browsable 是否允许次共享对所有用户可见,默认为yes,no为隐藏
writable=yes 可以被所有用户读写,默认为no
read only=no 和writable=yes等价,如与以上设置冲突,放在后面的设置生效
可写列表 write list
此项只有在 writable=no时有效
三种表现形式:用户,@组名,+组名,用,分隔

可访问该共享的用户
valid users
特定用户才能访问该共享,如为空,将允许所有用户,用户名之间用空格分隔

命令

smbclient
-L 查看远程的计算机共享
smbclient -L 192.168.0.1
smbclient //192.168.0.1 -U用户名%密码
smbpasswd
-a 添加用户
smbpasswd-a 用户名称(系统用户名称)
修改用户密码:
smbpasswd 用户名称
-x 删除用户
smbpasswd -x 用户名称
pdbedit
添加用户
pdbedit -a -u 用户名称
删除用户
pdbedit -x -u 用户名称
查看用户的列表
pdbedit -L -v
smbstatus
查看samba服务器状态
testparm
测试主配置文件的语法

samba账号创建
每个smb的账户都对应一个系统的账户,共享系统账户的密码,smb的用户信息存放在/var/lib/samba/private/passdb.tdb

系统账户创建
随便建 如:
useradd -s /sbin/nologin smb1
使用smbpasswd创建samba账户
smbpasswd -a 系统用户名称

挂载
mount -o username=用户名称,password=密码 //ip/共享目录的绝对路径 本地挂载到的目录
mount -t cifs -o username=test,password=密码 //192.168.0.1/part$ /mnt/winshare
vim /etc/fstab
挂载的文件系统路径 挂载到的本地文件夹 cifs credentials=用户密码保存文件 0 0
//192.168.0.1/part /mnt/share1 cifs credentials=/etc/smbuser 0 0
密码文件格式
username=wang
password=password
密码文件权限应为 600

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值