1
0
mirror of https://github.com/Wind4/vlmcsd.git synced 2024-11-25 03:21:03 +08:00
vlmcsd/man/vlmcsd.ini.5.html
2018-10-23 23:46:00 -04:00

727 lines
27 KiB
HTML

<!-- Creator : groff version 1.22.3 -->
<!-- CreationDate: Sat Oct 20 09:49:39 2018 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title>VLMCSD.INI</title>
</head>
<body>
<h1 align="center">VLMCSD.INI</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#SYNTAX">SYNTAX</a><br>
<a href="#KEYWORDS">KEYWORDS</a><br>
<a href="#VALID EPIDS">VALID EPIDS</a><br>
<a href="#FILES">FILES</a><br>
<a href="#AUTHOR">AUTHOR</a><br>
<a href="#CREDITS">CREDITS</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<h2>NAME
<a name="NAME"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd.ini</b>
- vlmcsd KMS emulator configuration file</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd.ini</b></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd.ini</b>
(or simply called the &quot;ini file&quot;) is a
configuration file for <b>vlmcsd</b>(8). By default vlmcsd
does not use a configuration file. It is completely optional
and for advanced users only. You must use the <b>-i</b>
option on the vlmcsd command line to use an ini file. There
is no default name or default location for the ini file.</p>
<p style="margin-left:11%; margin-top: 1em">Everything,
that can be configured in the ini file, may also be
specified on the command line. Any configuration option
specified on the command line takes precedence over the
respective configuration line in the ini file.</p>
<p style="margin-left:11%; margin-top: 1em"><b>Benefits of
a configuration file</b></p>
<p style="margin-left:11%; margin-top: 1em">While you can
use the configuration file to simply modify the default
behavior of vlmcsd, it can also be used to change the
configuration of vlmcsd after you sent a HUP
<b>signal</b>(7). Whenever you send SIGHUP, the
configuration file will be re-read. Any changes you made to
the ini file will be reflected after vlmcsd received the
hangup signal.</p>
<p style="margin-left:11%; margin-top: 1em"><b>Differences
between command line and configuration file</b></p>
<p style="margin-left:11%; margin-top: 1em">If you specify
an illegal option or option argument on the command line,
vlmcsd displays help and exits. If you specify an incorrect
<i>keyword</i> or <i>argument</i> in the ini file, vlmcsd
displays a warning with some information, ignores the
respective line and continues. This is intentional and
prevents vlmcsd from aborting after a SIGHUP if the
configuration was modified incorrectly.</p>
<h2>SYNTAX
<a name="SYNTAX"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">vlmcsd.ini is a
UTF-8 encoded text file with each line being in the format
<i>keyword</i> = <i>argument</i>. The <i>keyword</i> is not
case-sensitive. The <i>argument</i> is treated literally. It
is neither required nor allowed to enclose the
<i>argument</i> in any form of quote characters except when
quote characters are part of the argument itself. Whitespace
characters are ignored only</p>
<p style="margin-left:11%; margin-top: 1em">- at the
beginning of a line <br>
- between the <i>keyword</i> and &rsquo;=&rsquo; <br>
- between &rsquo;=&rsquo; and the <i>argument</i></p>
<p style="margin-left:11%; margin-top: 1em">Lines, that
start with &rsquo;#&rsquo; or &rsquo;;&rsquo; are treated as
comments. Empty lines are ignored as well. If a
<i>keyword</i> is repeated in another line, vlmcsd will use
the <i>argument</i> of the last occurence of the
<i>keyword</i>. An exception to this is the Listen
<i>keyword</i> which can be specified multiple times and
causes vlmcsd to listen on more than one IP address and/or
port.</p>
<p style="margin-left:11%; margin-top: 1em">Some
<i>argument</i>s are binary arguments that need to be either
TRUE or FALSE. You can use &quot;Yes&quot;, &quot;On&quot;
or &quot;1&quot; as an alias for TRUE and &quot;No&quot;,
&quot;Off&quot; or &quot;0&quot; as an alias for FALSE.
Binary arguments are case-insensitive.</p>
<h2>KEYWORDS
<a name="KEYWORDS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">The following
<i>keyword</i>s are defined (not all keywords may be
available depending on the operating system and the options
used when <b>vlmcsd</b>(8) was compiled):</p>
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="9%">
<p><b>Listen</b></p></td>
<td width="2%"></td>
<td width="78%">
<p>This defines on what combinations of IP addresses and
ports vlmcsd should listen. <b>Listen</b> can be specified
more than once. The <i>argument</i> has the form
<i>ipaddress</i>[:<i>port</i>]. If you omit the <i>port</i>,
the default port of 1688 is used. If the <i>ipaddress</i>
contains colons and a <i>port</i> is used, you must enclose
the <i>ipaddress</i> in brackets. The default is to listen
to 0.0.0.0:1688 and [::]:1688 which means listen to all IPv4
and all IPv6 addresses. See the <b>-L</b> option in
<b>vlmcsd</b>(8) for more info about the syntax. If you use
<b>-L</b> or <b>-P</b> on the command line, all
<b>Listen</b> keywords in the ini file will be ignored. The
<b>Listen</b> keyword cannot be used if vlmcsd has been
compiled to use Microsoft RPC (Windows and Cygwin only) or
simple sockets.</p></td></tr>
</table>
<p style="margin-left:22%; margin-top: 1em">Examples:</p>
<p style="margin-left:22%; margin-top: 1em">Listen =
192.168.1.123:1688 <br>
Listen = 0.0.0.0:1234 <br>
Listen = [fe80::1721:12ff:fe81:d36b%eth0]:1688</p>
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="6%">
<p style="margin-top: 1em"><b>Port</b></p></td>
<td width="5%"></td>
<td width="78%">
<p style="margin-top: 1em">Can only be used if vlmcsd has
been compiled to use simple sockets or on Windows and Cygwin
if <b>vlmcsd</b>(8) has been compiled to use Microsoft RPC.
Otherwise you must use <b>Listen</b> instead. Causes vlmcsd
to listen on that port instead of 1688.</p></td></tr>
</table>
<p style="margin-left:11%;"><b>FreeBind</b></p>
<p style="margin-left:22%;">Can be TRUE or FALSE. If TRUE,
you can use the <b>Listen</b> keyword with IP addresses that
are currently not defined on your system. <b>vlmcsd</b>(8)
will start listening on these IP addresses as soon as they
become available. This keyword is only available under Linux
and FreeBSD because no other OS currently supports that
feature. FreeBSD supports this only for IPv4 and requires
the PRIV_NETINET_BINDANY privilege which is normally
assigned to proccesses of the root user.</p>
<p style="margin-left:11%;"><b>PublicIPProtectionLevel</b></p>
<p style="margin-left:22%;">Set the level of protection
against KMS activations from public IP addresses.</p>
<p style="margin-left:22%; margin-top: 1em">0 = No
protection (default) <br>
1&nbsp;=&nbsp;Listen on private IP addresses only (plus
those specified by one or more <b>Listen</b> statements)
<br>
2&nbsp;=&nbsp;Disconnect clients with public IP addresses
without activating <br>
3&nbsp;=&nbsp;Combines 1 and 2</p>
<p style="margin-left:22%; margin-top: 1em">For details on
public IP protection levels see <b>vlmcsd</b>(8) command
line option <b>-o</b>.</p>
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">
<p><b>VPN</b></p></td>
<td width="7%"></td>
<td width="78%">
<p>Has to be in the form
<i>vpn-adapter-name</i>[=<i>ipv4-address</i>][/<i>cidr-mask</i>][:<i>dhcp-lease-duration</i>].</p> </td></tr>
</table>
<p style="margin-left:22%; margin-top: 1em">Enables a
compatible VPN adapter to create additional local IPv4
addresses (like 127.0.0.1) that appear as remote IPv4
addresses to the system. This allows product activation
using a local instance of vlmcsd. This feature is only
available in Windows and Cygwin builds of vlmcsd since it is
not of any use on other operating systems. Compatible VPN
adapters are Tap-windows version 8.2 or higher (from
OpenVPN) and the TeamViewer VPN adapter. There is a special
<i>vpn-adapter-name</i>. A single period (.) instructs
vlmcsd to use the first available compatible VPN adapter.
The <i>vpn-adapter-name</i> is <b>not</b> case-sensitive. If
the <i>vpn-adapter-name</i> contains spaces (e.g. Ethernet
3), do <b>not</b> enclose it in quotes.</p>
<p style="margin-left:22%; margin-top: 1em">The default
<i>ipv4-address</i> is 10.10.10.9 and the default
<i>cidr-mask</i> is 30. If you are using the default values,
your VPN adapter uses an IPv4 address of 10.10.10.9 and you
can set your activation client to use the easy to remember
address 10.10.10.10 (e.g. slmgr /skms 10.10.10.10 or cscript
ospp.vbs /sethst:10.10.10.10).</p>
<p style="margin-left:22%; margin-top: 1em">The
<i>dhcp-lease-duration</i> is a number optionally followed
by s, m, h, d or w to indicate seconds, minutes, hours, days
or weeks. The default <i>dhcp-lease-duration</i> is 1d (one
day). It is normally not required to change this value.</p>
<p style="margin-left:22%; margin-top: 1em">It is advised
not to manually configure your OpenVPN TAP or TeamViewer VPN
adapter in &quot;Network Connections&quot;. If you set the
IPv4 configuration manually anyway, the IPv4 address and the
subnet mask must match the <b>VPN=</b> directive. It is safe
leave the IPv4 configuration to automatic (DHCP). vlmcsd
will wait up to four seconds for the DHCP configuration to
complete before binding to and listenin on any
interfaces.</p>
<p style="margin-left:22%; margin-top: 1em">You should be
aware that only one program can use a VPN adapter at a time.
If you use the TeamViewer VPN adapter for example, you will
not be able to use the VPN feature of TeamViewer as long as
vlmcsd is running. The same applies to OpenVPN TAP adapters
that are in use by other programs (for example OpenVPN,
QEMU, Ratiborus VM, aiccu, etc.). The best way to avoid
conflicts is to install Tap-Windows from OpenVPN, cd to
C:\Program Files\TAP-Windows\bin and run addtap.bat to
install an additional TAP adapter. Go to &quot;Network
Connections&quot; and rename the new adapter to
&quot;vlmcsd&quot; and specify <b>VPN=vlmcsd</b> to use
it.</p>
<p style="margin-left:11%;"><b>ExitLevel</b></p>
<p style="margin-left:22%;">Can be either 0 (the default)
or 1. Controls under what circumstances vlmcsd will exit.
Using the default of <b>0</b> vlmcsd stays active as long as
it can perform some useful operations. If vlmcsd is run by
any form of a watchdog, e.g. NT service manager (Windows),
systemd (Linux) or launchd (Mac OS / iOS), it may be
desirable to end vlmcsd and let the watchdog restart it.
This is especially true if some pre-requisites are not yet
met but will be some time later, e.g. network is not yet
fully setup.</p>
<p style="margin-left:22%; margin-top: 1em">By using
<b>ExitLevel = 0</b> vlmcsd will</p>
<p style="margin-left:29%; margin-top: 1em">exit if none of
the listening sockets specified with <b>-L</b> can be used.
It continues if at least one socket can be setup for
listening.</p>
<p style="margin-left:29%; margin-top: 1em">exit any TAP
mirror thread (Windows version only) if there is an error
condition while reading or writing from or to the VPN
adapter but continue to work without utilizing a VPN
adapter.</p>
<p style="margin-left:22%; margin-top: 1em">By using
<b>ExitLevel = 1</b> vlmcsd will</p>
<p style="margin-left:29%; margin-top: 1em">exit if not all
listening sockets specified with <b>-L</b> can be used.</p>
<p style="margin-left:29%; margin-top: 1em">exit completely
if there is a problem with a VPN adapter it is using. This
may happen for instance if the VPN adapter has been disabled
using &quot;Control Panel - Network - Adapter Settings&quot;
while vlmcsd is using it.</p>
<p style="margin-left:22%; margin-top: 1em">Please note
that <b>ExitLevel = 1</b> is kind of a workaround option.
While it may help under some circumstances, it is better to
solve the problem at its origin, e.g. properly implementing
dependencies in your startup script to ensure all network
interfaces and the VPN adapter you will use are completely
setup before you start vlmcsd.</p>
<p style="margin-left:11%;"><b>UseNDR64</b></p>
<p style="margin-left:22%;">Can be TRUE or FALSE. Specifies
whether you want to use the NDR64 transfer syntax. See
options <b>-n0</b> and <b>-n1</b> in <b>vlmcsd</b>(8). The
default is TRUE.</p>
<p style="margin-left:11%;"><b>UseBTFN</b></p>
<p style="margin-left:22%;">Can be TRUE or FALSE. Specifies
whether you want to use bind time feature negotiation in
RPC. See options <b>-b0</b> and <b>-b1</b> in
<b>vlmcsd</b>(8). The default is TRUE.</p>
<p style="margin-left:11%;"><b>RandomizationLevel</b></p>
<p style="margin-left:22%;">The <i>argument</i> must 0, 1
or 2. This specifies the ePID randomization level. See
options <b>-r0</b>, <b>-r1</b> and <b>-r2</b> in
<b>vlmcsd</b>(8). The default randomization level is 1. A
<b>RandomizationLevel</b> of 2 is not recommended and should
be treated as a debugging level.</p>
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="6%">
<p><b>LCID</b></p></td>
<td width="5%"></td>
<td width="78%">
<p>Use a specific culture id (LCID) even if the ePID is
randomized. The <i>argument</i> must be a number between 1
and 32767. While any number in that range is valid, you
should use an offcial LCID. A list of assigned LCIDs can be
found at
http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx. On
the command line you control this setting with option
<b>-C</b>.</p> </td></tr>
</table>
<p style="margin-left:11%;"><b>HostBuild</b></p>
<p style="margin-left:22%;">Use a specific host build
number in the ePID even if it is randomized. The
<i>argument</i> must be a number between 1 and 65535. While
you can use any number you should only use build numbers
that a released build numbers of Windows Servers, e.g. 17763
for Windows Server 2019.</p>
<p style="margin-left:11%;"><b>MaxWorkers</b></p>
<p style="margin-left:22%;">The <i>argument</i> specifies
the maximum number of worker processes or threads that will
be used to serve activation requests concurrently. This is
the same as specifying <b>-m</b> on the command line.
Minimum is 1. The maximum is platform specific and is at
least 32767 but is likely to be greater on most systems. The
default is no limit.</p>
<p style="margin-left:11%;"><b>ConnectionTimeout</b></p>
<p style="margin-left:22%;">Used to control when the vlmcsd
disconnects idle TPC connections. The default is 30 seconds.
This is the same setting as <b>-t</b> on the command
line.</p>
<p style="margin-left:11%;"><b>DisconnectClientsImmediately</b></p>
<p style="margin-left:22%;">Set this to TRUE to disconnect
a client after it got an activation response regardless
whether a timeout has occured or not. The default is FALSE.
Setting this to TRUE is non-standard behavior. Use only if
you are experiencing DoS or DDoS attacks. On the command
line you control this behavior with options <b>-d</b> and
<b>-k</b>.</p>
<p style="margin-left:11%;"><b>PidFile</b></p>
<p style="margin-left:22%;">Write a pid file. The
<i>argument</i> is the full pathname of a pid file. The pid
file contains is single line containing the process id of
the vlmcsd process. It can be used to stop (SIGTERM) or
restart (SIGHUP) vlmcsd. This directive can be overriden
using <b>-p</b> on the command line.</p>
<p style="margin-left:11%;"><b>LogFile</b></p>
<p style="margin-left:22%;">Write a log file. The
<i>argument</i> is the full pathname of a log file. On a
unixoid OS and with Cygwin you can use the special filename
&rsquo;syslog&rsquo; to log to the syslog facility. This is
the same as specifying <b>-l</b> on the command line.</p>
<p style="margin-left:11%;"><b>KmsData</b></p>
<p style="margin-left:22%;">Use a KMS data file. The
<i>argument</i> is the full pathname of a KMS data file. By
default vlmcsd only contains the minimum product data that
is required to perform all operations correctly. You may use
a more complete KMS data file that contains all detailed
product names. This is especially useful if you are logging
KMS requests. If you don&rsquo;t log, there is no need to
load an external KMS data file.</p>
<p style="margin-left:22%; margin-top: 1em">You may use
<b>KmsData&nbsp;=&nbsp;-</b> to prevent the default KMS data
file to be loaded.</p>
<p style="margin-left:11%;"><b>LogDateAndTime</b></p>
<p style="margin-left:22%;">Can be TRUE or FALSE. The
default is TRUE. If set to FALSE, logging output does not
include date and time. This is useful if you log to
<b>stdout</b>(3) which is redirected to another logging
mechanism that already includes date and time in its output,
for instance <b>systemd-journald</b>(8). If you log to
<b>syslog</b>(3), <b>LogDateAndTime</b> is ignored and date
and time will never be included in the output sent to
<b>syslog</b>(3). Using the command line you control this
setting with options <b>-T0</b> and <b>-T1</b>.</p>
<p style="margin-left:11%;"><b>LogVerbose</b></p>
<p style="margin-left:22%;">Set this to either TRUE or
FALSE. The default is FALSE. If set to TRUE, more details of
each activation will be logged. You use <b>-v</b> and
<b>-q</b> in the command line to control this setting.
<b>LogVerbose</b> has an effect only if you specify a log
file or redirect logging to <b>stdout</b>(3).</p>
<p style="margin-left:11%;"><b>WhitelistingLevel</b></p>
<p style="margin-left:22%;">Can be 0, 1, 2 or 3. The
default is 0. Sets the whitelisting level to determine which
products vlmcsd activates or refuses.</p>
<p style="margin-left:29%; margin-top: 1em"><b>0</b>:
activate all products with an unknown, retail or
beta/preview KMS ID. <b><br>
1</b>: activate products with a retail or beta/preview KMS
ID but refuse to activate products with an unknown KMS ID.
<b><br>
2</b>: activate products with an unknown KMS ID but refuse
products with a retail or beta/preview KMS ID. <b><br>
3</b>: activate only products with a known volume license
RTM KMS ID and refuse all others.</p>
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="22%"></td>
<td width="78%">
<p>The SKU ID is not checked. Like a genuine KMS server
vlmcsd activates a product that has a random or unknown SKU
ID. If you select <b>1</b> or <b>3</b>, vlmcsd also checks
the Application ID for correctness. If Microsoft introduces
a new KMS ID for a new product, you cannot activate it if
you used <b>1</b> or <b>3</b> until a new version of vlmcsd
is available.</p></td></tr>
</table>
<p style="margin-left:11%;"><b>CheckClientTime</b></p>
<p style="margin-left:22%;">Can be TRUE or FALSE. The
default is FALSE. If you set this to TRUE <b>vlmcsd</b>(8)
checks if the client time differs no more than four hours
from the system time. This is useful to prevent emulator
detection. A client that tries to detect an emulator could
simply send two subsequent request with two time stamps that
differ more than four hours from each other. If both
requests succeed, the server is an emulator. If you set this
to TRUE on a system with no reliable time source,
activations will fail. It is ok to set the correct system
time after you started <b>vlmcsd</b>(8).</p>
<p style="margin-left:11%;"><b>MaintainClients</b></p>
<p style="margin-left:22%;">Can be TRUE or FALSE (the
default). Disables (FALSE) or enables (TRUE) maintaining a
list of client machine IDs (CMIDs). TRUE is useful to
prevent emulator detection. By maintaing a CMID list,
<b>vlmcsd</b>(8) reports current active clients exactly like
a genuine KMS emulator. This includes bug compatibility to
the extent that you can permanently kill a genuine KMS
emulator by sending an &quot;overcharge request&quot; with a
required client count of 376 or more and then request
activation for 671 clients. <b>vlmcsd</b>(8) can be reset
from this condition by restarting it. If FALSE is used,
<b>vlmcsd</b>(8) reports current active clients as good as
possible. If no client sends an &quot;overcharge
request&quot;, it is not possible to detect <b>vlmcsd</b>(8)
as an emulator with
<b>MaintainClients&nbsp;</b>=&nbsp;FALSE. Maintaining
clients requires the allocation of a buffer that is about 50
kB in size. On hardware with few memory resources use it
only if you really need it.</p>
<p style="margin-left:22%; margin-top: 1em">If you start
<b>vlmcsd</b>(8) from an internet superserver, this setting
cannot be used. Since <b>vlmcsd</b>(8) exits after each
activation, it cannot maintain any state in memory.</p>
<p style="margin-left:11%;"><b>StartEmpty</b></p>
<p style="margin-left:22%;">This setting is ignored if you
do not also specify <b>MaintainClients&nbsp;</b>=&nbsp;TRUE.
If you specify FALSE (the default), <b>vlmcsd</b>(8) starts
up as a fully &quot;charged&quot; KMS server. Clients
activate immediately. <b>StartEmpty&nbsp;</b>=&nbsp;TRUE
lets you start up <b>vlmcsd</b>(8) with an empty CMID list.
Activation will start when the required minimum clients (25
for Windows Client OSses, 5 for Windows Server OSses and
Office) have registered with the KMS server. As long as the
minimum client count has not been reached, clients end up in
HRESULT 0xC004F038 &quot;The count reported by your Key
Management Service (KMS) is insufficient. Please contact
your system administrator&quot;. You may use <b>vlmcs</b>(1)
or another KMS client emulator to &quot;charge&quot;
<b>vlmcsd</b>(8). Setting this parameter to TRUE does not
improve emulator detection prevention. It&rsquo;s primary
purpose is to help developers of KMS clients to test
&quot;charging&quot; a KMS server.</p>
<p style="margin-left:11%;"><b>ActivationInterval</b></p>
<p style="margin-left:22%;">This is the same as specifying
<b>-A</b> on the command line. See <b>vlmcsd</b>(8) for
details. The default is 2 hours. Example:
ActivationInterval&nbsp;=&nbsp;1h</p>
<p style="margin-left:11%;"><b>RenewalInterval</b></p>
<p style="margin-left:22%;">This is the same as specifying
<b>-R</b> on the command line. See <b>vlmcsd</b>(8) for
details. The default is 7 days. Example: RenewalInterval =
3d. Please note that the KMS client decides itself when to
renew activation. Even though vlmcsd sends the renewal
interval you specify, it is no more than some kind of
recommendation to the client. Older KMS clients did follow
the recommendation from a KMS server or emulator. Newer
clients do not.</p>
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="7%">
<p><b>User</b></p></td>
<td width="4%"></td>
<td width="78%">
<p>Run vlmcsd as another, preferrably less privileged,
user. The <i>argument</i> can be a user name or a numeric
user id. You must have the required privileges (capabilities
on Linux) to change the security context of a process
without providing any credentials (a password in most
cases). On most unixoid OSses &rsquo;root&rsquo; is the only
user who has these privileges in the default configuration.
This setting is not available in the native Windows version
of vlmcsd. See <b>-u</b> in <b>vlmcsd</b>(8). This setting
cannot be changed on the fly by sending SIGHUP to
vlmcsd.</p> </td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="7%">
<p><b>Group</b></p></td>
<td width="4%"></td>
<td width="78%">
<p>Run vlmcsd as another, preferrably less privileged,
group. The <i>argument</i> can be a group name or a numeric
group id. You must have the required privileges
(capabilities on Linux) to change the security context of a
process without providing any credentials (a password in
most cases). On most unixoid OSses &rsquo;root&rsquo; is the
only user who has these privileges in the default
configuration. This setting is not available in the native
Windows version of vlmcsd. See <b>-g</b> in
<b>vlmcsd</b>(8). This setting cannot be changed on the fly
by sending SIGHUP to vlmcsd.</p></td></tr>
</table>
<p style="margin-left:11%;"><b>&lt;csvlk-name&gt;</b></p>
<p style="margin-left:22%;">The <i>argument</i> has the
form <i>ePID</i> [ / <i>HwId</i> ]. Always use <i>ePID</i>
and <i>HwId</i> for activations with
<b>&lt;csvlk-name&gt;</b>. If specified,
<b>RandomizationLevel</b> for the <b>&lt;csvlk-name&gt;</b>
will be ignored. With the default vlmcsd.kmd database you
can use the following <b>&lt;csvlk-name&gt;</b>s: Windows,
Office2010, Office2013, Office2016, Office2019 and
WinChinaGov. While vlmcsd is compatible with older
databases, you must use at least database version 1.6 for
this feature to work.</p>
<h2>VALID EPIDS
<a name="VALID EPIDS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">The ePID is
currently a comment only. You can specify any string up to
63 bytes. In Windows 7 Microsoft has blacklisted few ( &lt;
10 ) ePIDs that were used in KMSv5 versions of the
&quot;Ratiborus Virtual Machine&quot;. Microsoft has given
up on blacklisting when KMS emulators appeared in the
wild.</p>
<p style="margin-left:11%; margin-top: 1em">Even if you can
use &quot;Activated by cool hacker guys&quot; as an ePID,
you may wish to use ePIDs that cannot be detected as non-MS
ePIDs. If you don&rsquo;t know how these &quot;valid&quot;
ePIDs look like exactly, do not use GUIDS in vlmcsd.ini.
vlmcsd provides internal mechanisms to generate valid
ePIDs.</p>
<p style="margin-left:11%; margin-top: 1em">If you use
non-ASCII characters in your ePID (you shouldn&rsquo;t do
anyway), these must be in UTF-8 format. This is especially
important when you run vlmcsd on Windows or cygwin because
UTF-8 is not the default encoding for most editors.</p>
<p style="margin-left:11%; margin-top: 1em">If you are
specifying an optional HWID it follows the same syntax as in
the <b>-H</b> option in <b>vlmcsd</b>(8) ecxept that you
must not enclose a HWID in quotes even if it contains
spaces.</p>
<h2>FILES
<a name="FILES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd.ini</b>(5)</p>
<h2>AUTHOR
<a name="AUTHOR"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd</b>(8)
was written by crony12, Hotbird64 and vityan666. With
contributions from DougQaid.</p>
<h2>CREDITS
<a name="CREDITS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Thanks to
abbodi1406, CODYQX4, deagles, eIcn, mikmik38, nosferati87,
qad, Ratiborus, ...</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd</b>(8),
<b>vlmcsd</b>(7), <b>vlmcs</b>(1), <b>vlmcsdmulti</b>(1)</p>
<hr>
</body>
</html>