xf.li | 8611891 | 2025-03-19 20:07:27 -0700 | [diff] [blame^] | 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>messagebus</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>/usr/libexec/dbus-daemon-launch-helper</servicehelper> |
| 28 | |
| 29 | <!-- Write a pid file --> |
| 30 | <pidfile>/var/run/dbus/pid</pidfile> |
| 31 | |
| 32 | <!-- Enable logging to syslog --> |
| 33 | <syslog/> |
| 34 | |
| 35 | <!-- Only allow socket-credentials-based authentication --> |
| 36 | <auth>EXTERNAL</auth> |
| 37 | |
| 38 | <!-- Only listen on a local socket. (abstract=/path/to/socket |
| 39 | means use abstract namespace, don't really create filesystem |
| 40 | file; only Linux supports this. Use path=/whatever on other |
| 41 | systems.) --> |
| 42 | <listen>unix:path=/run/dbus/system_bus_socket</listen> |
| 43 | |
| 44 | <policy context="default"> |
| 45 | <!-- All users can connect to system bus --> |
| 46 | <allow user="*"/> |
| 47 | |
| 48 | <!-- Holes must be punched in service configuration files for |
| 49 | name ownership and sending method calls --> |
| 50 | <deny own="*"/> |
| 51 | <deny send_type="method_call"/> |
| 52 | |
| 53 | <!-- Signals and reply messages (method returns, errors) are allowed |
| 54 | by default --> |
| 55 | <allow send_type="signal"/> |
| 56 | <allow send_requested_reply="true" send_type="method_return"/> |
| 57 | <allow send_requested_reply="true" send_type="error"/> |
| 58 | |
| 59 | <!-- All messages may be received by default --> |
| 60 | <allow receive_type="method_call"/> |
| 61 | <allow receive_type="method_return"/> |
| 62 | <allow receive_type="error"/> |
| 63 | <allow receive_type="signal"/> |
| 64 | |
| 65 | <!-- Allow anyone to talk to the message bus --> |
| 66 | <allow send_destination="org.freedesktop.DBus" |
| 67 | send_interface="org.freedesktop.DBus" /> |
| 68 | <allow send_destination="org.freedesktop.DBus" |
| 69 | send_interface="org.freedesktop.DBus.Introspectable"/> |
| 70 | <allow send_destination="org.freedesktop.DBus" |
| 71 | send_interface="org.freedesktop.DBus.Properties"/> |
| 72 | <!-- But disallow some specific bus services --> |
| 73 | <deny send_destination="org.freedesktop.DBus" |
| 74 | send_interface="org.freedesktop.DBus" |
| 75 | send_member="UpdateActivationEnvironment"/> |
| 76 | <deny send_destination="org.freedesktop.DBus" |
| 77 | send_interface="org.freedesktop.DBus.Debug.Stats"/> |
| 78 | <deny send_destination="org.freedesktop.DBus" |
| 79 | send_interface="org.freedesktop.systemd1.Activator"/> |
| 80 | </policy> |
| 81 | |
| 82 | <!-- Only systemd, which runs as root, may report activation failures. --> |
| 83 | <policy user="root"> |
| 84 | <allow send_destination="org.freedesktop.DBus" |
| 85 | send_interface="org.freedesktop.systemd1.Activator"/> |
| 86 | </policy> |
| 87 | |
| 88 | <!-- root may monitor the system bus. --> |
| 89 | <policy user="root"> |
| 90 | <allow send_destination="org.freedesktop.DBus" |
| 91 | send_interface="org.freedesktop.DBus.Monitoring"/> |
| 92 | </policy> |
| 93 | |
| 94 | <!-- If the Stats interface was enabled at compile-time, root may use it. |
| 95 | Copy this into system.local.conf or system.d/*.conf if you want to |
| 96 | enable other privileged users to view statistics and debug info --> |
| 97 | <policy user="root"> |
| 98 | <allow send_destination="org.freedesktop.DBus" |
| 99 | send_interface="org.freedesktop.DBus.Debug.Stats"/> |
| 100 | </policy> |
| 101 | |
| 102 | <!-- Include legacy configuration location --> |
| 103 | <include ignore_missing="yes">/etc/dbus-1/system.conf</include> |
| 104 | |
| 105 | <!-- The defaults for these limits are hard-coded in dbus-daemon. |
| 106 | Some clarifications: |
| 107 | Times are in milliseconds (ms); 1000ms = 1 second |
| 108 | 133169152 bytes = 127 MiB |
| 109 | 33554432 bytes = 32 MiB |
| 110 | 150000ms = 2.5 minutes --> |
| 111 | <!-- <limit name="max_incoming_bytes">133169152</limit> --> |
| 112 | <!-- <limit name="max_incoming_unix_fds">64</limit> --> |
| 113 | <!-- <limit name="max_outgoing_bytes">133169152</limit> --> |
| 114 | <!-- <limit name="max_outgoing_unix_fds">64</limit> --> |
| 115 | <!-- <limit name="max_message_size">33554432</limit> --> |
| 116 | <!-- <limit name="max_message_unix_fds">16</limit> --> |
| 117 | <!-- <limit name="service_start_timeout">25000</limit> --> |
| 118 | <!-- <limit name="auth_timeout">5000</limit> --> |
| 119 | <!-- <limit name="pending_fd_timeout">150000</limit> --> |
| 120 | <!-- <limit name="max_completed_connections">2048</limit> --> |
| 121 | <!-- <limit name="max_incomplete_connections">64</limit> --> |
| 122 | <!-- <limit name="max_connections_per_user">256</limit> --> |
| 123 | <!-- <limit name="max_pending_service_starts">512</limit> --> |
| 124 | <!-- <limit name="max_names_per_connection">512</limit> --> |
| 125 | <!-- <limit name="max_match_rules_per_connection">512</limit> --> |
| 126 | <!-- <limit name="max_replies_per_connection">128</limit> --> |
| 127 | |
| 128 | <!-- Config files are placed here that among other things, punch |
| 129 | holes in the above policy for specific services. --> |
| 130 | <includedir>system.d</includedir> |
| 131 | |
| 132 | <includedir>/etc/dbus-1/system.d</includedir> |
| 133 | |
| 134 | <!-- This is included last so local configuration can override what's |
| 135 | in this standard file --> |
| 136 | <include ignore_missing="yes">/etc/dbus-1/system-local.conf</include> |
| 137 | |
| 138 | <include if_selinux_enabled="yes" selinux_root_relative="yes">contexts/dbus_contexts</include> |
| 139 | |
| 140 | </busconfig> |