Subversion Repositories configs

Rev

Rev 192 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
192 - 1
# Master libvirt daemon configuration file
2
#
3
 
4
#################################################################
5
#
6
# UNIX socket access controls
7
#
8
 
9
# Set the UNIX domain socket group ownership. This can be used to
10
# allow a 'trusted' set of users access to management capabilities
11
# without becoming root.
12
#
13
# This setting is not required or honoured if using systemd socket
14
# activation.
15
#
16
# This is restricted to 'root' by default.
17
#unix_sock_group = "libvirt"
18
 
19
# Set the UNIX socket permissions for the R/O socket. This is used
20
# for monitoring VM status only
21
#
22
# This setting is not required or honoured if using systemd socket
23
# activation.
24
#
25
# Default allows any user. If setting group ownership, you may want to
26
# restrict this too.
27
#unix_sock_ro_perms = "0777"
28
 
29
# Set the UNIX socket permissions for the R/W socket. This is used
30
# for full management of VMs
31
#
32
# This setting is not required or honoured if using systemd socket
33
# activation.
34
#
35
# Default allows only root. If PolicyKit is enabled on the socket,
36
# the default will change to allow everyone (eg, 0777)
37
#
38
# If not using PolicyKit and setting group ownership for access
39
# control, then you may want to relax this too.
40
#unix_sock_rw_perms = "0770"
41
 
42
# Set the UNIX socket permissions for the admin interface socket.
43
#
44
# This setting is not required or honoured if using systemd socket
45
# activation.
46
#
47
# Default allows only owner (root), do not change it unless you are
48
# sure to whom you are exposing the access to.
49
#unix_sock_admin_perms = "0700"
50
 
51
# Set the name of the directory in which sockets will be found/created.
52
#
53
# This setting is not required or honoured if using systemd socket
54
# activation with systemd version >= 227
55
#
204 - 56
#unix_sock_dir = "/run/libvirt"
192 - 57
 
58
 
59
 
60
#################################################################
61
#
62
# Authentication.
63
#
204 - 64
# There are the following choices available:
65
#
192 - 66
#  - none: do not perform auth checks. If you can connect to the
67
#          socket you are allowed. This is suitable if there are
68
#          restrictions on connecting to the socket (eg, UNIX
69
#          socket permissions), or if there is a lower layer in
70
#          the network providing auth (eg, TLS/x509 certificates)
71
#
72
#  - sasl: use SASL infrastructure. The actual auth scheme is then
204 - 73
#          controlled from /etc/sasl2/libvirt.conf. For the TCP
192 - 74
#          socket only GSSAPI & DIGEST-MD5 mechanisms will be used.
75
#          For non-TCP or TLS sockets, any scheme is allowed.
76
#
77
#  - polkit: use PolicyKit to authenticate. This is only suitable
78
#            for use on the UNIX sockets. The default policy will
79
#            require a user to supply their own password to gain
80
#            full read/write access (aka sudo like), while anyone
81
#            is allowed read/only access.
82
#
204 - 83
 
192 - 84
# Set an authentication scheme for UNIX read-only sockets
204 - 85
#
192 - 86
# By default socket permissions allow anyone to connect
87
#
204 - 88
# If libvirt was compiled without support for 'polkit', then
89
# no access control checks are done, but libvirt still only
90
# allows execution of APIs which don't change state.
91
#
92
# If libvirt was compiled with support for 'polkit', then
93
# the libvirt socket will perform a check with polkit after
94
# connections. The default policy still allows any local
95
# user access.
96
#
97
# To restrict monitoring of domains you may wish to either
98
# enable 'sasl' here, or change the polkit policy definition.
99
#auth_unix_ro = "polkit"
192 - 100
 
204 - 101
# Set an authentication scheme for UNIX read-write sockets.
192 - 102
#
204 - 103
# If libvirt was compiled without support for 'polkit', then
104
# the systemd .socket files will use SocketMode=0600 by default
105
# thus only allowing root user to connect, and 'auth_unix_rw'
106
# will default to 'none'.
107
#
108
# If libvirt was compiled with support for 'polkit', then
109
# the systemd .socket files will use SocketMode=0666 which
110
# allows any user to connect and 'auth_unix_rw' will default
111
# to 'polkit'. If you disable use of 'polkit' here, then it
112
# is essential to change the systemd SocketMode parameter
113
# back to 0600, to avoid an insecure configuration.
114
#
115
#auth_unix_rw = "polkit"
192 - 116
 
