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