]> git.ipfire.org Git - thirdparty/systemd.git/blame - docs/TRANSIENT-SETTINGS.md
Merge pull request #16841 from keszybz/acl-util-bitmask
[thirdparty/systemd.git] / docs / TRANSIENT-SETTINGS.md
CommitLineData
c3e270f4 1---
b35ec8de 2title: What Settings Are Currently Available For Transient Units?
4cdca0af 3category: Interfaces
b41a3f66 4layout: default
c3e270f4
FB
5---
6
b35ec8de 7# What Settings Are Currently Available For Transient Units?
91d2f195
LP
8
9Our intention is to make all settings that are available as unit file settings
b096d14c
ZJS
10also available for transient units, through the D-Bus API. At the moment,
11device, swap, and target units are not supported at all as transient units, but
12others are pretty well supported.
91d2f195
LP
13
14The lists below contain all settings currently available in unit files. The
15ones currently available in transient units are prefixed with `✓`.
16
17## Generic Unit Settings
18
c0d64e0e 19Most generic unit settings are available for transient units.
91d2f195
LP
20
21```
22✓ Description=
c0d64e0e
YW
23✓ Documentation=
24✓ SourcePath=
91d2f195
LP
25✓ Requires=
26✓ Requisite=
27✓ Wants=
28✓ BindsTo=
29✓ Conflicts=
30✓ Before=
31✓ After=
32✓ OnFailure=
33✓ PropagatesReloadTo=
34✓ ReloadPropagatedFrom=
35✓ PartOf=
c0d64e0e
YW
36✓ JoinsNamespaceOf=
37✓ RequiresMountsFor=
38✓ StopWhenUnneeded=
39✓ RefuseManualStart=
40✓ RefuseManualStop=
41✓ AllowIsolate=
91d2f195 42✓ DefaultDependencies=
c0d64e0e
YW
43✓ OnFailureJobMode=
44✓ IgnoreOnIsolate=
45✓ JobTimeoutSec=
46✓ JobRunningTimeoutSec=
47✓ JobTimeoutAction=
48✓ JobTimeoutRebootArgument=
370f0dc8
ZJS
49✓ StartLimitIntervalSec=
50✓ StartLimitBurst=
51✓ StartLimitAction=
91d2f195
LP
52✓ FailureAction=
53✓ SuccessAction=
7af67e9a
LP
54✓ FailureActionExitStatus=
55✓ SuccessActionExitStatus=
370f0dc8 56✓ RebootArgument=
c0d64e0e
YW
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=
91d2f195
LP
101✓ CollectMode=
102```
103
104## Execution-Related Settings
105
106All 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=
ad21e542 117✓ CoredumpFilter=
91d2f195
LP
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=
90fc172e
AZ
146✓ LogRateLimitIntervalSec=
147✓ LogRateLimitBurst=
91d2f195
LP
148✓ SecureBits=
149✓ CapabilityBoundingSet=
150✓ AmbientCapabilities=
151✓ TimerSlackNSec=
152✓ NoNewPrivileges=
153✓ KeyringMode=
4e399953
LP
154✓ ProtectProc=
155✓ ProcSubset=
91d2f195
LP
156✓ SystemCallFilter=
157✓ SystemCallArchitectures=
158✓ SystemCallErrorNumber=
159✓ MemoryDenyWriteExecute=
160✓ RestrictNamespaces=
161✓ RestrictRealtime=
7445db6e 162✓ RestrictSUIDSGID=
91d2f195 163✓ RestrictAddressFamilies=
830ffbce
YW
164✓ RootHash=
165✓ RootHashSignature=
166✓ RootVerity=
91d2f195
LP
167✓ LockPersonality=
168✓ LimitCPU=
169✓ LimitFSIZE=
170✓ LimitDATA=
171✓ LimitSTACK=
172✓ LimitCORE=
173✓ LimitRSS=
174✓ LimitNOFILE=
175✓ LimitAS=
176✓ LimitNPROC=
177✓ LimitMEMLOCK=
178✓ LimitLOCKS=
179✓ LimitSIGPENDING=
180✓ LimitMSGQUEUE=
181✓ LimitNICE=
182✓ LimitRTPRIO=
183✓ LimitRTTIME=
184✓ ReadWritePaths=
185✓ ReadOnlyPaths=
186✓ InaccessiblePaths=
187✓ BindPaths=
188✓ BindReadOnlyPaths=
24743efe 189✓ TemporaryFileSystem=
91d2f195
LP
190✓ PrivateTmp=
191✓ PrivateDevices=
31f06f56 192✓ PrivateMounts=
91d2f195
LP
193✓ ProtectKernelTunables=
194✓ ProtectKernelModules=
b096d14c 195✓ ProtectKernelLogs=
91d2f195
LP
196✓ ProtectControlGroups=
197✓ PrivateNetwork=
198✓ PrivateUsers=
199✓ ProtectSystem=
200✓ ProtectHome=
022d3345 201✓ ProtectClock=
91d2f195
LP
202✓ MountFlags=
203✓ MountAPIVFS=
204✓ Personality=
205✓ RuntimeDirectoryPreserve=
206✓ RuntimeDirectoryMode=
207✓ RuntimeDirectory=
208✓ StateDirectoryMode=
209✓ StateDirectory=
210✓ CacheDirectoryMode=
211✓ CacheDirectory=
212✓ LogsDirectoryMode=
213✓ LogsDirectory=
214✓ ConfigurationDirectoryMode=
215✓ ConfigurationDirectory=
216✓ PAMName=
217✓ IgnoreSIGPIPE=
218✓ UtmpIdentifier=
219✓ UtmpMode=
220✓ SELinuxContext=
221✓ SmackProcessLabel=
222✓ AppArmorProfile=
223✓ Slice=
224```
225
226## Resource Control Settings
227
228All cgroup/resource control settings are available for transient units
229
230```
231✓ CPUAccounting=
232✓ CPUWeight=
233✓ StartupCPUWeight=
234✓ CPUShares=
235✓ StartupCPUShares=
236✓ CPUQuota=
10f28641 237✓ CPUQuotaPeriodSec=
047f5d63
PH
238✓ AllowedCPUs=
239✓ AllowedMemoryNodes=
91d2f195 240✓ MemoryAccounting=
acdb4b52 241✓ DefaultMemoryMin=
48422635 242✓ MemoryMin=
c52db42b 243✓ DefaultMemoryLow=
91d2f195
LP
244✓ MemoryLow=
245✓ MemoryHigh=
246✓ MemoryMax=
247✓ MemorySwapMax=
248✓ MemoryLimit=
249✓ DeviceAllow=
250✓ DevicePolicy=
251✓ IOAccounting=
252✓ IOWeight=
253✓ StartupIOWeight=
254✓ IODeviceWeight=
255✓ IOReadBandwidthMax=
256✓ IOWriteBandwidthMax=
257✓ IOReadIOPSMax=
258✓ IOWriteIOPSMax=
259✓ BlockIOAccounting=
260✓ BlockIOWeight=
261✓ StartupBlockIOWeight=
262✓ BlockIODeviceWeight=
263✓ BlockIOReadBandwidth=
264✓ BlockIOWriteBandwidth=
265✓ TasksAccounting=
266✓ TasksMax=
267✓ Delegate=
25cc30c4 268✓ DisableControllers=
91d2f195
LP
269✓ IPAccounting=
270✓ IPAddressAllow=
271✓ IPAddressDeny=
272```
273
274## Process Killing Settings
275
276All process killing settings are available for transient units:
277
278```
279✓ SendSIGKILL=
280✓ SendSIGHUP=
281✓ KillMode=
282✓ KillSignal=
b096d14c 283✓ RestartKillSignal=
fbb48d4c 284✓ FinalKillSignal=
c87700a1 285✓ WatchdogSignal=
91d2f195
LP
286```
287
288## Service Unit Settings
289
c0d64e0e 290Most service unit settings are available for transient units.
91d2f195
LP
291
292```
830ffbce 293✓ BusName=
31cd5f63 294✓ ExecCondition=
830ffbce 295✓ ExecReload=
91d2f195
LP
296✓ ExecStart=
297✓ ExecStartPost=
830ffbce 298✓ ExecStartPre=
91d2f195
LP
299✓ ExecStop=
300✓ ExecStopPost=
830ffbce 301✓ FileDescriptorStoreMax=
c0d64e0e 302✓ GuessMainPID=
91d2f195 303✓ NonBlocking=
91d2f195 304✓ NotifyAccess=
830ffbce
YW
305✓ OOMPolicy=
306✓ PIDFile=
307✓ RemainAfterExit=
308✓ Restart=
309✓ RestartForceExitStatus=
310✓ RestartPreventExitStatus=
311✓ RestartSec=
312✓ RootDirectoryStartOnly=
313✓ RuntimeMaxSec=
91d2f195 314 Sockets=
830ffbce
YW
315✓ SuccessExitStatus=
316✓ TimeoutAbortSec=
317✓ TimeoutSec=
318✓ TimeoutStartFailureMode=
319✓ TimeoutStartSec=
320✓ TimeoutStopFailureMode=
321✓ TimeoutStopSec=
322✓ Type=
c0d64e0e
YW
323✓ USBFunctionDescriptors=
324✓ USBFunctionStrings=
830ffbce 325✓ WatchdogSec=
91d2f195
LP
326```
327
328## Mount Unit Settings
329
c0d64e0e 330All mount unit settings are available to transient units:
91d2f195
LP
331
332```
333✓ What=
c0d64e0e 334✓ Where=
91d2f195
LP
335✓ Options=
336✓ Type=
c0d64e0e
YW
337✓ TimeoutSec=
338✓ DirectoryMode=
339✓ SloppyOptions=
340✓ LazyUnmount=
341✓ ForceUnmount=
75f4bd7f 342✓ ReadWriteOnly=
91d2f195
LP
343```
344
345## Automount Unit Settings
346
c0d64e0e 347All automount unit setting is available to transient units:
91d2f195
LP
348
349```
c0d64e0e
YW
350✓ Where=
351✓ DirectoryMode=
91d2f195
LP
352✓ TimeoutIdleSec=
353```
354
355## Timer Unit Settings
356
357Most timer unit settings are available to transient units.
358
359```
91d2f195
LP
360✓ OnActiveSec=
361✓ OnBootSec=
efebb613
LP
362✓ OnCalendar=
363✓ OnClockChange=
91d2f195 364✓ OnStartupSec=
0810e396 365✓ OnTimezoneChange=
91d2f195
LP
366✓ OnUnitActiveSec=
367✓ OnUnitInactiveSec=
d852bda1 368✓ Persistent=
91d2f195
LP
369✓ WakeSystem=
370✓ RemainAfterElapse=
371✓ AccuracySec=
372✓ RandomizedDelaySec=
373 Unit=
374```
375
376## Slice Unit Settings
377
378Slice units are fully supported as transient units, but they have no settings
379of their own beyond the generic unit and resource control settings.
380
381## Scope Unit Settings
382
383Scope units are fully supported as transient units (in fact they only exist as
c0d64e0e
YW
384such).
385
386```
9ed7de60 387✓ RuntimeMaxSec=
c0d64e0e
YW
388✓ TimeoutStopSec=
389```
91d2f195
LP
390
391## Socket Unit Settings
392
8a211c8e 393Most socket unit settings are available to transient units.
91d2f195
LP
394
395```
8a211c8e
YW
396✓ ListenStream=
397✓ ListenDatagram=
398✓ ListenSequentialPacket=
399✓ ListenFIFO=
400✓ ListenNetlink=
401✓ ListenSpecial=
402✓ ListenMessageQueue=
403✓ ListenUSBFunction=
404✓ SocketProtocol=
405✓ BindIPv6Only=
406✓ Backlog=
407✓ BindToDevice=
408✓ ExecStartPre=
409✓ ExecStartPost=
410✓ ExecStopPre=
411✓ ExecStopPost=
412✓ TimeoutSec=
413✓ SocketUser=
414✓ SocketGroup=
415✓ SocketMode=
416✓ DirectoryMode=
417✓ Accept=
418✓ Writable=
419✓ MaxConnections=
420✓ MaxConnectionsPerSource=
421✓ KeepAlive=
422✓ KeepAliveTimeSec=
423✓ KeepAliveIntervalSec=
424✓ KeepAliveProbes=
425✓ DeferAcceptSec=
426✓ NoDelay=
427✓ Priority=
428✓ ReceiveBuffer=
429✓ SendBuffer=
430✓ IPTOS=
431✓ IPTTL=
432✓ Mark=
433✓ PipeSize=
434✓ FreeBind=
435✓ Transparent=
436✓ Broadcast=
437✓ PassCredentials=
438✓ PassSecurity=
a3d19f5d 439✓ PassPacketInfo=
8a211c8e
YW
440✓ TCPCongestion=
441✓ ReusePort=
442✓ MessageQueueMaxMessages=
443✓ MessageQueueMessageSize=
444✓ RemoveOnStop=
445✓ Symlinks=
446✓ FileDescriptorName=
91d2f195 447 Service=
8a211c8e
YW
448✓ TriggerLimitIntervalSec=
449✓ TriggerLimitBurst=
450✓ SmackLabel=
451✓ SmackLabelIPIn=
452✓ SmackLabelIPOut=
453✓ SELinuxContextFromNet=
91d2f195
LP
454```
455
456## Swap Unit Settings
457
458Swap units are currently not available at all as transient units:
459
460```
461 What=
462 Priority=
463 Options=
464 TimeoutSec=
465```
466
467## Path Unit Settings
468
d852bda1 469Most path unit settings are available to transient units.
91d2f195
LP
470
471```
d852bda1
YW
472✓ PathExists=
473✓ PathExistsGlob=
474✓ PathChanged=
475✓ PathModified=
476✓ DirectoryNotEmpty=
91d2f195 477 Unit=
d852bda1
YW
478✓ MakeDirectory=
479✓ DirectoryMode=
91d2f195
LP
480```
481
482## Install Section
483
484The `[Install]` section is currently not available at all for transient units, and it probably doesn't even make sense.
485
486```
487 Alias=
488 WantedBy=
489 RequiredBy=
490 Also=
491 DefaultInstance=
492```