smb.conf 详解

SMB.CONF

Section: (5)
Updated:
Index

NAME

smb.conf - Samba组件的配置文件

总览 SYNOPSIS

 

smb.conf是Samba组件的配置文件,包含Samba程序运行时的配置信息.smb.conf被设计成可由swat (8)程序来配置和管理.本文件包含了关于smb.conf的文件格式和可能出现的选项的完整描述以供参考.

 

文件格式 FILE FORMAT

 

本文件由一系列段和选项构成.一个段由一对方括号中的段名开始,直到下一个段名结束.包含在段中的选项按以下格式定义:

 

选项名 = 选项值

 

本文件是基于文本行的.这就是说,每一个以换行符结束的行描述了一个项目(注释,段名,或选项).

 

段名和选项名是不区分大小写的.

 

只有选项设置中的第一个等号才有意义.第一个等号前后的空格会被忽略.段名和选项名的前后以及中间包含的空格是无关的.选项值前后的空格会被忽略.选项值中包含的空格会原样保留.

 

所有以';'和'#'符开头的行都会被忽略,就象只有空格的行那样.

 

按照UNIX上的惯例,以''符号结尾的行续下一行.(也就是说:''是续行符,如果一行写不下,可以在行尾以''结束,在下一行继续写--译注)

 

等号后面跟的是字符串(无需引号)或者逻辑值(可以是yes/no,1/0,或者true/false 来表示).逻辑值是不区分大小写的.字符串值则原样保留了输入的大小写.某些选项 (例如create modes)的值是数值型的.

 

段描述 SECTION DESCRIPTIONS

 

配置文件的每一段([global]段除外)描述一项共享资源.段名就是共享名,段内的选项设置确定了该共享资源的属性.

 

三个特殊段([global],[homes],[printers])将在后面'special sections'单独说明,以下的内容是普通段的说明.

 

 

 

一个共享资源由一个文件目录和用户对此目录的操作权限的说明构成.另外,还列入了一些用于内部管理的选项.

 

每一段定义了一项文件服务(客户端可以把它看作其本机文件系统的延伸)或打印服务(客户端可以通过它来使用服务器提供的打印服务).

 

段可以定义成guest服务类型,在这种情况下,客户无需口令就可以访问该资源.一个特定的UNIX系统下的guest account通常用来指定这种情况下的客户访问权限.

 

除了guest服务类型以外,其他类型的段定义的共享资源都需要口令才能访问.用户名是由客户端提供的.由于某些老的客户端只提供口令,没有用户名,你需要在共享定义中使用"user="选项来指定一个用户列表,以便根据这个用户列表进行口令验证.对于象Windos95/98和WindowsNT这样的现代客户端程序,这个选项是不需要的.

 

注意,对于资源的操作权限还取决于主机系统赋予指定用户或来访者账户的权限.samba提供的服务权限不能超出主机系统指定的权限范围.

 

下面的示范段定义了一项文件服务,用户拥有对/home/bar目录进行写操作的权限.这个共享资源是通过共享名"foo"来访问的.

 

[foo]
        path = /home/bar
        read only = no

 

下面示范段定义了一项打印服务,此共享资源是只读的,但是可以进行打印操作.也就是说,唯一允许的写操作只能是打开、写入并关闭一个打印假脱机文件.其中的guest ok选项定义意味着允许以缺省的guest用户(在别处定义的)权限进行访问.

 

[aprinter]
        path = /usr/spool/public
        read only = yes
        printable = yes
        guest ok = yes

 

特殊段 SPECIAL SECTIONS

 

[global] 全局选项段

 

这一段中定义的选项是服务器的全局性设置,如果在其他段中没有再对这些选项进行重新设置的话还可以作为它们的缺省选项.更多的说明请参阅'PARAMETERS'部分的内容.

 

[homes] 个人目录段

 

如果配置文件中包含名为'homes'的段,就可以建立客户到自己在服务器上的个人目录的连接.

 

当服务器收到连接请求时,首先在已定义的段中搜索,如果段名与被请求的共享资源名一致,则该段的内容就被采用.如果没有找到匹配的段,则被请求的资源就被当作是一个用户名,同时服务器查看本地的口令文件.如果该用户名在口令文件中存在且用户给出了正确的口令,服务器就会复制[homes]段的内容来生成一个共享资源(供该用户访问).

 

 

对新建共享会做以下修改:

 

共享名从'homes'改为查到的用户名.
如果没有指定访问路径,则设置为该用户的个人目录.

 

 

 

如果要在[homes]段中定义访问路径path=,宏%S也许对你很有用.举例如下:

 

path = /data/pchome/%S

 

如果你的PC 有与UNIX服务器上个人目录不同的目录,象上面这样的设置会很有用的.

 

这是为大量用户提供对他们个人目录的访问的一种快速简洁的办法.

 

如果被请求访问的共享资源名就是'homes',那么,除了共享名不被改变为发出请求的用户名外,其他处理过程和前面提到的过程是类似的.这种方式适合于不同用户共享一台终端的情况.

 

在[homes]段中可以定义所有普通段中可以使用的选项,可是有些选项更有意义.下面是一个实用的、典型的[homes]段的例子:

 

[homes]
        read only = no

 

注意,很重要的一点是:如果在[homes]段中定义了允许以guest账户访问的话,任何人都可以无须口令而访问所有账户的宿主目录.也许在某些特殊情况下,这正是想要的结果,在这种情况下,你最好同时把[homes]段设置成只读.

 

注意,自动的宿主目录共享资源的可浏览标志是从[global]段继承来的,而不是[homes]段.这样,当在[homes]段中设置browseable=no时,用户就看不到单独的'homes'共享,但可以看到自动的宿主目录.

 

[printers] 打印机共享设置段

 

这一段很象[homes]段,不过是用于设置共享打印机的.

 

如果在本配置文件中存在[printers]段,用户就可以连接到在主机上的printcap文件中指定的任一打印机.

 

当服务器收到连接请求时,首先在已定义的段中搜索,如果有段名与被请求的共享资源名一致,则该段的内容就被采用.如果没有找到匹配的段,且在配置文件中存在[homes]段,则按照前面所说的方式处理.否则,被请求的资源就被当作是一个打印机名,服务器在适当的printcap文件中查找,检验被请求的共享资源名是否是有效的打印机共享名.如果共享名匹配,服务器就会复制[printers]段的内容来生成一个共享打印服务.

 

对新建共享的修改:

 

共享名被设置为查找到的打印机名.

 

如果未给出打印机名,则把打印机名设为前面查找到的打印机名.

 

如果该共享资源不允许以guest身份进行访问,且没有给出用户名,那么用户名就被设为前面查找到的打印机名.

 

 

 

注意,[printers]段必须设置为可打印,如果你不这样设置,服务器会拒绝装载配置文件.

 

指定的典型路径应该设为一个公用的可写假脱机目录(spooling)并且设置sticky标志.一个典型的[printers]段如下所示:

 

[printers]
        path = /usr/spool/public
        guest ok = yes
        printable = yes 

 

上台打印机在printcap文件中列出的所有别名都是服务器相关的有效打印机名.如果你系统的打印子系统的工作方式不是这样,你就必须设置一个伪printcap文件,其中包含一行或多行如下格式的设置:

 

别名1|别名2|别名3|别名4... 

 

每个别名必须是你的打印子系统可以接受的打印机名.在[global]段中指定这个新文件作为你的printcap文件.这个伪printcap文件可以包含任何你要的别名,而服务器只识别在此文件中列出的名字.这个技术可以很方便的用于限制对本地打印机子集的访问.

 

顺便提一下,printcap文件中的别名用每个记录第一项的任何部分来定义.记录由换行进行分隔.如果一条记录中有多个部分,中间用"|"符号分隔.

Note

 

注意,在SYSV系统中,用lpstat可以确定系统中安装了什么样的打印机.你可以设置"printcap name = lpstat"来自动获得打印机列表.详情参见"printcap name"选项.

 

 

选项 PARAMETERS

 

选项定义了每个段的属性.

 

有些选项是在[global]段中设定的(比如有关安全特性的设置),有些可以用在任何段中的(比如建立方式 ),剩下的就只能用在普通的段中了.在以下的描述中,[homes]和[printers]段被看作是普通段.标记(G)表示此选项只能在[global]段中使用,标记(S)表示此选项可以在服务定义段中使用.注意,有(S)标记的选项也可以用在[global]段中,在这种情况下,这个选项设置被当作所有其他段的缺省设置.

 

选项的详细说明是按照字母顺序排列的,这样也许不是最好的分类方式,但至少保证你可以找得到他们.如果有多个同义词,那么我们只对首选的那个作详细说明,其他的同义词都只指明参阅那个首选的选项名.

 

变量替换 VARIABLE SUBSTITUTIONS

 

在配置文件中可以用很多字符串进行替换.例如,当用户以john的名称建立连接后,选项"path = /tmp/%u"就被解释成"path = /tmp/john".

 

 

这些置换会在后面的描述中说明,这里说明一些可以用在任何地方的通用置换.它们是:

 

%U
对话用户名(客户端想要的用户名不一定与取得的一致.)

 

 

%G
%U的用户组名

 

 

%h
运行Samba的主机的internet主机名

 

 

%m
客户机的NetBIOS名(非常有用)

 

 

%L
服务器的NetBIOS名.这使得你可以根据调用的客户端来改变你的配置,这样你的服务器就可以拥有"双重个性".

Note that this parameter is not available when Samba listens on port 445, as clients no longer send this information

 

 

%M
客户端的internet主机名

 

 

%R
协议协商后选择的协议,它可以是CORE,COREPLUS,LANMAN1,LANMAN2或NT1中的一种.

 

%d
当前samba服务器的进程号.

 

 

%a
远程主机的结构.现在只能认出来某些类型,并且不是100%可靠.目前支持的有Samba、WfWg、WinNT和Win95.任何其他的都被认作"UNKNOWN".如果出现错误就给[email protected]发一个3级的日志以便修复这个bug.

 

%I
客户机的IP地址.

 

 

%T
当前的日期和时间.

 

 

%D
Name of the domain or workgroup of the current user.

 

 

%$( envvar)
The value of the environment variable envar.

 

 

The following substitutes apply only to some configuration options(only those that are used when a connection has been established):

 

%S
当前服务名

 

 

%P
当前服务的根目录

 

 

%u
当前服务的用户名

 

 

%g
%u的用户组名

 

 

%H
%u所表示的用户的宿主目录

 

%N
tNIS服务器的名字.它从auto.map获得.如果没有用 --with-auto-mount选项编译samba,那么它的值和%L相同.

 

%p
用户宿主目录的路径.它由NIS的auot.map得到.NIS的auot.map入口项被分为"%N:%p".

 

灵活运用这些置换和其他的smb.conf选项可以做出非常有创造性的事情来.

 

NAME

 

Samba支持"名称修正",这样dos和windows客户端就可以使用与8.3格式不一致的文件.也可以用来调整8.3格式文件名的大小写.

 

 

有一些选项可以控制名称修正的执行,下面集中列出来.对于缺省情况请看testparm程序的输出结果.

 

所有这些选项都可以针对每个服务项单独设置(当然也可以设为全局变量).

 

这些选项是:

 

mangle case = yes/no
作用是控制是否对不符合缺省写法的名称进行修正.例如,如果设为yes,象"Mail"这样的文件名就会被修正.缺省设置是 no.

 

case sensitive = yes/no
控制文件名是否区分大小写.如果不区分的话,Samba就必须在传递名称时查找并匹配文件名.缺省设置是 no.

 

default case = upper/lower
控制新文件名大小写缺省值.缺省设置是 小写.

 

 

preserve case = yes/no
控制建新文件时是否用客户所提供的大小写形式,或强制用缺省形式.缺省为 yes.

 

 

short preserve case = yes/no
控制新建8.3格式的文件名时是全部用大写及合适长度,还是强制用缺省情况.它可以和上面的"preserve case = yes"联用以允许长文件名保持大小写不变,而短文件名为小写.本项的缺省设置是 yes.

 

 

缺省情况下,Samba3.0与Windows NT相同,就是不区分大小写但保持大小写形式.

 

用户名/口令检验中的注意事项 NOTE ABOUT USERNAME/PASSWORD VALIDATION

 

用户有多种连接到服务项的方式.服务器按照下面的步骤来确定是否允许客户对指定服务的连接.如果下面步骤全部失败,则拒绝用户的连接请求.如果某一步通过,余下的检验就不再进行.

 

如果被请求的服务项设置为guest only = yes,并且,服务运行在共享级安全模式(security = share) ,则跳过1--5步检查.

 

第一步:
如果客户端提供一对用户名和口令,且这对用户名和口令经unix系统口令程序检验为有效,那么就以该用户名建立连接.注意,这包括用 \\server\service%username方式传递用户名.

 

第二步:
如果客户端事先在系统上注册了一个用户名,并且提供了正确的口令,就允许建立连接.

 

第三步:
根据提供的口令检查客户端的netbios名及以前用过的用户名,如匹配,就允许以该用户名建立连接.

 

第四步:
如果客户端以前有合法的用户名和口令,并获得了有效的令牌,就允许以该用户名建立连接.

 

第五步:
如果在 smb.conf里设置了"user = "字段,且客户端提供了一个口令,口令经UNIX系统检验,并与"user="字段里某一个用户匹配,那么就允许以"user="里匹配到的用户名建立连接.如果"user="字段是以@开始,那么该名字会展开为同名组里的用户名列表 .

 

第六步:
如果这是一个提供给guest用的服务项,那么连接以"guest account ="里给出的用户名建立,而不考虑提供的口令.

 

 

 

全局选项完整列表 COMPLETE LIST OF GLOBAL PARAMETERS

 

以下列出了所有的全局选项,各选项的详细说明请参看后面的相应段落.注意,有些选项的意义是相同的.

 

*
abort shutdown script

 

*
add group script

 

*
add machine script

 

*
addprinter command

 

*
add share command

 

*
add user script

 

*
add user to group script

 

*
afs username map

 

*
algorithmic rid base

 

*
allow trusted domains

 

*
announce as

 

*
announce version

 

*
auth methods

 

*
auto services

 

*
bind interfaces only

 

*
browse list

 

*
change notify timeout

 

*
change share command

 

*
client lanman auth

 

*
client ntlmv2 auth

 

*
client plaintext auth

 

*
client schannel

 

*
client signing

 

*
client use spnego

 

*
config file

 

*
deadtime

 

*
debug hires timestamp

 

*
debuglevel

 

*
debug pid

 

*
debug timestamp

 

*
debug uid

 

*
default

 

*
default service

 

*
delete group script

 

*
deleteprinter command

 

*
delete share command

 

*
delete user from group script

 

*
delete user script

 

*
dfree command

 

*
disable netbios

 

*
disable spoolss

 

*
display charset

 

*
dns proxy

 

*
domain logons

 

*
domain master

 

*
dos charset

 

*
enable rid algorithm

 

*
encrypt passwords

 

*
enhanced browsing

 

*
enumports command

 

*
get quota command

 

*
getwd cache

 

*
guest account

 

*
hide local users

 

*
homedir map

 

*
host msdfs

 

*
hostname lookups

 

*
hosts equiv

 

*
idmap backend

 

*
idmap gid

 

*
idmap uid

 

*
include

 

*
interfaces

 

*
keepalive

 

*
kernel change notify

 

*
kernel oplocks

 

*
lanman auth

 

*
large readwrite

 

*
ldap admin dn

 

*
ldap delete dn

 

*
ldap filter

 

*
ldap group suffix

 

*
ldap idmap suffix

 

*
ldap machine suffix

 

*
ldap passwd sync

 

*
ldap port

 

*
ldap server

 

*
ldap ssl

 

*
ldap suffix

 

*
ldap user suffix

 

*
lm announce

 

*
lm interval

 

*
load printers

 

*
local master

 

*
lock dir

 

*
lock directory

 

*
lock spin count

 

*
lock spin time

 

*
log file

 

*
log level

 

*
logon drive

 

*
logon home

 

*
logon path

 

*
logon script

 

*
lpq cache time

 

*
machine password timeout

 

*
mangled stack

 

*
mangle prefix

 

*
mangling method

 

*
map to guest

 

*
max disk size

 

*
max log size

 

*
max mux

 

*
max open files

 

*
max protocol

 

*
max smbd processes

 

*
max ttl

 

*
max wins ttl

 

*
max xmit

 

*
message command

 

*
min passwd length

 

*
min password length

 

*
min protocol

 

*
min wins ttl

 

*
name cache timeout

 

*
name resolve order

 

*
netbios aliases

 

*
netbios name

 

*
netbios scope

 

*
nis homedir

 

*
ntlm auth

 

*
nt pipe support

 

*
nt status support

 

*
null passwords

 

*
obey pam restrictions

 

*
oplock break wait time

 

*
os2 driver map

 

*
os level

 

*
pam password change

 

*
panic action

 

*
paranoid server security

 

*
passdb backend

 

*
passwd chat

 

*
passwd chat debug

 

*
passwd program

 

*
password level

 

*
password server

 

*
pid directory

 

*
prefered master

 

*
preferred master

 

*
preload

 

*
preload modules

 

*
printcap

 

*
private dir

 

*
protocol

 

*
read bmpx

 

*
read raw

 

*
read size

 

*
realm

 

*
remote announce

 

*
remote browse sync

 

*
restrict anonymous

 

*
root

 

*
root dir

 

*
root directory

 

*
security

 

*
server schannel

 

*
server signing

 

*
server string

 

*
set primary group script

 

*
set quota command

 

*
show add printer wizard

 

*
shutdown script

 

*
smb passwd file

 

*
smb ports

 

*
socket address

 

*
socket options

 

*
source environment

 

*
stat cache

 

*
syslog

 

*
syslog only

 

*
template homedir

 

*
template primary group

 

*
template shell

 

*
time offset

 

*
time server

 

*
timestamp logs

 

*
unicode

 

*
unix charset

 

*
unix extensions

 

*
unix password sync

 

*
update encrypted

 

*
use mmap

 

*
username level

 

*
username map

 

*
use spnego

 

*
utmp

 

*
utmp directory

 

*
winbind cache time

 

*
winbind enable local accounts

 

*
winbind enum groups

 

*
winbind enum users

 

*
winbind gid

 

*
winbind separator

 

*
winbind trusted domains only

 

*
winbind uid

 

*
winbind use default domain

 

*
wins hook

 

*
wins partners

 

*
wins proxy

 

*
wins server

 

*
wins support

 

*
workgroup

 

*
write raw

 

*
wtmp directory

 

 

 

服务选项完整列表 COMPLETE LIST OF SERVICE PARAMETERS

 

以下列出了所有关于服务项的选项,各选项的详细说明请参见后面的相应段落.注意,有些选项的意义是相同的.

 

*
acl compatibility

 

*
admin users

 

*
afs share

 

*
allow hosts

 

*
available

 

*
blocking locks

 

*
block size

 

*
browsable

 

*
browseable

 

*
case sensitive

 

*
casesignames

 

*
comment

 

*
copy

 

*
create mask

 

*
create mode

 

*
csc policy

 

*
default case

 

*
default devmode

 

*
delete readonly

 

*
delete veto files

 

*
deny hosts

 

*
directory

 

*
directory mask

 

*
directory mode

 

*
directory security mask

 

*
dont descend

 

*
dos filemode

 

*
dos filetime resolution

 

*
dos filetimes

 

*
exec

 

*
fake directory create times

 

*
fake oplocks

 

*
follow symlinks

 

*
force create mode

 

*
force directory mode

 

*
force directory security mode

 

*
force group

 

*
force security mode

 

*
force user

 

*
fstype

 

*
group

 

*
guest account

 

*
guest ok

 

*
guest only

 

*
hide dot files

 

*
hide files

 

*
hide special files

 

*
hide unreadable

 

*
hide unwriteable files

 

*
hosts allow

 

*
hosts deny

 

*
inherit acls

 

*
inherit permissions

 

*
invalid users

 

*
level2 oplocks

 

*
locking

 

*
lppause command

 

*
lpq command

 

*
lpresume command

 

*
lprm command

 

*
magic output

 

*
magic script

 

*
mangle case

 

*
mangled map

 

*
mangled names

 

*
mangling char

 

*
map acl inherit

 

*
map archive

 

*
map hidden

 

*
map system

 

*
max connections

 

*
max print jobs

 

*
max reported print jobs

 

*
min print space

 

*
msdfs proxy

 

*
msdfs root

 

*
nt acl support

 

*
only guest

 

*
only user

 

*
oplock contention limit

 

*
oplocks

 

*
path

 

*
posix locking

 

*
postexec

 

*
preexec

 

*
preexec close

 

*
preserve case

 

*
printable

 

*
printcap name

 

*
print command

 

*
printer

 

*
printer admin

 

*
printer name

 

*
printing

 

*
print ok

 

*
profile acls

 

*
public

 

*
queuepause command

 

*
queueresume command

 

*
read list

 

*
read only

 

*
root postexec

 

*
root preexec

 

*
root preexec close

 

*
security mask

 

*
set directory

 

*
share modes

 

*
short preserve case

 

*
strict allocate

 

*
strict locking

 

*
strict sync

 

*
sync always

 

*
use client driver

 

*
user

 

*
username

 

*
users

 

*
use sendfile

 

*
-valid

 

*
valid users

 

*
veto files

 

*
veto oplock files

 

*
vfs object

 

*
vfs objects

 

*
volume

 

*
wide links

 

*
writable

 

*
writeable

 

*
write cache size

 

*
write list

 

*
write ok

 

 

 

每一个选项的详细解释 EXPLANATION OF EACH PARAMETER

 

abort shutdown script (G)
This parameter only exists in the HEAD cvs branch This a full path name to a script called by smbd(8) that should stop a shutdown procedure issued by the shutdown script.

 

This command will be run as user.

 

缺省设置: None.

 

示例: abort shutdown script = /sbin/shutdown -c

 

 

acl compatibility (S)
This parameter specifies what OS ACL semantics should be compatible with. Possible values are winnt for Windows NT 4, win2k for Windows 2000 and above and auto. If you specify auto, the value for this parameter will be based upon the version of the client. There should be no reason to change this parameter from the default.

 

缺省设置: acl compatibility = Auto

 

示例: acl compatibility = win2k

 

 

add group script (G)
This is the full pathname to a script that will be run AS ROOT by smbd(8) when a new group is requested. It will expand any %g to the group name passed. This script is only useful for installations using the Windows NT domain administration tools. The script is free to create a group with an arbitrary name to circumvent unix group name restrictions. In that case the script must print the numeric gid of the created group on stdout.

 

 

add machine script (G)
This is the full pathname to a script that will be run by smbd(8) when a machine is added to it's domain using the administrator username and password method.

 

This option is only required when using sam back-ends tied to the Unix uid method of RID calculation such as smbpasswd. This option is only available in Samba 3.0.

 

缺省设置: add machine script = <空字符串>

 

示例: add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u

 

 

addprinter command (G)
With the introduction of MS-RPC based printing support for Windows NT/2000 clients in Samba 2.2, The MS Add Printer Wizard (APW) icon is now also available in the "Printers..." folder displayed a share listing. The APW allows for printers to be add remotely to a Samba or Windows NT/2000 print server.

 

For a Samba host this means that the printer must be physically added to the underlying printing system. The add printer command defines a script to be run which will perform the necessary operations for adding the printer to the print system and to add the appropriate service definition to the smb.conf file in order that it can be shared by smbd(8).

 

The addprinter command is automatically invoked with the following parameter (in order):

 

printer name

share name

port name

driver name

location

Windows 9x driver location

All parameters are filled in from the PRINTER_INFO_2 structure sent by the Windows NT/2000 client with one exception. The "Windows 9x driver location" parameter is included for backwards compatibility only. The remaining fields in the structure are generated from answers to the APW questions.

 

Once the addprinter command has been executed, smbd will reparse the smb.conf to determine if the share defined by the APW exists. If the sharename is still invalid, then smbd will return an ACCESS_DENIED error to the client.

 

The "add printer command" program can output a single line of text, which Samba will set as the port the new printer is connected to. If this line isn't output, Samba won't reload its printer shares.

 

参见 deleteprinter command, printing, show add printer wizard

 

缺省设置: none

 

示例: addprinter command = /usr/bin/addprinter

 

 

add share command (G)
Samba 2.2.0 introduced the ability to dynamically add and delete shares via the Windows NT 4.0 Server Manager. The add share command is used to define an external program or script which will add a new service definition to smb.conf. In order to successfully execute the add share command, smbd requires that the administrator be connected using a root account (i.e. uid == 0).

 

When executed, smbd will automatically invoke the add share command with four parameters.

 

configFile - the location of the global smb.conf file.

shareName - the name of the new share.

pathName - path to an **existing** directory on disk.

comment - comment string to associate with the new share.

This parameter is only used for add file shares. To add printer shares, see the addprinter command.

 

参见 change share command, delete share command.

 

缺省设置: none

 

示例: add share command = /usr/local/bin/addshare

 

 

add user script (G)
这个选项指出一个脚本的完整文件路径,这个脚本将在特定环境下(下面有详细解释)由 smbd (8) 以root身份执行.

通常,samba服务器需要为所有访问服务器上文件的用户建立UNIX用户账号.但是在使用Windows NT账号数据库作为主用户数据库的站点,建立这些用户并在与NT的主域控制器保持用户列表同步是一件很麻烦的事情.这个选项使smbd可以在用户访问时根据需要自动生成UNIX用户账号.