117
 
118
# Change the API access control scheme
119
#
120
# By default an authenticated user is allowed access
121
# to all APIs. Access drivers can place restrictions
122
# on this. By default the 'nop' driver is enabled,
123
# meaning no access control checks are done once a
124
# client has authenticated with virtstoraged
125
#
126
#access_drivers = [ "polkit" ]
127
 
128
#################################################################
129
#
130
# Authorization controls
131
#
132
 
133
 
204 - 134
# An access control list of allowed SASL usernames. The format for username
192 - 135
# depends on the SASL authentication mechanism. Kerberos usernames
136
# look like username@REALM
137
#
138
# This list may contain wildcards such as
139
#
140
#    "*@EXAMPLE.COM"
141
#
142
# See the g_pattern_match function for the format of the wildcards.
143
#
144
# https://developer.gnome.org/glib/stable/glib-Glob-style-pattern-matching.html
145
#
146
# NB If this is an empty list, no client can connect, so comment out
147
# entirely rather than using empty list to disable these checks
148
#
149
# By default, no Username's are checked
150
#sasl_allowed_username_list = ["joe@EXAMPLE.COM", "fred@EXAMPLE.COM" ]
151
 
152
 
153
#################################################################
154
#
155
# Processing controls
156
#
157
 
158
# The maximum number of concurrent client connections to allow
159
# over all sockets combined.
160
#max_clients = 5000
161
 
162
# The maximum length of queue of connections waiting to be
163
# accepted by the daemon. Note, that some protocols supporting
164
# retransmission may obey this so that a later reattempt at
165
# connection succeeds.
166
#max_queued_clients = 1000
167
 
168
# The maximum length of queue of accepted but not yet
169
# authenticated clients. The default value is 20. Set this to
170
# zero to turn this feature off.
171
#max_anonymous_clients = 20
172
 
173
# The minimum limit sets the number of workers to start up
174
# initially. If the number of active clients exceeds this,
175
# then more threads are spawned, up to max_workers limit.
176
# Typically you'd want max_workers to equal maximum number
177
# of clients allowed
178
#min_workers = 5
179
#max_workers = 20
180
 
181
 
182
# The number of priority workers. If all workers from above
183
# pool are stuck, some calls marked as high priority
184
# (notably domainDestroy) can be executed in this pool.
185
#prio_workers = 5
186
 
187
# Limit on concurrent requests from a single client
188
# connection. To avoid one client monopolizing the server
189
# this should be a small fraction of the global max_workers
190
# parameter.
191
#max_client_requests = 5
192
 
193
# Same processing controls, but this time for the admin interface.
194
# For description of each option, be so kind to scroll few lines
195
# upwards.
196
 
197
#admin_min_workers = 1
198
#admin_max_workers = 5
199
#admin_max_clients = 5
200
#admin_max_queued_clients = 5
201
#admin_max_client_requests = 5
202
 
203
#################################################################
204
#
205
# Logging controls
206
#
207
 
208
# Logging level: 4 errors, 3 warnings, 2 information, 1 debug
209
# basically 1 will log everything possible
210
#
211
# WARNING: USE OF THIS IS STRONGLY DISCOURAGED.
212
#
213
# WARNING: It outputs too much information to practically read.
214
# WARNING: The "log_filters" setting is recommended instead.
215
#
216
# WARNING: Journald applies rate limiting of messages and so libvirt
217
# WARNING: will limit "log_level" to only allow values 3 or 4 if
218
# WARNING: journald is the current output.
219
#
220
# WARNING: USE OF THIS IS STRONGLY DISCOURAGED.
221
#log_level = 3
222
 
223
# Logging filters:
224
# A filter allows to select a different logging level for a given category
225
# of logs. The format for a filter is:
226
#
227
#    level:match
228
#
229
# where 'match' is a string which is matched against the category
230
# given in the VIR_LOG_INIT() at the top of each libvirt source
231
# file, e.g., "remote", "qemu", or "util.json". The 'match' in the
232
# filter matches using shell wildcard syntax (see 'man glob(7)').
233
# The 'match' is always treated as a substring match. IOW a match
234
# string 'foo' is equivalent to '*foo*'.
235
#
236
# 'level' is the minimal level where matching messages should
237
#  be logged:
238
#
239
#    1: DEBUG
240
#    2: INFO
241
#    3: WARNING
242
#    4: ERROR
243
#
244
# Multiple filters can be defined in a single @log_filters, they just need
245
# to be separated by spaces. Note that libvirt performs "first" match, i.e.
246
# if there are concurrent filters, the first one that matches will be applied,
247
# given the order in @log_filters.
248
#
249
# A typical need is to capture information from a hypervisor driver,
250
# public API entrypoints and some of the utility code. Some utility
251
# code is very verbose and is generally not desired. Taking the QEMU
252
# hypervisor as an example, a suitable filter string for debugging
253
# might be to turn off object, json & event logging, but enable the
254
# rest of the util code:
255
#
256
#log_filters="1:qemu 1:libvirt 4:object 4:json 4:event 1:util"
257
 
