📄 samba1.txt
字号:
# 配置Samba来使用多个网络界面,如果您有多个网络界面,那么必须按照下面
# 格式在这里列出。请参阅用户手册以获得更多的细节。
; interfaces = 192.168.12.2/24 192.168.13.2/24
# 浏览控制选项
#如果不想使您的Samba服务器成为局域网内部的主浏览服务器,将此选项设为no
; local master = no
# OS Level决定了该服务器在局域网内的访问优先权。
; os level = 33
# Domain Master将Samba服务器定义为主域浏览器。此选项将允许Samba在子
#网列表中比较浏览。如您已经有一台Windows NT域控制器,不要使用此选项
; domain master = yes
# Preferred Master使Samba在启动时选择一个本地浏览器并给它获得选择的较高
# 的机会
; preferred master = yes
#仅当您的网络中有一台在安装时设置为主域控制器的NT服务器时使用此选项。
; domain controller = <NT-Domain-Controller-SMBName>
# 如果想使Samba成为Windows95工作站的登录服务器,则使用此选项。
; domain logons = yes
# 如果允许域登录服务,那么您也许希望每台机器或每个用户的登录脚本运行一
# 个特定的每工作站的登录批处理文件。,
; logon script = %m.bat
# 运行一个特定的每用户名登录批处理文件。
; logon script = %U.bat
# 放置roving profiles 文件的位置(仅用于 Win95 和WinNT) ,%L代表该服务器
# NetBIOS名,%U是用户名,您必须取消后面定义的[Profiles]前面的注释号。
; logon path = \\%L\Profiles\%U
# Windows的Internet名服务支持记录部分
# WINS Support告诉NMBD守护进程支持WINS服务器。
; wins support = yes
# WINS Serve选项告诉NMBD守护进程作为WINS的客户机。
# 注意:Samba既可以作为WINS服务器也可以作为 WINS客户机,但不能兼
# 而有之。
; wins server = w.x.y.z
# WINS Prox代表一个非WINS客户通知Samba响应名字解析请求。要使此选项
# 正常工作必须保证网络中至少有一台WINS服务器。缺省值是NO。
; wins proxy = yes
# DNS Proxy选项决定Samba是否通过DNS 的nslookups 去解析主机的NetBIOS
# 名。对于1.9.17 以前的版本内置值是yes ,对于1.9.18之后的版本内置值是no 。
dns proxy = no
#================== 定义共享服务Share Definitions ===================
# 所有使用者的home目录
[homes]
comment = Home Directories
# 当一个客户程序以客人用户类出本服务器的共享服务时,不列出homes服务。
# 但是本机用户创建的主目录服务仍使用[global]节设定的browseable。
browseable = no
writable = yes
# 如果要创建一个netlogon目录则取消下面的注释。
; [netlogon]
; comment = Network Logon Service
; path = /usr/local/samba/lib/netlogon
; guest ok = yes
; writable = no
; share modes = no
# 如果要提供一个特定的共享roving profile则取消下面的注释。
# 缺省值是使用用户的home目录。
;[Profiles]
; path = /usr/local/samba/profiles
; browseable = no
; guest ok = yes
# 注意:如果您有一个BSD 风格的打印系统,您不需要单独定义每台打印机。
[printers]
comment = All Printers
path = /usr/spool/samba
browseable = no
# 设置public = yes 将允许以guest 帐号登录的用户使用打印机。
guest ok = no
writable = no
printable = yes
# 此选项定义网络用户共享文件的临时目录。
;[tmp]
; comment = Temporary file space
; path = /tmp
; read only = no
; public = yes
# 一个用户共享目录,除了在"staff "组里的用户有些写的权限之外之外,对
# 其它用户是只读的。
;[public]
; comment = Public Stuff
; path = /home/samba
; public = yes
; writable = yes
; printable = no
; write list = @staff
# 其他例子:
#
# 下面定义了一台只有fred可以使用的私人打印机。Spool数据放在fred的home
# 目录里。注意:fred必须对Spool目录有写的权限,不管这个目录在什么位置。
;[fredsprn]
; comment = Fred's Printer
; valid users = fred
; path = /homes/fred
; printer = freds_printer
; public = no
; writable = no
; printable = yes
# 下面定义一个只有用户fred才能使用的私人目录。fred 必须对这个目录拥有
# 写的权限。
;[fredsdir]
; comment = Fred's Service
; path = /usr/somewhere/private
; valid users = fred
; public = no
; writable = yes
; printable = no
# 下面定义的是对每个域服务器连接的机器有不同的目录的服务。这将允许您
# 对于不同的机器使用不同的配置,同样也可以使用%U选项为每个用户使用不
# 同的配置。%m在连接时将被替换为客户机的主机名。
;[pchome]
; comment = PC Directories
; path = /usr/pc/%m
; public = no
; writable = yes
# 下面定义一个所有用户都可以读写的共享目录。注意用户在这个目录中创建的
# 文件都将归默认用户所有。所以任何可以访问这个目录的用户都可以删除别的
# 用户在这个目录里放置的文件。显然,这个目录对于默认用户必须是可写的。
# 当然,也可以指定某个用户,这时,该目录的所有文件将为此用户所有。
;[public]
; path = /usr/somewhere/else/public
; public = yes
; only guest = yes
; writable = yes
; printable = no
# 下例说明了如何定义让两个用户共享一个目录,他们在这个目录里放置的文件
# 归他们各自所有。在此例中,这两个用户对该目录都有写的权限。当然文件的
# 保护应该设置恰当。很显然,这个例子可以扩展到适合于多个用户的情况。
;[myshare]
; comment = Mary's and Fred's stuff
; path = /usr/somewhere/shared
; valid users = mary fred
; public = no
; writable = yes
; printable = no
; create mask = 0765
2 共享访问限制
1).通过主机地址
使用以下参数来限制通过主机地址访问:
allow hosts
hosts allow
deny hosts
hosts deny
"allow hosts"、" hosts
allow"这两个功能相同的参数指定允许访问一个服务的主机列表,主机列表用","号、空格或制表符隔开。如用于[global]段,则应用于所有服务,而忽略在每个服务中的各自的设置。
主机列表的组成可以是主机名、IP地址、子网地址或网络号码/掩码。也可以使?quot;EXCEPT"关键字来限制子网中的个别主机的访问。例如:
hosts allow = 202.204. 3 EXCEPT 202.204.3.30
允许在202.204.3子网上的主机访问,但禁止其中的202.204.3.30访问。
"deny hosts"、" hosts deny"这两个功能相同的参数指定禁止访问某个服务的主机列表,与"allow
hosts"相反。当与"allow hosts"列表冲突时,"allow hosts"列表优先。
2).通过用户口令
使用以下参数来限制通过用户口令访问:
security
参数security可以确定对客户用户名/口令的验证方式。缺省为"user",即对Samba服务器的任何访问都要通过用户名/口令的验证。如果客户登录客户机,如Windows
所用的用户名与Samba服务器上的UNIX用户名一致,则通过口令验证后就可以访问;如Windows
所用的口令也与UNIX一样,那么不经任何提示就可以访问。
但如果客户机上登录的用户名与Samba服务器上的UNIX用户名不一致,则需要在一个映射文件中(如/etc/smbusers)写入客户机用户名到UNIX用户名的映射,同时使用"username
map"参数指定映射文件,例如:
username map = /ect/smbusers
在/etc/smbusers文件中的内容如下:
cuckoo = "cuckoo doo"
这样,在客户机上以"cuckoo
doo"注册后,再与Samba服务器连接时,输入UNIX客户cuckoo的口令就可以进入,因为Samba已经把"cuckoo
doo"映射为cuckoo。
security参数的另一个值是"share",表示Samba服务器不需要客户机使用用户名/口令来登录,而是根据每个共享的设置来决定是否需要用户名/口令验证。设置security为share一般用于客户机上大多数用户名与Samba服务器上UNIX用户名不相同的情况,以及Samba服务器主要提供guest访问。
在smb.conf文件中,如果没有设置"encrypt
passwords",Samba将使用UNIX的password数据库来验证用户口令。这需要客户机将口令以"普通文件"的方式传递过来。如果设置了"encrypt
passwords",Samba则使用另一个加密口令文件,通过"smb passwd file"来设置,例如:
encrypt passwords = yes
smb passwd file = /etc/smbpasswd
3).通过用户名
public
guest ok
上面的两个参数的功能相同,都可以使用相应的服务允许guest用户,即不需要用户名/口令验证。如果还指定了"guest
only",那么相应的服务器只允许由guest用户来访问。
invalid users
valid users
这两个参数分别设置不允许注册某个服务和允许注册某个服务的用户列表。一个用户同时出现在两个列表中的时候,不允许注册优先。列表中的用户名可以用空格隔开,以"@"开头的名字被认为是NIS
组名或UNIX组名;以"+"开头的名字被认为是UNIX组名;以"&"开头的名字只被认为是NIS组名。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -