📄 configure.texi
字号:
@kwindex acct@kwindex common@kwindex input-format@kwindex wait-replyThe @code{filters} statement configures user-defined external filters.@xref{Filters}, for the detailed discussion of external filters.@subheading Syntax@smallexamplefilters @{ filter @var{ident} @{ exec-path @var{path} ; error-log @var{filename} ; common @var{bool} [@var{max-wait}]; auth @{ input-format @var{fmt} ; wait-reply @var{bool} ; @}; acct @{ input-format @var{fmt} ; wait-reply @var{bool} ; @}; @}; @dots{}@};@end smallexample @noindentEach @code{filter} directive defines a new filter. The @var{ident}argument declares the name of the filter. This string must beused in @attr{Exec-Program-Wait} or @attr{Acct-Ext-Program} attributesto trigger invocation of this filter (@pxref{Exec-Program-Wait}).@subheading Usage@table @asis@item exec-path @var{path}Absolute path to the filter program.@item error-log @var{filename}Redirect error output from the filter program to @var{filename}. If the@var{filename} does not start with a slash, it is taken relative tothe current logging directory (@pxref{option,log-dir}).@item auth@itemx acctThese compound statements define authentication and accountingparts of this filter. Any one of them may be missing. The twostatements allowed within @code{auth} and @code{acct} blocks are:@table @asis@item input-format @var{fmt}Format of the input line for this filter. Usually this stringuses %C@{@} notations (@pxref{Macro Substitution}).You can also use the return value from a @code{rewrite} function asinput line to the filter. To do so, declare:@smallexample input-format "=my_func()";@end smallexample@noindentwhere @var{my_func} is the name of the rewrite function to invoke. Thefunction must return string value.@item wait-reply @var{bool}If the filter prints a single line of output for each input line, setthis to @code{yes}. Otherwise, if the filter produces no output, use@code{wait-reply no}.@end table@end table@comment **L3***************************************************************@node mlc@subsection @code{mlc} statement@kwindex mlc@kwindex sql@kwindex system@subheading Syntax@smallexamplemlc @{ method (system|sql); checkrad-assume-logged @var{bool};@};@end smallexample@subheading Usage@code{Mlc} statement configures multiple login checking subsystem(@pxref{Multiple Login Checking}).@table @asis@item methodSets the method of retrieving information about the currently opensessions. Currently two methods are implemented. Setting @code{method}to @code{system} will use system accounting database (@pxref{SystemAccounting}). This is the default method. Setting it to @code{sql}will use @sc{sql} database.@item checkrad-assume-logged@command{radiusd} consults the value of this variable when the @NAS{}does not responds to checkrad queries (@pxref{Multiple Login Checking}).If this variable is set to @code{yes}, the daemon will proceed as ifthe @NAS{} returned ``yes'', i.e. it will assume the user is logged in.Otherwise @command{radiusd} assumes the user @emph{is not} logged in.@end table@comment *L2****************************************************************@node dictionary file@section Dictionary of Attributes --- @file{raddb/dictionary}@cindex Radius dictionary@cindex @file{dictionary} fileThe dictionary file @file{raddb/dictionary} defines the symbolic namesfor radius attributes and their values (@pxref{Attributes}). The file consistsof a series of statements, each statement occupies one line.In the detailed discussion below we use the following meta-syntacticcharacters:@table @var@item numberDenotes a decimal, octal or hexagesimal number. Usual C conventions arehonored, i.e. if @var{number} starts with @samp{0x} or @samp{0X} it isread as a hex number, if it starts with @samp{0} it is read as anoctal number, otherwise it is read as a decimal one.@item typeDenotes an attribute type. These are valid attribute types:@table @code@item stringA string type. @item integerAn integer type.@item ipaddr@IP{} in a dotted-quad form.@item dateA date in the format: "MON DD CCYY", where MON is the usual three-characterabbreviation, DD is day of month (1-31), CCYY is the year, including thecentury.@end table@end table@menu* Comment:: Introducing a comment line.* $INCLUDE:: Include a file.* VENDOR:: Define a vendor-id.* ATTRIBUTE:: Define an attribute translation.* BEGIN:: Blocks of vendor-specific attributes* ALIAS:: Define alternative name for an attribute.* PROPERTY:: Define attribute properties.* VALUE:: Define a value translation.@end menu@comment **L3***************************************************************@node Comment@subsection CommentsComments are introduced by a pound sign (@samp{#}). Everything starting fromthe first occurrence of @samp{#} up to the end of line is ignored.@comment **L3***************************************************************@node $INCLUDE@subsection $INCLUDE Statement@kwindex $INCLUDE (dictionary)@subheading Syntax@smallexample$INCLUDE @file{filename}@end smallexample@subheading UsageThe @code{$INCLUDE} statement causes the contents of the file @file{filename}to be read in and processed. The file is looked up in the Radius databasedirectory, unless its name starts with a slash. @comment **L3***************************************************************@node VENDOR@subsection VENDOR Statement@kwindex VENDOR@subheading Syntax@smallexampleVENDOR @var{vendor-name} @var{vendor-id}@end smallexample @subheading UsageA @code{VENDOR} statement defines the symbolic name @var{vendor-name}for vendor identifier @var{vendor-id}.This name can subsequently be used in @code{ATTRIBUTE} statementsto define Vendor-Specific attribute translations. @xref{Vendor-Specific}.@subheading Example@smallexampleVENDOR Livingston 307@end smallexample@comment **L3***************************************************************@node ATTRIBUTE@subsection ATTRIBUTE statement@kwindex ATTRIBUTE @subheading Syntax@smallexampleATTRIBUTE @var{name} @var{number} @var{type} [@var{vendor}] [@var{flags}]@end smallexample@subheading UsageThe @code{ATTRIBUTE} statement defines the internal representation ofan attribute: its symbolic name, data type and syntactical usage.Its parts have the following meaning:@table @var@item nameThe attribute name.@item numberThe attribute @acronym{ID} (number).@item typeThe attribute type. @item vendorVendor name for vendor-specific attributes. For usual attributes thisfield is empty or contains a dash (@samp{-}). The latter usage isfor compatibility with previos version of GNU Radius@item flagsFlags, defining attribute properties (@pxref{Attributes}).@end tableThe @dfn{attribute property flags} consist of a sequence of letters,whose meaning is determined by the following rules:@footnote{The @var{flags} are optional for compatibility with previousversions of GNU Radius. If they are omitted, the default is @samp{[LRLRLR]+}}@enumerate 1@itemThe attribute usage is described by three pairs of symbols, enclosedin square brackets. Each pair describes how the attribute can beused in each of three configuration files. The first pair correspondsto @file{raddb/users}, the second one corresponds to @file{raddb/hints},and the third one corresponds to @file{raddb/huntgroups}. Within eachpair, the letter @samp{L} in first position means that the attributeis allowed in @LHS{} of a rule. The letter @samp{R} in second positionmeans that the attribute is allowed in @RHS{} of a rule. The absence ofany of these letters is indicated by dash (@samp{-}). Thus, thefollowing usage specification:@smallexample [L--RLR]@end smallexample@noindentmeans that the attribute may be used in @LHS{} of a rule in @file{raddb/users},in @RHS{} of a rule in @file{raddb/hints}, and in both sides of a rulein @file{raddb/huntgroups}.@itemThe attribute additivity is described by one of the following letters:@table @asis@item =Additivity = Replace@item +Additivity = Append@item NAdditivity = None@end table@itemThe presence of letter @samp{P} in property flags raises the propagationbit.@itemLetter @samp{l} (lower-case ell) enables logging the given attributein detail file (@pxref{Detailed Request Accounting}). This is meaningfulonly for internal attributes, i.e. the ones whose decimal value isgreater than 255 (@pxref{Radius Internal Attributes}). By default suchattributes do not appear in detailed logs. The flag @samp{l} revertsthis behavior.@item Letter @samp{E} marks attributes encrypted as described in RFC 2138.Currently these are User-Password and CHAP-Password. @item Letter @samp{T} marks attribute encrypted according to RFC 2868.@itemThe characters from @samp{1} to @samp{9} denote nine user-defined flags(@pxref{Extended Comparison}).@end enumerate@subheading Example@smallexampleATTRIBUTE Service-Type 6 integer - [LR-RLR]=P @end smallexampleThis statement declares that the attribute number 6 will be referredto by the symbolic name @samp{Service-Type}. The attribute is ofinteger data type and it may be used in any part of matching rules,except in @LHS{} of a @file{raddb/hints} rule. Theadditivity of @attr{Service-Type} is set to @samp{Replace}. Theattribute will be propagated through the proxy chain.@comment **L3***************************************************************@node BEGIN@subsection Blocks of Vendor-Specific Attributes@kwindex BEGIN@kwindex END@kwindex BEGIN-VENDOR@kwindex END-VENDOR@subheading Syntax@smallexample@groupBEGIN VENDOR @var{vendor-name} [@var{vendor-id}]@dots{}END @end group@end smallexample@subheading UsageThe @code{BEGIN} keyword marks start of the block of definitions ofvendor-specific attributes. The block is terminated by @code{END}keyword, optionally followed by an arbitrary number of words,which are regarded as a comment. The block may contain any validdictionary declarations, except other blocks: nesting of declarationblocks is not allowed.If @var{vendor-id} is absent, the value of vendor ID is lookedup in the internal table of vendors; therefore, it must bedefined before @code{BEGIN} statement (@pxref{VENDOR}).@code{BEGIN---END} block alters the handling of @code{ATTRIBUTE}statements within it. If @code{ATTRIBUTE} statement does notcontain an explicit vendor-id specification, the value of @var{vendor-id} is used instead.For compatibility with FreeRadius an alternative syntax is alsosupported:@smallexample@groupBEGIN-VENDOR @var{vendor-name}@dots{}END-VENDOR @var{vendor-name}@end group@end smallexample@noindentSuch compatibility blocks must appear only ater the declaration of@var{vendor-name} (@pxref{VENDOR}).@subheading ExampleThe following is the usual way of definig vendor-specific attributes:@smallexample@groupVENDOR Livingston 307ATTRIBUTE LE-Terminate-Detail 2 string LivingstonATTRIBUTE LE-Advice-of-Charge 3 string Livingston@end group@end smallexample@noindentThe following two examples show the alternative ways: @smallexample@groupVENDOR Livingston 307BEGIN VENDOR LivingstonATTRIBUTE LE-Terminate-Detail 2 string ATTRIBUTE LE-Advice-of-Charge 3 stringEND@end group@end smallexample@smallexample@groupBEGIN VENDOR Livingston 307ATTRIBUTE LE-Terminate-Detail 2 string ATTRIBUTE LE-Advice-of-Charge 3 stringEND@end group@end smallexample@noindentThese three examples are completely equivalent to each other.@comment **L3***************************************************************@node ALIAS@subsection ALIAS statement@kwindex ALIAS@subheading Syntax@smallexampleALIAS @var{name} @var{alt-name}@end smallexample@subheading UsageThe @code{ALIAS} statement defines an altenative name @var{alt-name}for attribute @var{name}. The latter should already be defined,otherwise an error occurs.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -