[augeas-devel] Request for Review
Brewer, Janzen H.
Janzen.Brewer at gtri.gatech.edu
Wed Oct 26 13:40:26 UTC 2011
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 <janzen.brewer at gtri.gatech.edu>
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/augeas-devel/attachments/20111026/847fce56/attachment.htm>
More information about the augeas-devel
mailing list