summaryrefslogtreecommitdiff
path: root/man/nm-settings-keyfile.xml
diff options
context:
space:
mode:
Diffstat (limited to 'man/nm-settings-keyfile.xml')
-rw-r--r--man/nm-settings-keyfile.xml233
1 files changed, 233 insertions, 0 deletions
diff --git a/man/nm-settings-keyfile.xml b/man/nm-settings-keyfile.xml
new file mode 100644
index 000000000..45bc472b5
--- /dev/null
+++ b/man/nm-settings-keyfile.xml
@@ -0,0 +1,233 @@
+<?xml version="1.0"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<refentry id="nm-settings-keyfile"><refentryinfo><date>19 December 2014</date></refentryinfo><refmeta><refentrytitle>nm-settings-keyfile</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.0.0</refmiscinfo></refmeta><refnamediv><refname>nm-settings-keyfile</refname><refpurpose>Description of <emphasis>keyfile</emphasis> settings plugin</refpurpose></refnamediv><refsect1><title>DESCRIPTION</title><para>
+ NetworkManager is based on the concept of connection profiles that contain
+ network configuration (see <citerefentry><refentrytitle>nm-settings</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details). The profiles can be
+ stored in various formats. NetworkManager uses plugins for reading and writing
+ the data. The plugins can be configured in <citerefentry><refentrytitle>NetworkManager.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+ </para><para>
+ The <emphasis>keyfile</emphasis> plugin is the generic plugin that supports all
+ the connection types and capabilities that NetworkManager has. It writes files
+ out in a .ini-style format in <filename>/etc/NetworkManager/system-connections/</filename>.
+ This plugin is always enabled and will automatically be used to store
+ any connections that are not supported by any other active plugin.
+ For security, it will ignore files that are readable or writeable by any user
+ or group other than 'root' since private keys and passphrases may be stored
+ in plaintext inside the file.
+ </para></refsect1><refsect1><title>File Format</title><para>
+ The <emphasis>keyfile</emphasis> config format is a simple .ini-style
+ format. It consists of sections (groups) of key-value pairs. Each section
+ corresponds to a setting name as described in the settings specification
+ (<citerefentry><refentrytitle>nm-settings</refentrytitle><manvolnum>5</manvolnum></citerefentry>). Each configuration key/value
+ pair in the section is one of the properties listed in the settings
+ specification. The majority of properties of the specification is written
+ in the same format into the <emphasis>keyfile</emphasis> too. However
+ some values are inconvenient for people to use. These are stored in the
+ files in more readable ways. These properties are described bellow.
+ An example could be IP addresses that are not written as integer arrays,
+ but more reasonably as "1.2.3.4/12 1.2.3.254".
+ More information of the generic key file format can be found at
+ <ulink url="https://developer.gnome.org/glib/stable/glib-Key-value-file-parser.html#glib-Key-value-file-parser.description">
+ GLib key file format</ulink> (Lines beginning with a '#' are comments,
+ lists are separated by character <literal>;</literal> etc.).
+ </para><para>
+ Users can create or modify the <emphasis>keyfile</emphasis> connection files
+ manually, even if that is not the recommended way of managing the profiles.
+ However, if they choose to do that, they must inform NetworkManager about
+ their changes (see <emphasis>monitor-connection-file</emphasis> in
+ <citerefentry><refentrytitle>nm-settings</refentrytitle><manvolnum>5</manvolnum></citerefentry> and <emphasis>nmcli con (re)load</emphasis>).
+ </para><formalpara><title>Examples of <emphasis>keyfile</emphasis> configuration</title><para><programlisting><emphasis role="bold">A sample configuration for an ethernet network:</emphasis>
+[connection]
+id=Main eth0
+uuid=27afa607-ee36-43f0-b8c3-9d245cdc4bb3
+type=802-3-ethernet
+autoconnect=true
+
+[ipv4]
+method=auto
+
+[802-3-ethernet]
+mac-address=00:23:5a:47:1f:71
+ </programlisting></para><para><programlisting><emphasis role="bold">A sample configuration for WPA-EAP (PEAP with MSCHAPv2) and always-ask secret:</emphasis>
+[connection]
+id=CompanyWIFI
+uuid=cdac6154-a33b-4b15-9904-666772cfa5ee
+type=wifi
+autoconnect=false
+
+[wifi]
+ssid=CorpWLAN
+mode=infrastructure
+security=802-11-wireless-security
+
+[wifi-security]
+key-mgmt=wpa-eap
+
+[ipv4]
+method=auto
+
+[ipv6]
+method=auto
+
+[802-1x]
+eap=peap;
+identity=joe
+ca-cert=/home/joe/.cert/corp.crt
+phase1-peapver=1
+phase2-auth=mschapv2
+password-flags=2
+ </programlisting></para><para><programlisting><emphasis role="bold">A sample configuration for openvpn:</emphasis>
+[connection]
+id=RedHat-openvpn
+uuid=7f9b3356-b210-4c0e-8123-bd116c9c280f
+type=vpn
+timestamp=1385401165
+
+[vpn]
+service-type=org.freedesktop.NetworkManager.openvpn
+connection-type=password
+password-flags=3
+remote=ovpn.my-company.com
+cipher=AES-256-CBC
+reneg-seconds=0
+port=443
+username=joe
+ca=/etc/openvpn/ISCA.pem
+tls-remote=ovpn.my-company.com
+
+[ipv6]
+method=auto
+
+[ipv4]
+method=auto
+ignore-auto-dns=true
+never-default=true
+ </programlisting></para><para><programlisting><emphasis role="bold">A sample configuration for a bridge and a bridge port:</emphasis>
+[connection] [connection]
+id=MainBridge id=br-port-1
+uuid=171ae855-a0ab-42b6-bd0c-60f5812eea9d uuid=d6e8ae98-71f8-4b3d-9d2d-2e26048fe794
+interface-name=MainBridge interface-name=em1
+type=bridge type=ethernet
+ master=MainBridge
+[bridge] slave-type=bridge
+interface-name=MainBridge
+ </programlisting></para><para><programlisting><emphasis role="bold">A sample configuration for a VLAN:</emphasis>
+[connection]
+id=VLAN for building 4A
+uuid=8ce1c9e0-ce7a-4d2c-aa28-077dda09dd7e
+interface-name=VLAN-4A
+type=vlan
+
+[vlan]
+interface-name=VLAN-4A
+parent=eth0
+id=4
+ </programlisting></para></formalpara></refsect1><refsect1><title>DETAILS</title><para><emphasis>keyfile</emphasis> plugin variables for the majority of NetworkManager
+ properties have one-to-one mapping. It means a NetworkManager property is stored
+ in the keyfile as a variable of the same name and in the same format.
+ There are several exceptions to this rule, mainly for making keyfile syntax easier
+ for humans. The exceptions handled specially by <emphasis>keyfile</emphasis>
+ plugin are listed bellow. Refer to
+ <citerefentry><refentrytitle>nm-settings</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for all available settings and properties and their description.
+ </para><formalpara><title>Name aliases</title><para>
+ Some of the NetworkManager setting names are somewhat hard to type or remember. Therefore
+ <emphasis>keyfile</emphasis> introduces aliases that can be used instead of the names.
+ <simplelist type="horiz" columns="1"><member><emphasis>setting name keyfile alias</emphasis></member><member>802-3-ethernet = ethernet</member><member>802-11-wireless = wifi</member><member>802-11-wireless-security = wifi-security</member></simplelist></para></formalpara>
+
+
+
+
+
+<table><title>bridge setting (section)</title><tgroup cols="4"><thead><row><entry>Property</entry><entry>Keyfile Variable</entry><entry>Format</entry><entry>Description</entry></row></thead><tbody>
+<row><entry align="left">mac-address</entry><entry align="left">mac-address</entry><entry align="left">ususal hex-digits-and-colons notation</entry><entry align="left">MAC address in traditional hex-digits-and-colons notation, or semicolon separated list of 6 decimal bytes (obsolete)<emphasis role="bold">
+
+Example: </emphasis>mac-address=00:22:68:12:79:A2 mac-address=0;34;104;18;121;162;</entry></row>
+</tbody></tgroup></table>
+
+
+
+
+
+<table><title>infiniband setting (section)</title><tgroup cols="4"><thead><row><entry>Property</entry><entry>Keyfile Variable</entry><entry>Format</entry><entry>Description</entry></row></thead><tbody>
+<row><entry align="left">mac-address</entry><entry align="left">mac-address</entry><entry align="left">ususal hex-digits-and-colons notation</entry><entry align="left">MAC address in traditional hex-digits-and-colons notation, or or semicolon separated list of 20 decimal bytes (obsolete)<emphasis role="bold">
+
+Example: </emphasis>mac-address= 80:00:00:6d:fe:80:00:00:00:00:00:00:00:02:55:00:70:33:cf:01</entry></row>
+</tbody></tgroup></table>
+
+<table><title>ipv4 setting (section)</title><tgroup cols="4"><thead><row><entry>Property</entry><entry>Keyfile Variable</entry><entry>Format</entry><entry>Description</entry></row></thead><tbody>
+<row><entry align="left">dns</entry><entry align="left">dns</entry><entry align="left">list of DNS IP addresses</entry><entry align="left">List of DNS servers.<emphasis role="bold">
+
+Example: </emphasis>dns=1.2.3.4;8.8.8.8;8.8.4.4;</entry></row>
+<row><entry align="left">addresses</entry><entry align="left">address1, address2, ...</entry><entry align="left">address/plen</entry><entry align="left">List of static IP addresses.<emphasis role="bold">
+
+Example: </emphasis>address1=192.168.100.100/24 address2=10.1.1.5/24</entry></row>
+<row><entry align="left">gateway</entry><entry align="left">gateway</entry><entry align="left">string</entry><entry align="left">Gateway IP addresses as a string.<emphasis role="bold">
+
+Example: </emphasis>gateway=192.168.100.1</entry></row>
+<row><entry align="left">routes</entry><entry align="left">route1, route2, ...</entry><entry align="left">route/plen[,gateway,metric]</entry><entry align="left">List of IP routes.<emphasis role="bold">
+
+Example: </emphasis>route1=8.8.8.0/24,10.1.1.1,77 route2=7.7.0.0/16</entry></row>
+</tbody></tgroup></table>
+<table><title>ipv6 setting (section)</title><tgroup cols="4"><thead><row><entry>Property</entry><entry>Keyfile Variable</entry><entry>Format</entry><entry>Description</entry></row></thead><tbody>
+<row><entry align="left">dns</entry><entry align="left">dns</entry><entry align="left">list of DNS IP addresses</entry><entry align="left">List of DNS servers.<emphasis role="bold">
+
+Example: </emphasis>dns=2001:4860:4860::8888;2001:4860:4860::8844;</entry></row>
+<row><entry align="left">addresses</entry><entry align="left">address1, address2, ...</entry><entry align="left">address/plen</entry><entry align="left">List of static IP addresses.<emphasis role="bold">
+
+Example: </emphasis>address1=abbe::cafe/96 address2=2001::1234</entry></row>
+<row><entry align="left">gateway</entry><entry align="left">gateway</entry><entry align="left">string</entry><entry align="left">Gateway IP addresses as a string.<emphasis role="bold">
+
+Example: </emphasis>gateway=abbe::1</entry></row>
+<row><entry align="left">routes</entry><entry align="left">route1, route2, ...</entry><entry align="left">route/plen[,gateway,metric]</entry><entry align="left">List of IP routes.<emphasis role="bold">
+
+Example: </emphasis>route1=2001:4860:4860::/64,2620:52:0:2219:222:68ff:fe11:5403</entry></row>
+</tbody></tgroup></table>
+
+
+
+<table><title>serial setting (section)</title><tgroup cols="4"><thead><row><entry>Property</entry><entry>Keyfile Variable</entry><entry>Format</entry><entry>Description</entry></row></thead><tbody>
+<row><entry align="left">parity</entry><entry align="left">parity</entry><entry align="left">'e', 'o', or 'n'</entry><entry align="left">The connection parity; even, odd, or none. Note that older versions of NetworkManager stored this as an integer: 69 ('E') for even, 111 ('o') for odd, or 110 ('n') for none.<emphasis role="bold">
+
+Example: </emphasis>parity=n</entry></row>
+</tbody></tgroup></table>
+
+
+
+<table><title>vpn setting (section)</title><tgroup cols="4"><thead><row><entry>Property</entry><entry>Keyfile Variable</entry><entry>Format</entry><entry>Description</entry></row></thead><tbody>
+<row><entry align="left">data</entry><entry align="left">separate variables named after keys of the dictionary</entry><entry align="left"/><entry align="left">The keys of the data dictionary are used as variable names directly under [vpn] section.<emphasis role="bold">
+
+Example: </emphasis>remote=ovpn.corp.com cipher=AES-256-CBC username=joe</entry></row>
+<row><entry align="left">secrets</entry><entry align="left">separate variables named after keys of the dictionary</entry><entry align="left"/><entry align="left">The keys of the secrets dictionary are used as variable names directly under [vpn-secrets] section.<emphasis role="bold">
+
+Example: </emphasis>password=Popocatepetl</entry></row>
+</tbody></tgroup></table>
+
+<table><title>802-3-ethernet setting (section)</title><tgroup cols="4"><thead><row><entry>Property</entry><entry>Keyfile Variable</entry><entry>Format</entry><entry>Description</entry></row></thead><tbody>
+<row><entry align="left">mac-address</entry><entry align="left">mac-address</entry><entry align="left">ususal hex-digits-and-colons notation</entry><entry align="left">MAC address in traditional hex-digits-and-colons notation (e.g. 00:22:68:12:79:A2), or semicolon separated list of 6 bytes (obsolete) (e.g. 0;34;104;18;121;162)</entry></row>
+<row><entry align="left">cloned-mac-address</entry><entry align="left">cloned-mac-address</entry><entry align="left">ususal hex-digits-and-colons notation</entry><entry align="left">Cloned MAC address in traditional hex-digits-and-colons notation (e.g. 00:22:68:12:79:B2), or semicolon separated list of 6 bytes (obsolete) (e.g. 0;34;104;18;121;178).</entry></row>
+<row><entry align="left">mac-address-blacklist</entry><entry align="left">mac-address-blacklist</entry><entry align="left">list of MACs (separated with semicolons)</entry><entry align="left">MAC address blacklist.<emphasis role="bold">
+
+Example: </emphasis>mac-address-blacklist= 00:22:68:12:79:A6;00:22:68:12:79:78</entry></row>
+</tbody></tgroup></table>
+
+<table><title>802-11-wireless setting (section)</title><tgroup cols="4"><thead><row><entry>Property</entry><entry>Keyfile Variable</entry><entry>Format</entry><entry>Description</entry></row></thead><tbody>
+<row><entry align="left">ssid</entry><entry align="left">ssid</entry><entry align="left">string (or decimal-byte list - obsolete)</entry><entry align="left">SSID of Wi-Fi network.<emphasis role="bold">
+
+Example: </emphasis>ssid=Quick Net</entry></row>
+<row><entry align="left">mac-address</entry><entry align="left">mac-address</entry><entry align="left">ususal hex-digits-and-colons notation</entry><entry align="left">MAC address in traditional hex-digits-and-colons notation (e.g. 00:22:68:12:79:A2), or semicolon separated list of 6 bytes (obsolete) (e.g. 0;34;104;18;121;162).</entry></row>
+<row><entry align="left">cloned-mac-address</entry><entry align="left">cloned-mac-address</entry><entry align="left">ususal hex-digits-and-colons notation</entry><entry align="left">Cloned MAC address in traditional hex-digits-and-colons notation (e.g. 00:22:68:12:79:B2), or semicolon separated list of 6 bytes (obsolete) (e.g. 0;34;104;18;121;178).</entry></row>
+<row><entry align="left">mac-address-blacklist</entry><entry align="left">mac-address-blacklist</entry><entry align="left">list of MACs (separated with semicolons)</entry><entry align="left">MAC address blacklist.<emphasis role="bold">
+
+Example: </emphasis>mac-address-blacklist= 00:22:68:12:79:A6;00:22:68:12:79:78</entry></row>
+</tbody></tgroup></table>
+<refsect2 id="secrets-flags"><title>Secret flags</title><para>
+ Each secret property in a NetworkManager setting has an associated <emphasis>flags</emphasis>
+ property that describes how to handle that secret. In the <emphasis>keyfile</emphasis> plugin,
+ the value of <emphasis>-flags</emphasis> variable is a decimal number (0 - 7) defined as a sum
+ of the following values:
+ </para><itemizedlist><listitem><para>0 - (NM owned) - the system is responsible for providing and storing this secret.</para></listitem><listitem><para>1 - (agent-owned) - a user-session secret agent is responsible for providing
+ and storing this secret; when it is required, agents will be asked to provide it.</para></listitem><listitem><para>2 - (not-saved) - this secret should not be saved but should be requested
+ from the user each time it is required.</para></listitem><listitem><para>4 - (not-required) - in some situations it cannot be automatically determined
+ that a secret is required or not. This flag hints that the secret is not required
+ and should not be requested from the user.</para></listitem></itemizedlist></refsect2></refsect1><refsect1><title>AUTHOR</title><para><author><firstname>NetworkManager developers</firstname></author></para></refsect1><refsect1><title>FILES</title><para><filename>/etc/NetworkManager/system-connections/*</filename></para></refsect1><refsect1><title>SEE ALSO</title><para>https://developer.gnome.org/NetworkManager/unstable/ref-settings.html</para><para>nm-settings(5), nm-settings-ifcfg-rh(5), NetworkManager(8), NetworkManager.conf(5), nmcli(1), nmcli-examples(5)</para></refsect1></refentry>