]> git.ipfire.org Git - thirdparty/systemd.git/blob - docs/TRANSIENT-SETTINGS.md
Merge pull request #15377 from poettering/userdb-no-shadow
[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 ✓ LockPersonality=
163 ✓ LimitCPU=
164 ✓ LimitFSIZE=
165 ✓ LimitDATA=
166 ✓ LimitSTACK=
167 ✓ LimitCORE=
168 ✓ LimitRSS=
169 ✓ LimitNOFILE=
170 ✓ LimitAS=
171 ✓ LimitNPROC=
172 ✓ LimitMEMLOCK=
173 ✓ LimitLOCKS=
174 ✓ LimitSIGPENDING=
175 ✓ LimitMSGQUEUE=
176 ✓ LimitNICE=
177 ✓ LimitRTPRIO=
178 ✓ LimitRTTIME=
179 ✓ ReadWritePaths=
180 ✓ ReadOnlyPaths=
181 ✓ InaccessiblePaths=
182 ✓ BindPaths=
183 ✓ BindReadOnlyPaths=
184 ✓ TemporaryFileSystem=
185 ✓ PrivateTmp=
186 ✓ PrivateDevices=
187 ✓ PrivateMounts=
188 ✓ ProtectKernelTunables=
189 ✓ ProtectKernelModules=
190 ✓ ProtectKernelLogs=
191 ✓ ProtectControlGroups=
192 ✓ PrivateNetwork=
193 ✓ PrivateUsers=
194 ✓ ProtectSystem=
195 ✓ ProtectHome=
196 ✓ ProtectClock=
197 ✓ MountFlags=
198 ✓ MountAPIVFS=
199 ✓ Personality=
200 ✓ RuntimeDirectoryPreserve=
201 ✓ RuntimeDirectoryMode=
202 ✓ RuntimeDirectory=
203 ✓ StateDirectoryMode=
204 ✓ StateDirectory=
205 ✓ CacheDirectoryMode=
206 ✓ CacheDirectory=
207 ✓ LogsDirectoryMode=
208 ✓ LogsDirectory=
209 ✓ ConfigurationDirectoryMode=
210 ✓ ConfigurationDirectory=
211 ✓ PAMName=
212 ✓ IgnoreSIGPIPE=
213 ✓ UtmpIdentifier=
214 ✓ UtmpMode=
215 ✓ SELinuxContext=
216 ✓ SmackProcessLabel=
217 ✓ AppArmorProfile=
218 ✓ Slice=
219 ```
220
221 ## Resource Control Settings
222
223 All cgroup/resource control settings are available for transient units
224
225 ```
226 ✓ CPUAccounting=
227 ✓ CPUWeight=
228 ✓ StartupCPUWeight=
229 ✓ CPUShares=
230 ✓ StartupCPUShares=
231 ✓ CPUQuota=
232 ✓ CPUQuotaPeriodSec=
233 ✓ AllowedCPUs=
234 ✓ AllowedMemoryNodes=
235 ✓ MemoryAccounting=
236 ✓ DefaultMemoryMin=
237 ✓ MemoryMin=
238 ✓ DefaultMemoryLow=
239 ✓ MemoryLow=
240 ✓ MemoryHigh=
241 ✓ MemoryMax=
242 ✓ MemorySwapMax=
243 ✓ MemoryLimit=
244 ✓ DeviceAllow=
245 ✓ DevicePolicy=
246 ✓ IOAccounting=
247 ✓ IOWeight=
248 ✓ StartupIOWeight=
249 ✓ IODeviceWeight=
250 ✓ IOReadBandwidthMax=
251 ✓ IOWriteBandwidthMax=
252 ✓ IOReadIOPSMax=
253 ✓ IOWriteIOPSMax=
254 ✓ BlockIOAccounting=
255 ✓ BlockIOWeight=
256 ✓ StartupBlockIOWeight=
257 ✓ BlockIODeviceWeight=
258 ✓ BlockIOReadBandwidth=
259 ✓ BlockIOWriteBandwidth=
260 ✓ TasksAccounting=
261 ✓ TasksMax=
262 ✓ Delegate=
263 ✓ DisableControllers=
264 ✓ IPAccounting=
265 ✓ IPAddressAllow=
266 ✓ IPAddressDeny=
267 ```
268
269 ## Process Killing Settings
270
271 All process killing settings are available for transient units:
272
273 ```
274 ✓ SendSIGKILL=
275 ✓ SendSIGHUP=
276 ✓ KillMode=
277 ✓ KillSignal=
278 ✓ RestartKillSignal=
279 ✓ FinalKillSignal=
280 ✓ WatchdogSignal=
281 ```
282
283 ## Service Unit Settings
284
285 Most service unit settings are available for transient units.
286
287 ```
288 ✓ PIDFile=
289 ✓ ExecCondition=
290 ✓ ExecStartPre=
291 ✓ ExecStart=
292 ✓ ExecStartPost=
293 ✓ ExecReload=
294 ✓ ExecStop=
295 ✓ ExecStopPost=
296 ✓ RestartSec=
297 ✓ TimeoutStartSec=
298 ✓ TimeoutStopSec=
299 ✓ TimeoutAbortSec=
300 ✓ TimeoutSec=
301 ✓ RuntimeMaxSec=
302 ✓ WatchdogSec=
303 ✓ Type=
304 ✓ Restart=
305 ✓ RootDirectoryStartOnly=
306 ✓ RemainAfterExit=
307 ✓ GuessMainPID=
308 ✓ RestartPreventExitStatus=
309 ✓ RestartForceExitStatus=
310 ✓ SuccessExitStatus=
311 ✓ NonBlocking=
312 ✓ BusName=
313 ✓ FileDescriptorStoreMax=
314 ✓ NotifyAccess=
315 Sockets=
316 ✓ USBFunctionDescriptors=
317 ✓ USBFunctionStrings=
318 ✓ OOMPolicy=
319 ```
320
321 ## Mount Unit Settings
322
323 All mount unit settings are available to transient units:
324
325 ```
326 ✓ What=
327 ✓ Where=
328 ✓ Options=
329 ✓ Type=
330 ✓ TimeoutSec=
331 ✓ DirectoryMode=
332 ✓ SloppyOptions=
333 ✓ LazyUnmount=
334 ✓ ForceUnmount=
335 ```
336
337 ## Automount Unit Settings
338
339 All automount unit setting is available to transient units:
340
341 ```
342 ✓ Where=
343 ✓ DirectoryMode=
344 ✓ TimeoutIdleSec=
345 ```
346
347 ## Timer Unit Settings
348
349 Most timer unit settings are available to transient units.
350
351 ```
352 ✓ OnActiveSec=
353 ✓ OnBootSec=
354 ✓ OnCalendar=
355 ✓ OnClockChange=
356 ✓ OnStartupSec=
357 ✓ OnTimezoneChange=
358 ✓ OnUnitActiveSec=
359 ✓ OnUnitInactiveSec=
360 ✓ Persistent=
361 ✓ WakeSystem=
362 ✓ RemainAfterElapse=
363 ✓ AccuracySec=
364 ✓ RandomizedDelaySec=
365 Unit=
366 ```
367
368 ## Slice Unit Settings
369
370 Slice units are fully supported as transient units, but they have no settings
371 of their own beyond the generic unit and resource control settings.
372
373 ## Scope Unit Settings
374
375 Scope units are fully supported as transient units (in fact they only exist as
376 such).
377
378 ```
379 ✓ RuntimeMaxSec=
380 ✓ TimeoutStopSec=
381 ```
382
383 ## Socket Unit Settings
384
385 Most socket unit settings are available to transient units.
386
387 ```
388 ✓ ListenStream=
389 ✓ ListenDatagram=
390 ✓ ListenSequentialPacket=
391 ✓ ListenFIFO=
392 ✓ ListenNetlink=
393 ✓ ListenSpecial=
394 ✓ ListenMessageQueue=
395 ✓ ListenUSBFunction=
396 ✓ SocketProtocol=
397 ✓ BindIPv6Only=
398 ✓ Backlog=
399 ✓ BindToDevice=
400 ✓ ExecStartPre=
401 ✓ ExecStartPost=
402 ✓ ExecStopPre=
403 ✓ ExecStopPost=
404 ✓ TimeoutSec=
405 ✓ SocketUser=
406 ✓ SocketGroup=
407 ✓ SocketMode=
408 ✓ DirectoryMode=
409 ✓ Accept=
410 ✓ Writable=
411 ✓ MaxConnections=
412 ✓ MaxConnectionsPerSource=
413 ✓ KeepAlive=
414 ✓ KeepAliveTimeSec=
415 ✓ KeepAliveIntervalSec=
416 ✓ KeepAliveProbes=
417 ✓ DeferAcceptSec=
418 ✓ NoDelay=
419 ✓ Priority=
420 ✓ ReceiveBuffer=
421 ✓ SendBuffer=
422 ✓ IPTOS=
423 ✓ IPTTL=
424 ✓ Mark=
425 ✓ PipeSize=
426 ✓ FreeBind=
427 ✓ Transparent=
428 ✓ Broadcast=
429 ✓ PassCredentials=
430 ✓ PassSecurity=
431 ✓ TCPCongestion=
432 ✓ ReusePort=
433 ✓ MessageQueueMaxMessages=
434 ✓ MessageQueueMessageSize=
435 ✓ RemoveOnStop=
436 ✓ Symlinks=
437 ✓ FileDescriptorName=
438 Service=
439 ✓ TriggerLimitIntervalSec=
440 ✓ TriggerLimitBurst=
441 ✓ SmackLabel=
442 ✓ SmackLabelIPIn=
443 ✓ SmackLabelIPOut=
444 ✓ SELinuxContextFromNet=
445 ```
446
447 ## Swap Unit Settings
448
449 Swap units are currently not available at all as transient units:
450
451 ```
452 What=
453 Priority=
454 Options=
455 TimeoutSec=
456 ```
457
458 ## Path Unit Settings
459
460 Most path unit settings are available to transient units.
461
462 ```
463 ✓ PathExists=
464 ✓ PathExistsGlob=
465 ✓ PathChanged=
466 ✓ PathModified=
467 ✓ DirectoryNotEmpty=
468 Unit=
469 ✓ MakeDirectory=
470 ✓ DirectoryMode=
471 ```
472
473 ## Install Section
474
475 The `[Install]` section is currently not available at all for transient units, and it probably doesn't even make sense.
476
477 ```
478 Alias=
479 WantedBy=
480 RequiredBy=
481 Also=
482 DefaultInstance=
483 ```