samba

软件结构:

  • /etc/samba/smb.conf samba服务的主要配置文件

  • /etc/samba/lmhosts samba服务的域名设定,主要设置IP地址对应的域名,类似linux系统的/etc/hosts

  • /etc/samba/smbusers samba服务设置samba虚拟用户的配置文件

  • /var/log/samba samab服务存放日志文件

  • /var/lib/samba/private/{passdb.tdb,secrets.tdb} 存放samba的用户账号和密码数据库文档


安装

yum -y install samba*

环境指定

Samba服务开启之前需要关闭两个服务

  1. iptables防火墙 放行smb的端口即可,SAMBA服务TCP端口139,445 UDP端口 137,138
  2. selinux服务

参数设置

smb.conf配置文件分为两大类,一个全局设置参数,一个是文件共享设置参数

  • 全局设置参数
[global]
config file = /etc/samba/smb.conf.%U

#可以让你使用另一个配置文件来覆盖缺省的配置文件。如果文件 不存在,则该项无效。

workgroup = WORKGROUP
#工作组名称

server string = Samba Server Version %v
#主机的简易说明

netbios name = MYSERVER
#主机的netBIOS名称,如果不填写则默认服务器DNS的一部分,workgroup和netbios name名字不要设置成一样

interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
#设置samba服务器监听网卡,可以写网卡名称或IP地址,默认注释

hosts allow = 127. 192.168.12. 192.168.13.
#设置允许连接到samba服务器的客户端,默认注释

hosts deny =192.168.12.0/255.255.255.0
#设置不允许连接到samba服务器的客户端,默认注释

log level =1
#日志文件安全级别,0~10级别,默认0

log file = /var/log/samba/%m
#产生日志文件的命名,默认以访问者IP地址命名

max log size = 50
#日志文件最大容量50,默认50,单位为KB,0表示不限制

security = share
#设置用户访问samba服务器的验证方式 ,一共四种验证方式。

security 设置选项

  1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。(高版本取消此选项)
  2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。 账号和密码要在本Samba Server中建立。
  3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。 此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
  4. domain:域安全级别,使用主域控制器(PDC)来完成认证。
passdb backend = tdbsam
#定义用户后台类型

1、smbpasswd:使用SMB服务的smbpasswd命令给系统用户设置SMB密码 2、tdbsam:创建数据库文件并使用pdbedit建立SMB独立用户 smbpasswd –a username建立samba用户并设置密码 建立samba用户必须先建立系统用户,也可以使用pdbedit命令来建立samba用户

pdbedit –a username:新建Samba账户。
pdbedit –x username:删除Samba账户。
pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。
pdbedit –Lv:列出Samba用户列表的详细信息。
pdbedit –c “[D]” –u username:暂停该Samba用户的账号。
pdbedit –c “[]” –u username:恢复该Samba用户的账号。

3、ldapsam:基于LDAP服务进行账户验证

username map = /etc/samba/smbusers
#配合/etc/samba/smbusers文件设置虚拟用户

共享文件设置参数


[share]
# 自定义共享名称 可随意指定 [ppx]都可以

comment =  This is share software
#共享描述

path  =  /home/testfile
#共享目录路径

browseable  =  yes/no
#设置共享是否可浏览,如果no就表示隐藏,需要通过IP+共享名称进行访问

writable  =  yes/no
#设置共享是否具有可写权限

read only  =  yes/no
#设置共享是否具有只读权限

admin users  =  root
# 设置共享的管理员,如果security =share 时,引项无效
# 多用户中间使用逗号隔开,例如 admin users = root,user1,user2

valid users  =  username
# 设置允许访问共享的用户,例如 valid users = user1,user2,@group1,@group2(多用户或组使用逗号隔开,@group表示group用户组)

invalid users  =  username
#设置不允许访问共享的用户

write list  =  username
#设置在共享具有写入权限的用户,例如 write list  = user1,user2,@group1,@group2(多用户或组使用逗号隔开,@group表示group用户组)

public  =  yes/no
#设置共享是否允许guest账户访问

guest  ok  =  yes/no
#功能同public 一样

create mask = 0700
#创建的文件权限为700

directory mode = 0700
#创建的文件目录为 700