.. -*- mode: rst -*- .. _server-info: ==== Info ==== Various file properties for entries served by the :ref:`Cfg `, :ref:`TGenshi `, :ref:`TCheetah `, and :ref:`SSHbase ` plugins are controlled through the use of ``:info``, ``info``, or ``info.xml`` files. By default, these plugins are set to write files to the filesystem with owner **root**, group **root**, and mode **644** (read and write for owner, read only for group and other). These options, and a few others, can be overridden through use of ``:info`` or ``info`` files. Each config file directory can have a ``:info`` or ``info`` file if needed. The possible fields in an info file are: +------------+-------------------+----------------------------------+---------+ | Field | Possible values | Description | Default | +============+===================+==================================+=========+ | encoding | ascii | base64 | Encoding of the file. Use | ascii | | | | base64 for binary files | | +------------+-------------------+----------------------------------+---------+ | owner | Any valid user | Sets owner of the file | root | +------------+-------------------+----------------------------------+---------+ | group | Any valid group | Sets group of the file | root | +------------+-------------------+----------------------------------+---------+ | perms | Numeric file mode | Sets the permissions of the file | 0644 | | | | 'inherit' | (or inherits from the files on | | | | | disk if set to 'inherit') | | +------------+-------------------+----------------------------------+---------+ | secontext | A valid SELinux | Sets the SELinux context of the | default | | | context string or | file, or sets to the default | | | | '__default__' | context set by policy if set to | | | | | '__default__' | | +------------+-------------------+----------------------------------+---------+ | important | true | false | Important entries are | false | | | | installed first during client | | | | | execution | | +------------+-------------------+----------------------------------+---------+ | paranoid | true | false | Backup file before replacement? | true | +------------+-------------------+----------------------------------+---------+ | sensitive | true | false | The contents of sensitive | false | | | | entries aren't included in | | | | | reports | | +------------+-------------------+----------------------------------+---------+ A sample info file for CGI script on a web server might look like:: owner: www group: www perms: 0755 The equivalent ``info.xml`` file would be: .. code-block:: xml Back to the fstab example again, our final ``Cfg/etc/fstab/`` directory might look like:: info.xml fstab fstab.G50_server fstab.G99_fileserver fstab.H_host.example.com See :ref:`server-selinux` for more information on the ``secontext`` attribute and managing SELinux in general. Important attribute =================== .. versionadded:: 1.1.0 Having important entries hardcoded into the various client tools has worked relatively well so far. However, this method allows for a bit more flexibility as the entries can be controlled via the configuration specification. +------------+-------------------+----------------------------------+---------+ | Field | Possible values | Description | Default | +============+===================+==================================+=========+ | important | true | false | Important entries are | root | | | | installed first during client | | | | | execution | | +------------+-------------------+----------------------------------+---------+ .. _server-info-info-xml: info.xml files ============== ``info.xml`` files add the ability to specify different sets of file metadata on a group by group or host by host basis, or by path (for files using :ref:`altsrc `). These files are XML, and work similarly to those used by :ref:`Rules ` or :ref:`Pkgmgr `. The following specifies a different global set of permissions (root/sys/0651) than on clients in group webserver or named "foo.example.com" (root/root/0652):: .. versionadded:: 1.2.0 You can also use the ```` directive to specify a different set of permissions depending on the path of the file::