#全局设置参数
[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服务器的验证方式 ,一共四种验证方式。
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] #自定义共享名称
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
一、不需要账号密码访问的共享(security = share )
[root@VMredhat6 samba]# /etc/init.d/smb start #启动samba服务
[root@VMredhat6 samba]# ls -ld /home/smbuser/ #查看共享文件权限
[root@VMredhat6 samba]# chmod 777 /home/smbuser/ #分配共享文件最大权限
[root@VMredhat6 samba]# testparm #检查smb.conf配置文件是否有语法错误
[root@VMredhat6 samba]# netstat -tlnp | grep mbd #查看samba端口,TCP端口139,445 UDP端口 137,138
[root@VMredhat6 samba]# vim /etc/samba/smb.conf #设置smb.conf配置文件
[global]
workgroup = WORKGROUP #设置主机工作组
server string = Samba Server Version %v #samba服务注释
log level = 1 #设置日志文件安全级别为1
log file = /var/log/samba/%m #设置日志文件名称,%m以IP地址为名称
max log size = 50 #设置日志文件最大容量50KB,0表示不限制
security = share #以share验证方式访问
passdb backend = tdbsam #定义用户后台类型
load printers = no #关闭打印共享功能
cups options = raw #打印机选项
[usershare]
comment = Home Directories #共享文件描述
path = /home/shareuser #共享路径
browseable = yes #共享文件可以浏览
writable = yes #共享文件可写
; read only = yes #共享文件可读,不能与writable共用
guest ok = yes #允许guest用户访问
[root@VMredhat6 samba]# /etc/init.d/smb restart #重启samba服务