1radiusd.conf(5) FreeRADIUS configuration file radiusd.conf(5)
2
3
4
6 radiusd.conf - configuration file for the FreeRADIUS server
7
9 The radiusd.conf file resides in the radius database directory, by
10 default /etc/raddb. It defines the global configuration for the
11 FreeRADIUS RADIUS server.
12
14 There are a large number of configuration parameters for the server.
15 Most are documented in the file itself as comments. This page docu‐
16 ments only the format of the file. Please read the radiusd.conf file
17 itself for more information.
18
19 The configuration file parser is independent of the server configura‐
20 tion. This means that you can put almost anything into the configura‐
21 tion file. So long as it is properly formatted, the server will start.
22
23 When the server parses the configuration file, it looks only for those
24 configurations it understands. Extra configuration items are ignored.
25 This "feature" can be (ab)used in certain interesting ways.
26
28 The file format is line-based, like many other Unix configuration
29 files. Each entry in the file must be placed on a line by itself,
30 although continuations are supported.
31
32 The file consists of configuration items (variable = value pairs), sec‐
33 tions, and comments.
34
35 Variables
36 Variables can be set via:
37
38 name = value
39
40 Single and double-quoted strings are permitted:
41
42 string1 = "hello world"
43 string2 = 'hello mom'
44
45 Sections
46 A section begins with a section name, followed on the same line
47 by an open bracket '{'. Section may contain other sections,
48 comments, or variables. Sections may be nested to any depth,
49 limited only by available memory. A section ends with a close
50 bracket ´}', on a line by itself.
51
52 section {
53 ...
54 }
55
56 Sections can sometimes have a second name following the first
57 one. The situations where this is legal depend on the context.
58 See the examples and comments in the radiusd.conf file for more
59 information.
60
61 section foo {
62 ...
63 }
64
65 Comments
66 Any line beginning with a (#) is deemed to be a comment, and is
67 ignored. Comments can appear after a variable or section defi‐
68 nitions.
69
70 # comment
71 foo = bar # set variable 'foo' to value 'bar'
72 section { # start of section
73 ...
74 } # end of section
75
76 Continuations
77 Long lines can be broken up via continuations, using '\' as the
78 last character of the line. For example, the following entry:
79
80 foo = "blah \
81 blah \
82 blah"
83
84 will set the value of the variable "foo" to "blah blah blah".
85 Any CR or LF is not turned into a space, but all other white‐
86 space is preserved in the final value.
87
89 The value of a variable can reference another variable. These refer‐
90 ences are evaluated when the configuration file is loaded, which means
91 that there is no run-time cost associated with them. This feature is
92 most useful for turning long, repeated pieces of text into short ones.
93
94 Variables are referenced by ${variable_name}, as in the following exam‐
95 ples.
96
97 foo = bar # set variable 'foo' to value 'bar'
98 who = ${foo} # sets variable 'who' to value of variable 'foo'
99 my = "${foo} a" # sets variable 'my' to "bar a"
100
101 If the variable exists in a section or subsection, it can be referenced
102 as ${section.subsection.variable}. Forward references are not allowed.
103 Relative references are allowed, by pre-pending the name with one or
104 more period.
105
106 blogs = ${.foo}
107
108 Will set variable blogs to the value of variable foo, from the current
109 section.
110
111 blogs = ${..foo}
112
113 Will set variable blogs to the value of variable foo, from the section
114 which contains the current section.
115
116 blogs = ${modules.detail.filename}
117
118 Will set variable blogs to the value of variable filename, of the
119 detail module, which is in the modules section of the configuration
120 file.
121
122 Properties of anonymous parent sections may also be referenced, cur‐
123 rently name and instance are supported.
124
125 modules { example foo { file = ${.:name}
126 } } Will set variable file to the name of the con‐
127 taining section (example).
128
129 modules { example foo { file =
130 ${.:instance} } } Will set variable file to the
131 instance name of the containing section (foo).
132
133 modules { example foo { file = ${..:name}
134 } } Will set variable file to the name of the par‐
135 ent of the containing section (modules).
136
138 /etc/raddb/radiusd.conf
139
141 radiusd(8) unlang(5)
142
144 Alan DeKok <aland@freeradius.org>
145
146
147
148 28 Jun 2013 radiusd.conf(5)