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