一 常用文件
- /etc/samba/smb.conf #主配置文件
- /etc/samba/lmhosts #对应NetBIOS名与主机IP的文件,samba会自动搜索(只对本机生效)
- /etc/samba/smbpasswd #samba密码保存文件,默认不存在,当添加用户的时候会自动生成
- /etc/samba/smbusers
- #用户别名,用于适应不同操作系统中用户名习惯,需要配置文件中“username map”选项支持
二 检测命令
testparm:samba检测配置文件正确性
三 配置文件详解
3.1 配置文件结构
代码语言:javascript复制1 Global Settings 2 [global]:全局配置 3 Share Definitions 4 [homes]:用户目录共享设置 5 [printers]:打印机共享设置 6 [myshare]:自定义名称的共享目录设置
四 全局配置项
注意: 常见变量:%v:samba的版本号
%S:任意用户可以登陆
%m:client端的NetBIOS主机名
%L:服务器端的NetBIOS主机名
%u:当前登陆的用户名
%g:当前登陆的用户组名
4.1 第一组——网络相关
代码语言:javascript复制1 workgroup = MYGROUP #工作组 2 server string = Samba Server Version %v #服务器说明 变量 3 ; hosts allow = 127. 192.168.12. 192.168.13. #允许访问此samba的IP列表
4.2 第二组——日志相关
代码语言:javascript复制1 log file = /var/log/samba/log.%m #访问的日志保存 变量 2 max log size = 50 #最大日志为50KB
4.3 第三组——安全相关
注意: 安全界别:share:不需要密码可以访问 #在samba4中share已弃用,改为user
代码语言:javascript复制1 user:使用系统用户,samba密码登陆 2 server:由其他服务器提供认证 #在samba4中server已弃用 3 domain:由域控制器提供认证用户后台: 4 smbpasswd:使用smb工具smbpasswd给系统用户设置一个samba密码,客户端就用此密码访问samba资源 5 tdbsam:该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下 6 ldapsam:基于LDAP账户管理方式验证用户,需先建立LDAP服务。 7 security = user #支持的安全级别 8 passdb backend = tdbsam #用户后台的验证方式
五 共享配置项
5.1 第一组——打印机配置:省略,不常用
5.2 第二组——用户目录共享配置
代码语言:javascript复制1 [homes] #共享名 2 comment = Home Directories #对该共享的描述,可以是任意字符串 3 browseable = no #是否显示浏览目录,no为不显示,但可手动输入访问 4 available = yes #指定该共享资源是否可用 5 admin users = user1 #指定该共享的管理员(对该共享具有完全控制权限) 6 writable = yes #指定该共享路径是否可写 7 ; valid users = %S #指定允许访问该共享资源的用户(%S代表任意) 8 ; invalid users = user2 #指定不允许访问该共享资源的用户 9 [printers] #共享名 10 comment = All Printers #描述信息 11 path = /var/spool/samba #指定共享目录的路径 12 browseable = no #指定该共享是否可以浏览 13 guest ok = no #指定该共享是否允许guest账户访问 14 writable = no #指定该共享路径是否可写 15 printable = yes #描述了本地打印系统类型 16 writable = yes #所有人可写 17 read only = yes #所有人只读 18 share modes = no 19 write list = user1 #指定可以在该共享下写入文件的用户
注意: writable 和read only冲突,且yes和no相互重叠,建议写一项,哪一项写在最后将覆盖前面的配置项。