I'm new to augeas and I'm trying my hand at writing file descriptions. I'd really appreciate your feedback on this one. It's written for /etc/audit/auditd.conf. I also wrote a test.
Thanks! ------------------------- augeas/lenses/auditd.aug: ------------------------- (* Auditd module for Augeas Author: Janzen Brewer <[email protected]> Based on Free Ekanayaka's dnsmasq module Reference: man auditd.conf (8) "[auditd.conf] should contain one configuration keyword per line, an equal sign, and then followed by appropriate configuration information." *) module Auditd = autoload xfm (************************************************************************ * USEFUL PRIMITIVES *************************************************************************) let eol = Util.eol let spc = Util.del_ws_spc let comment = Util.comment let empty = Util.empty let sep_eq = del /=/ "=" let sto_to_eol = store /([^ \t\n].*[^ \t\n]|[^ \t\n])/ (************************************************************************ * ENTRIES *************************************************************************) (*let entry_re = /[A-Za-z0-9._-]+/*) let key_value (kw:string) = [ key kw . spc . sep_eq . spc . sto_to_eol . eol ] let entry = key_value "log_file" | key_value "log_format" | key_value "log_group" | key_value "priority_boost" | key_value "flush" | key_value "freq" | key_value "num_logs" | key_value "max_log_file" | key_value "max_log_file_action" | key_value "space_left" | key_value "space_left_action" | key_value "action_mail_acct" | key_value "admin_space_left" | key_value "admin_space_left_action" | key_value "disk_full_action" | key_value "disk_error_action" | key_value "dispatcher" | key_value "disp_qos" | key_value "name" | key_value "name_format" | key_value "tcp_listen_port" | key_value "tcp_listen_queue" | key_value "use_libwrap" | key_value "tcp_client_ports" | key_value "tcp_client_max_idle" | key_value "tcp_max_per_addr" | key_value "enable_krb5" | key_value "krb5_principal" | key_value "krb5_key_file" (************************************************************************ * LENS *************************************************************************) let lns = (comment|empty|entry) * let filter = incl "/etc/audit/auditd.conf" . excl "#*#" . excl ".*" . Util.stdexcl let xfm = transform lns filter ------------------------------------ augeas/lenses/tests/test_auditd.aug: ------------------------------------ module Test_auditd = let conf ="log_file = /var/log/audit/audit.log log_format = RAW log_group = root priority_boost = 4 flush = INCREMENTAL freq = 20 num_logs = 4 disp_qos = lossy dispatcher = /sbin/audispd name_format = NONE ##name = mydomain max_log_file = 5 max_log_file_action = ROTATE space_left = 75 space_left_action = SYSLOG action_mail_acct = root admin_space_left = 50 admin_space_left_action = SUSPEND disk_full_action = SUSPEND disk_error_action = SUSPEND ##tcp_listen_port = tcp_listen_queue = 5 tcp_max_per_addr = 1 ##tcp_client_ports = 1024-65535 tcp_client_max_idle = 0 enable_krb5 = no krb5_principal = auditd ##krb5_key_file = /etc/audit/audit.key " test Auditd.lns get conf = { "log_file" = "/var/log/audit/audit.log" } { "log_format" = "RAW" } { "log_group" = "root" } { "priority_boost" = "4" } { "flush" = "INCREMENTAL" } { "freq" = "20" } { "num_logs" = "4" } { "disp_qos" = "lossy" } { "dispatcher" = "/sbin/audispd" } { "name_format" = "NONE" } { "#comment" = "#name = mydomain" } { "max_log_file" = "5" } { "max_log_file_action" = "ROTATE" } { "space_left" = "75" } { "space_left_action" = "SYSLOG" } { "action_mail_acct" = "root" } { "admin_space_left" = "50" } { "admin_space_left_action" = "SUSPEND" } { "disk_full_action" = "SUSPEND" } { "disk_error_action" = "SUSPEND" } { "#comment" = "#tcp_listen_port =" } { "tcp_listen_queue" = "5" } { "tcp_max_per_addr" = "1" } { "#comment" = "#tcp_client_ports = 1024-65535" } { "tcp_client_max_idle" = "0" } { "enable_krb5" = "no" } { "krb5_principal" = "auditd" } { "#comment" = "#krb5_key_file = /etc/audit/audit.key" } -- Janzen Brewer Cyber Technology and Information Security Lab Georgia Tech Research Institute
_______________________________________________ augeas-devel mailing list [email protected] https://www.redhat.com/mailman/listinfo/augeas-devel
