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