为了使用这个选项,smbd必须被设置成security=server或者security=domain,并且add user script必须设为用%u参数来建立unix帐号的脚本文件的全路径,%u扩展成建立的unix帐号名.

当windows用户尝试访问samba服务器时,在登陆时(建立SMB协议会话),smbd口令服务器联系,并尝试验证用户名和口令.如果成功,smbd就会根据unix的口令文件试着将这个windows用户映射成一个unix用户.如果查找失败,但设置了add user script ,smbd就会以root的身份调用这个脚本,将%u扩展成该要建立的用户账号.

如果这个脚本执行成功,smbd就认为这个用户已经存在.用这种方式,可以动态建立UNIX用户账号并匹配已有的NT账号.

参见 security, password server, delete user script.

 

缺省设置: add user script = <空字符串>

 

示例: add user script = /usr/local/samba/bin/add_user %u

 

 

add user to group script (G)
Full path to the script that will be called when a user is added to a group using the Windows NT domain administration tools. It will be run by smbd(8) AS ROOT. Any %g will be replaced with the group name and any %u will be replaced with the user name.

 

缺省设置: add user to group script =

 

示例: add user to group script = /usr/sbin/adduser %u %g

 

 

admin users (S)
admin users定义一组对共享有管理特权的用户.就相当于这些用户可以象超级用户那样操作所有的文件.

小心使用该选项,因为在这个名单里的用户可以对共享资源作任何他们想做的事.

缺省设置: 没有 admin users

 

示例: admin users = jason

 

 

afs share (S)
This parameter controls whether special AFS features are enabled for this share. If enabled, it assumes that the directory exported via the path parameter is a local AFS import. The special AFS features include the attempt to hand-craft an AFS token if you enabled --with-fake-kaserver in configure.

 

缺省设置: afs share = no

 

示例: afs share = yes

 

 

afs username map (G)
If you are using the fake kaserver AFS feature, you might want to hand-craft the usernames you are creating tokens for. For example this is necessary if you have users from several domain in your AFS Protection Database. One possible scheme to code users as DOMAIN+User as it is done by winbind with the + as a separator.

 

The mapped user name must contain the cell name to log into, so without setting this parameter there will be no token.

 

缺省设置: none

 

示例: afs username map = %[email protected]

 

 

algorithmic rid base (G)
This determines how Samba will use its algorithmic mapping from uids/gid to the RIDs needed to construct NT Security Identifiers.

 

Setting this option to a larger value could be useful to sites transitioning from WinNT and Win2k, as existing user and group rids would otherwise clash with sytem users etc.

 

All UIDs and GIDs must be able to be resolved into SIDs for the correct operation of ACLs on the server. As such the algorithmic mapping can't be 'turned off', but pushing it 'out of the way' should resolve the issues. Users and groups can then be assigned 'low' RIDs in arbitary-rid supporting backends.

 

缺省设置: algorithmic rid base = 1000

 

示例: algorithmic rid base = 100000

 

 

allow hosts (S)
hosts allow同义.

 

 

allow trusted domains (G)
这个选项只在 security选项被设成 serverdomain模式时才有效果.如果设为no的话,尝试联接到smbd运行的域或工作组以外的资源时会失败,即使那个域是由远程服务器验证为可信的也不行.

 

如果你只需要在域中对成员提供服务资源的话这个选项是非常有用的.举例来说,假设有两个域DOMA和DOMB,DOMA已经向DOMB进行了委托,而samba服务器位于DOMA中.在通常情况下,在DOMB中有账号的用户可以用同样的samba服务器账号名访问UNIX上的资源.而无须他在DOMA上有账号.不过这样就使安全界线更难分清了.

 

缺省设置: allow trusted domains = yes

 

 

announce as (G)
这个选项定义 nmbd(8) 对网络邻居声称的服务器类型.缺省为windows NT.可选项有"NT",它与"NT Server"同义,"NT Server","NT Workstation","Win95"或"WfW",它们分别代表Windows NT Server,Windows NT Workstation,Windows 95和Windows for Workgroups.除非有特殊的需要不想让samba以windows NT的身份出现,一般不要改动这个选项,因为这可能会影响samba作为浏览服务器的正确性.

 

缺省设置: announce as = NT Server

 

示例: announce as = Win95

 

 

你可能感兴趣的:(ldap,操作系统,运维)