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