258
# Logging outputs:
259
# An output is one of the places to save logging information
260
# The format for an output can be:
261
#    level:stderr
262
#      output goes to stderr
263
#    level:syslog:name
264
#      use syslog for the output and use the given name as the ident
265
#    level:file:file_path
266
#      output to a file, with the given filepath
267
#    level:journald
268
#      output to journald logging system
269
# In all cases 'level' is the minimal priority, acting as a filter
270
#    1: DEBUG
271
#    2: INFO
272
#    3: WARNING
273
#    4: ERROR
274
#
275
# Multiple outputs can be defined, they just need to be separated by spaces.
276
# e.g. to log all warnings and errors to syslog under the virtstoraged ident:
277
#log_outputs="3:syslog:virtstoraged"
278
 
279
 
280
##################################################################
281
#
282
# Auditing
283
#
284
# This setting allows usage of the auditing subsystem to be altered:
285
#
286
#   audit_level == 0  -> disable all auditing
287
#   audit_level == 1  -> enable auditing, only if enabled on host (default)
288
#   audit_level == 2  -> enable auditing, and exit if disabled on host
289
#
290
#audit_level = 2
291
#
292
# If set to 1, then audit messages will also be sent
293
# via libvirt logging infrastructure. Defaults to 0
294
#
295
#audit_logging = 1
296
 
297
###################################################################
298
# UUID of the host:
299
# Host UUID is read from one of the sources specified in host_uuid_source.
300
#
301
# - 'smbios': fetch the UUID from 'dmidecode -s system-uuid'
302
# - 'machine-id': fetch the UUID from /etc/machine-id
303
#
304
# The host_uuid_source default is 'smbios'. If 'dmidecode' does not provide
305
# a valid UUID a temporary UUID will be generated.
306
#
307
# Another option is to specify host UUID in host_uuid.
308
#
309
# Keep the format of the example UUID below. UUID must not have all digits
310
# be the same.
311
 
312
# NB This default all-zeros UUID will not work. Replace
313
# it with the output of the 'uuidgen' command and then
314
# uncomment this entry
315
#host_uuid = "00000000-0000-0000-0000-000000000000"
316
#host_uuid_source = "smbios"
317
 
318
###################################################################
319
# Keepalive protocol:
320
# This allows virtstoraged to detect broken client connections or even
321
# dead clients.  A keepalive message is sent to a client after
322
# keepalive_interval seconds of inactivity to check if the client is
323
# still responding; keepalive_count is a maximum number of keepalive
324
# messages that are allowed to be sent to the client without getting
325
# any response before the connection is considered broken.  In other
326
# words, the connection is automatically closed approximately after
327
# keepalive_interval * (keepalive_count + 1) seconds since the last
328
# message received from the client.  If keepalive_interval is set to
329
# -1, virtstoraged will never send keepalive requests; however clients
330
# can still send them and the daemon will send responses.  When
331
# keepalive_count is set to 0, connections will be automatically
332
# closed after keepalive_interval seconds of inactivity without
333
# sending any keepalive messages.
334
#
335
#keepalive_interval = 5
336
#keepalive_count = 5
337
 
338
#
339
# These configuration options are no longer used.  There is no way to
340
# restrict such clients from connecting since they first need to
341
# connect in order to ask for keepalive.
342
#
343
#keepalive_required = 1
344
#admin_keepalive_required = 1
345
 
346
# Keepalive settings for the admin interface
347
#admin_keepalive_interval = 5
348
#admin_keepalive_count = 5
349
 
350
###################################################################
351
# Open vSwitch:
352
# This allows to specify a timeout for openvswitch calls made by
353
# libvirt. The ovs-vsctl utility is used for the configuration and
354
# its timeout option is set by default to 5 seconds to avoid
355
# potential infinite waits blocking libvirt.
356
#
357
#ovs_timeout = 5