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