]> git.ipfire.org Git - thirdparty/systemd.git/blob - docs/TRANSIENT-SETTINGS.md
Merge pull request #10777 from poettering/seccomp-filter-others
[thirdparty/systemd.git] / docs / TRANSIENT-SETTINGS.md
1 # What settings are currently available for transient units?
2
3 Our intention is to make all settings that are available as unit file settings
4 also available for transient units, through the D-Bus API. At the moment, some
5 unit types (device, swap, target) are not supported at all via unit types,
6 but most others are pretty well supported, with some notable omissions.
7
8 The lists below contain all settings currently available in unit files. The
9 ones currently available in transient units are prefixed with `✓`.
10
11 ## Generic Unit Settings
12
13 Most generic unit settings are available for transient units.
14
15 ```
16 ✓ Description=
17 ✓ Documentation=
18 ✓ SourcePath=
19 ✓ Requires=
20 ✓ Requisite=
21 ✓ Wants=
22 ✓ BindsTo=
23 ✓ Conflicts=
24 ✓ Before=
25 ✓ After=
26 ✓ OnFailure=
27 ✓ PropagatesReloadTo=
28 ✓ ReloadPropagatedFrom=
29 ✓ PartOf=
30 ✓ JoinsNamespaceOf=
31 ✓ RequiresMountsFor=
32 ✓ StopWhenUnneeded=
33 ✓ RefuseManualStart=
34 ✓ RefuseManualStop=
35 ✓ AllowIsolate=
36 ✓ DefaultDependencies=
37 ✓ OnFailureJobMode=
38 ✓ IgnoreOnIsolate=
39 ✓ JobTimeoutSec=
40 ✓ JobRunningTimeoutSec=
41 ✓ JobTimeoutAction=
42 ✓ JobTimeoutRebootArgument=
43 ✓ StartLimitIntervalSec=SECONDS
44 ✓ StartLimitBurst=UNSIGNED
45 ✓ StartLimitAction=ACTION
46 ✓ FailureAction=
47 ✓ SuccessAction=
48 ✓ AddRef=
49 ✓ RebootArgument=STRING
50 ✓ ConditionPathExists=
51 ✓ ConditionPathExistsGlob=
52 ✓ ConditionPathIsDirectory=
53 ✓ ConditionPathIsSymbolicLink=
54 ✓ ConditionPathIsMountPoint=
55 ✓ ConditionPathIsReadWrite=
56 ✓ ConditionDirectoryNotEmpty=
57 ✓ ConditionFileNotEmpty=
58 ✓ ConditionFileIsExecutable=
59 ✓ ConditionNeedsUpdate=
60 ✓ ConditionFirstBoot=
61 ✓ ConditionKernelCommandLine=
62 ✓ ConditionKernelVersion=
63 ✓ ConditionArchitecture=
64 ✓ ConditionVirtualization=
65 ✓ ConditionSecurity=
66 ✓ ConditionCapability=
67 ✓ ConditionHost=
68 ✓ ConditionACPower=
69 ✓ ConditionUser=
70 ✓ ConditionGroup=
71 ✓ ConditionControlGroupController=
72 ✓ AssertPathExists=
73 ✓ AssertPathExistsGlob=
74 ✓ AssertPathIsDirectory=
75 ✓ AssertPathIsSymbolicLink=
76 ✓ AssertPathIsMountPoint=
77 ✓ AssertPathIsReadWrite=
78 ✓ AssertDirectoryNotEmpty=
79 ✓ AssertFileNotEmpty=
80 ✓ AssertFileIsExecutable=
81 ✓ AssertNeedsUpdate=
82 ✓ AssertFirstBoot=
83 ✓ AssertKernelCommandLine=
84 ✓ AssertKernelVersion=
85 ✓ AssertArchitecture=
86 ✓ AssertVirtualization=
87 ✓ AssertSecurity=
88 ✓ AssertCapability=
89 ✓ AssertHost=
90 ✓ AssertACPower=
91 ✓ AssertUser=
92 ✓ AssertGroup=
93 ✓ AssertControlGroupController=
94 ✓ CollectMode=
95 ```
96
97 ## Execution-Related Settings
98
99 All execution-related settings are available for transient units.
100
101 ```
102 ✓ WorkingDirectory=
103 ✓ RootDirectory=
104 ✓ RootImage=
105 ✓ User=
106 ✓ Group=
107 ✓ SupplementaryGroups=
108 ✓ Nice=
109 ✓ OOMScoreAdjust=
110 ✓ IOSchedulingClass=
111 ✓ IOSchedulingPriority=
112 ✓ CPUSchedulingPolicy=
113 ✓ CPUSchedulingPriority=
114 ✓ CPUSchedulingResetOnFork=
115 ✓ CPUAffinity=
116 ✓ UMask=
117 ✓ Environment=
118 ✓ EnvironmentFile=
119 ✓ PassEnvironment=
120 ✓ UnsetEnvironment=
121 ✓ DynamicUser=
122 ✓ RemoveIPC=
123 ✓ StandardInput=
124 ✓ StandardOutput=
125 ✓ StandardError=
126 ✓ StandardInputText=
127 ✓ StandardInputData=
128 ✓ TTYPath=
129 ✓ TTYReset=
130 ✓ TTYVHangup=
131 ✓ TTYVTDisallocate=
132 ✓ SyslogIdentifier=
133 ✓ SyslogFacility=
134 ✓ SyslogLevel=
135 ✓ SyslogLevelPrefix=
136 ✓ LogLevelMax=
137 ✓ LogExtraFields=
138 ✓ LogRateLimitIntervalSec=
139 ✓ LogRateLimitBurst=
140 ✓ SecureBits=
141 ✓ CapabilityBoundingSet=
142 ✓ AmbientCapabilities=
143 ✓ TimerSlackNSec=
144 ✓ NoNewPrivileges=
145 ✓ KeyringMode=
146 ✓ SystemCallFilter=
147 ✓ SystemCallArchitectures=
148 ✓ SystemCallErrorNumber=
149 ✓ MemoryDenyWriteExecute=
150 ✓ RestrictNamespaces=
151 ✓ RestrictRealtime=
152 ✓ RestrictAddressFamilies=
153 ✓ LockPersonality=
154 ✓ LimitCPU=
155 ✓ LimitFSIZE=
156 ✓ LimitDATA=
157 ✓ LimitSTACK=
158 ✓ LimitCORE=
159 ✓ LimitRSS=
160 ✓ LimitNOFILE=
161 ✓ LimitAS=
162 ✓ LimitNPROC=
163 ✓ LimitMEMLOCK=
164 ✓ LimitLOCKS=
165 ✓ LimitSIGPENDING=
166 ✓ LimitMSGQUEUE=
167 ✓ LimitNICE=
168 ✓ LimitRTPRIO=
169 ✓ LimitRTTIME=
170 ✓ ReadWritePaths=
171 ✓ ReadOnlyPaths=
172 ✓ InaccessiblePaths=
173 ✓ BindPaths=
174 ✓ BindReadOnlyPaths=
175 ✓ TemporaryFileSystem=
176 ✓ PrivateTmp=
177 ✓ PrivateDevices=
178 ✓ PrivateMounts=
179 ✓ ProtectKernelTunables=
180 ✓ ProtectKernelModules=
181 ✓ ProtectControlGroups=
182 ✓ PrivateNetwork=
183 ✓ PrivateUsers=
184 ✓ ProtectSystem=
185 ✓ ProtectHome=
186 ✓ MountFlags=
187 ✓ MountAPIVFS=
188 ✓ Personality=
189 ✓ RuntimeDirectoryPreserve=
190 ✓ RuntimeDirectoryMode=
191 ✓ RuntimeDirectory=
192 ✓ StateDirectoryMode=
193 ✓ StateDirectory=
194 ✓ CacheDirectoryMode=
195 ✓ CacheDirectory=
196 ✓ LogsDirectoryMode=
197 ✓ LogsDirectory=
198 ✓ ConfigurationDirectoryMode=
199 ✓ ConfigurationDirectory=
200 ✓ PAMName=
201 ✓ IgnoreSIGPIPE=
202 ✓ UtmpIdentifier=
203 ✓ UtmpMode=
204 ✓ SELinuxContext=
205 ✓ SmackProcessLabel=
206 ✓ AppArmorProfile=
207 ✓ Slice=
208 ```
209
210 ## Resource Control Settings
211
212 All cgroup/resource control settings are available for transient units
213
214 ```
215 ✓ CPUAccounting=
216 ✓ CPUWeight=
217 ✓ StartupCPUWeight=
218 ✓ CPUShares=
219 ✓ StartupCPUShares=
220 ✓ CPUQuota=
221 ✓ MemoryAccounting=
222 ✓ MemoryMin=
223 ✓ MemoryLow=
224 ✓ MemoryHigh=
225 ✓ MemoryMax=
226 ✓ MemorySwapMax=
227 ✓ MemoryLimit=
228 ✓ DeviceAllow=
229 ✓ DevicePolicy=
230 ✓ IOAccounting=
231 ✓ IOWeight=
232 ✓ StartupIOWeight=
233 ✓ IODeviceWeight=
234 ✓ IOReadBandwidthMax=
235 ✓ IOWriteBandwidthMax=
236 ✓ IOReadIOPSMax=
237 ✓ IOWriteIOPSMax=
238 ✓ BlockIOAccounting=
239 ✓ BlockIOWeight=
240 ✓ StartupBlockIOWeight=
241 ✓ BlockIODeviceWeight=
242 ✓ BlockIOReadBandwidth=
243 ✓ BlockIOWriteBandwidth=
244 ✓ TasksAccounting=
245 ✓ TasksMax=
246 ✓ Delegate=
247 ✓ IPAccounting=
248 ✓ IPAddressAllow=
249 ✓ IPAddressDeny=
250 ```
251
252 ## Process Killing Settings
253
254 All process killing settings are available for transient units:
255
256 ```
257 ✓ SendSIGKILL=
258 ✓ SendSIGHUP=
259 ✓ KillMode=
260 ✓ KillSignal=
261 ✓ FinalKillSignal=
262 ✓ WatchdogSignal=
263 ```
264
265 ## Service Unit Settings
266
267 Most service unit settings are available for transient units.
268
269 ```
270 ✓ PIDFile=
271 ✓ ExecStartPre=
272 ✓ ExecStart=
273 ✓ ExecStartPost=
274 ✓ ExecReload=
275 ✓ ExecStop=
276 ✓ ExecStopPost=
277 ✓ RestartSec=
278 ✓ TimeoutStartSec=
279 ✓ TimeoutStopSec=
280 ✓ TimeoutSec=
281 ✓ RuntimeMaxSec=
282 ✓ WatchdogSec=
283 ✓ Type=
284 ✓ Restart=
285 ✓ RootDirectoryStartOnly=
286 ✓ RemainAfterExit=
287 ✓ GuessMainPID=
288 ✓ RestartPreventExitStatus=
289 ✓ RestartForceExitStatus=
290 ✓ SuccessExitStatus=
291 ✓ NonBlocking=
292 ✓ BusName=
293 ✓ FileDescriptorStoreMax=
294 ✓ NotifyAccess=
295 Sockets=
296 ✓ USBFunctionDescriptors=
297 ✓ USBFunctionStrings=
298 ```
299
300 ## Mount Unit Settings
301
302 All mount unit settings are available to transient units:
303
304 ```
305 ✓ What=
306 ✓ Where=
307 ✓ Options=
308 ✓ Type=
309 ✓ TimeoutSec=
310 ✓ DirectoryMode=
311 ✓ SloppyOptions=
312 ✓ LazyUnmount=
313 ✓ ForceUnmount=
314 ```
315
316 ## Automount Unit Settings
317
318 All automount unit setting is available to transient units:
319
320 ```
321 ✓ Where=
322 ✓ DirectoryMode=
323 ✓ TimeoutIdleSec=
324 ```
325
326 ## Timer Unit Settings
327
328 Most timer unit settings are available to transient units.
329
330 ```
331 ✓ OnCalendar=
332 ✓ OnActiveSec=
333 ✓ OnBootSec=
334 ✓ OnStartupSec=
335 ✓ OnUnitActiveSec=
336 ✓ OnUnitInactiveSec=
337 ✓ Persistent=
338 ✓ WakeSystem=
339 ✓ RemainAfterElapse=
340 ✓ AccuracySec=
341 ✓ RandomizedDelaySec=
342 Unit=
343 ```
344
345 ## Slice Unit Settings
346
347 Slice units are fully supported as transient units, but they have no settings
348 of their own beyond the generic unit and resource control settings.
349
350 ## Scope Unit Settings
351
352 Scope units are fully supported as transient units (in fact they only exist as
353 such).
354
355 ```
356 ✓ TimeoutStopSec=
357 ```
358
359 ## Socket Unit Settings
360
361 Most socket unit settings are available to transient units.
362
363 ```
364 ✓ ListenStream=
365 ✓ ListenDatagram=
366 ✓ ListenSequentialPacket=
367 ✓ ListenFIFO=
368 ✓ ListenNetlink=
369 ✓ ListenSpecial=
370 ✓ ListenMessageQueue=
371 ✓ ListenUSBFunction=
372 ✓ SocketProtocol=
373 ✓ BindIPv6Only=
374 ✓ Backlog=
375 ✓ BindToDevice=
376 ✓ ExecStartPre=
377 ✓ ExecStartPost=
378 ✓ ExecStopPre=
379 ✓ ExecStopPost=
380 ✓ TimeoutSec=
381 ✓ SocketUser=
382 ✓ SocketGroup=
383 ✓ SocketMode=
384 ✓ DirectoryMode=
385 ✓ Accept=
386 ✓ Writable=
387 ✓ MaxConnections=
388 ✓ MaxConnectionsPerSource=
389 ✓ KeepAlive=
390 ✓ KeepAliveTimeSec=
391 ✓ KeepAliveIntervalSec=
392 ✓ KeepAliveProbes=
393 ✓ DeferAcceptSec=
394 ✓ NoDelay=
395 ✓ Priority=
396 ✓ ReceiveBuffer=
397 ✓ SendBuffer=
398 ✓ IPTOS=
399 ✓ IPTTL=
400 ✓ Mark=
401 ✓ PipeSize=
402 ✓ FreeBind=
403 ✓ Transparent=
404 ✓ Broadcast=
405 ✓ PassCredentials=
406 ✓ PassSecurity=
407 ✓ TCPCongestion=
408 ✓ ReusePort=
409 ✓ MessageQueueMaxMessages=
410 ✓ MessageQueueMessageSize=
411 ✓ RemoveOnStop=
412 ✓ Symlinks=
413 ✓ FileDescriptorName=
414 Service=
415 ✓ TriggerLimitIntervalSec=
416 ✓ TriggerLimitBurst=
417 ✓ SmackLabel=
418 ✓ SmackLabelIPIn=
419 ✓ SmackLabelIPOut=
420 ✓ SELinuxContextFromNet=
421 ```
422
423 ## Swap Unit Settings
424
425 Swap units are currently not available at all as transient units:
426
427 ```
428 What=
429 Priority=
430 Options=
431 TimeoutSec=
432 ```
433
434 ## Path Unit Settings
435
436 Most path unit settings are available to transient units.
437
438 ```
439 ✓ PathExists=
440 ✓ PathExistsGlob=
441 ✓ PathChanged=
442 ✓ PathModified=
443 ✓ DirectoryNotEmpty=
444 Unit=
445 ✓ MakeDirectory=
446 ✓ DirectoryMode=
447 ```
448
449 ## Install Section
450
451 The `[Install]` section is currently not available at all for transient units, and it probably doesn't even make sense.
452
453 ```
454 Alias=
455 WantedBy=
456 RequiredBy=
457 Also=
458 DefaultInstance=
459 ```