files.cfg
files.cfg specifies system configuration files, and indeed any text file, web pages, for example.
We try to manage as many system configuration files as possible from files.cfg. The benefits of doing this include: having centralized backups, diffing and doing checksums against the central copy, per-system customizations, greater understanding of the whole, etc. For ease of management, we have modularized this file into various #include files.
/////////////////////////////////////////////////////////////////////////////// // // PIKT files.cfg -- system configuration files // /////////////////////////////////////////////////////////////////////////////// // // (please see the comments prefacing the sample macros.cfg about // configuration file complexity and parse error debugging) // /////////////////////////////////////////////////////////////////////////////// // // in this file, which encompasses system files in many different // formats, you will probably want to make frequent use of the #fix/#unfix // (or #freeze/#unfreeze) wrapper; otherwise, you would have to do a lot // of, for example, // // root ALL\=ALL // // because without the backslash before '=' then '=ALL' would be // interpreted as a PIKT macro; you may and probably will want to use // PIKT macros in files.cfg; just beware of this pitfall // /////////////////////////////////////////////////////////////////////////////// // // files not yet managed herein: // // /etc/profile // // /root/.cshrc // /root/.profile // /root/.bash_profile // /root/.bashrc // /////////////////////////////////////////////////////////////////////////////// // common stuff #include <files/motd_files.cfg> #include <files/shells_files.cfg> #include <files/ntp_conf_files.cfg> //#include <files/aliases_files.cfg> #include <files/resolv_conf_files.cfg> #include <files/auto_master_files.cfg> #include <files/auto_home_files.cfg> #include <files/auto_direct_files.cfg> /////////////////////////////////////////////////////////////////////////////// #if dnsserver # if dnsmaster # include <files/adm/zone_data_files.cfg> # endif # include <files/adm/named_conf_files.cfg> #endif /////////////////////////////////////////////////////////////////////////////// // postfix stuff #include <files/adm/aliases_files.cfg> #include <files/adm/access_files.cfg> #include <files/adm/main_cf_files.cfg> /////////////////////////////////////////////////////////////////////////////// // sensitive stuff #include <files/adm/pikt_conf_files.cfg> #include <files/adm/hosts_files.cfg> #include <files/adm/hosts_allow_files.cfg> #include <files/adm/hosts_deny_files.cfg> #include <files/adm/rpc_files.cfg> #include <files/adm/services_files.cfg> #include <files/adm/openssh_config_files.cfg> #include <files/adm/syslog_conf_files.cfg> //include <files/adm/xinetd_conf_files.cfg> #include <files/adm/nsswitch_conf_files.cfg> /////////////////////////////////////////////////////////////////////////////// #if ! piktmaster # include <files/configs_pikt_files.cfg> #endif /////////////////////////////////////////////////////////////////////////////// #if piktmaster | webserver # include <files/doc_pikt_files.cfg> #endif ///////////////////////////////////////////////////////////////////////////////
(A note about page layout: In the interest of readability, we have added artificial line wraps in many examples. Even though displayed here broken up across several screen lines, in general quoted strings, preprocessor directives, macro definitions, .log & .conf entries, and so on should all be unbroken on a single line.)
For more examples, see Samples.