Clean up and clarify default system policy
[platform/upstream/dbus.git] / bus / system.conf.in
1 <!-- This configuration file controls the systemwide message bus.
2      Add a system-local.conf and edit that rather than changing this 
3      file directly. -->
4
5 <!-- Note that there are any number of ways you can hose yourself
6      security-wise by screwing up this file; in particular, you
7      probably don't want to listen on any more addresses, add any more
8      auth mechanisms, run as a different user, etc. -->
9
10 <!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
11  "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
12 <busconfig>
13
14   <!-- Our well-known bus type, do not change this -->
15   <type>system</type>
16
17   <!-- Run as special user -->
18   <user>@DBUS_USER@</user>
19
20   <!-- Fork into daemon mode -->
21   <fork/>
22
23   <!-- We use system service launching using a helper -->
24   <standard_system_servicedirs/>
25
26   <!-- This is a setuid helper that is used to launch system services -->
27   <servicehelper>@DBUS_LIBEXECDIR@/dbus-daemon-launch-helper</servicehelper>
28
29   <!-- Write a pid file -->
30   <pidfile>@DBUS_SYSTEM_PID_FILE@</pidfile>
31
32   <!-- Only allow socket-credentials-based authentication -->
33   <auth>EXTERNAL</auth>
34
35   <!-- Only listen on a local socket. (abstract=/path/to/socket 
36        means use abstract namespace, don't really create filesystem 
37        file; only Linux supports this. Use path=/whatever on other 
38        systems.) -->
39   <listen>@DBUS_SYSTEM_BUS_DEFAULT_ADDRESS@</listen>
40
41   <policy context="default">
42     <!-- All users can connect to system bus -->
43     <allow user="*"/>
44
45     <!-- Holes must be punched in service configuration files for
46          name ownership and sending method calls -->
47     <deny own="*"/>
48     <deny send_type="method_call"/>
49
50     <!-- Signals and reply messages (method returns, errors) are allowed
51          by default -->
52     <allow send_type="signal"/>
53     <allow send_requested_reply="true" send_type="method_return"/>
54     <allow send_requested_reply="true" send_type="error"/>
55
56     <!-- All messages may be received by default -->
57     <allow receive_type="method_call"/>
58     <allow receive_type="method_return"/>
59     <allow receive_type="error"/>
60     <allow receive_type="signal"/>
61
62     <!-- Allow anyone to talk to the message bus -->
63     <allow send_destination="org.freedesktop.DBus"/>
64     <!-- But disallow some specific bus services -->
65     <deny send_destination="org.freedesktop.DBus"
66           send_interface="org.freedesktop.DBus"
67           send_member="UpdateActivationEnvironment"/>
68   </policy>
69
70   <!-- Config files are placed here that among other things, punch 
71        holes in the above policy for specific services. -->
72   <includedir>system.d</includedir>
73
74   <!-- This is included last so local configuration can override what's 
75        in this standard file -->
76   <include ignore_missing="yes">system-local.conf</include>
77
78   <include if_selinux_enabled="yes" selinux_root_relative="yes">contexts/dbus_contexts</include>
79
80 </busconfig>