Merge branch 'master' of ssh://srv1.dumalogiya.ru:3251/nixteam/linux-infosec-setupper

master
Артемий 3 years ago
commit 417f6d39c3

@ -13,6 +13,10 @@ error() {
printf "$@" 1>&2
echo '' 1>&2
}
# $1 - value
# $2 - param name
# (optional) $3 - anything, trigger check for non-negative
_check_argument_is_number() {
if [[ "$1" == [0-9]* ]]; then
return 0
@ -24,6 +28,9 @@ _check_argument_is_number() {
return 1
fi
}
# $1 - value
# $2 - param name
_check_argument_value() {
if [[ "$1" < "$2" ]]; then
error $"Argument to %s must be greater than %s" "$2" "$3"
@ -32,6 +39,9 @@ _check_argument_value() {
return 0
fi
}
# $1 - value
# $2 - param name
_check_argument_is_string() {
if [[ "$1" == *[[:blank:]]* ]]; then
error $"Argument to %s must be a string without spaces" "$2"
@ -41,3 +51,27 @@ _check_argument_is_string() {
fi
}
# $1 - value
# $2 - param name
_check_argument_is_boolean(){
case "$1" in
"yes" ) return 0 ;;
"no" ) return 0 ;;
"" )
error $"Value of %s is empty, set yes or no" "$2"
;;
* )
error $"String %s is not a boolean, set yes or no" "$1"
;;
esac
}
# $1 - value
# $2 - param name
_check_argument_is_non_negative_number(){
# 2>/dev/null to avoid odd output if $1 is not a number
if ! test "$1" -lt 0 2>/dev/null; then
error $"Value of %s must be a non-negative number" "$2"
return 1
fi
}

@ -7,31 +7,6 @@ _is_auditd_enabled(){
systemctl is-active -q autitd
}
# $1 - value
# $2 - param name
_auditd_conf_is_boolean(){
case "$1" in
"yes" ) return 0 ;;
"no" ) return 0 ;;
"" )
error $"Value of %s is empty, set yes or no" "$2"
;;
* )
error $"String %s is not a boolean, set yes or no" "$1"
;;
esac
}
# $1 - value
# $2 - param name
_auditd_conf_is_non_negative_number(){
# 2>/dev/null to avoid odd output if $1 is not a number
if ! test "$1" -lt 0 2>/dev/null; then
error $"Value of %s must be a non-negative number" "$2"
return 1
fi
}
_mk_auditd_config(){
local failed=0
local local_events="yes"
@ -56,7 +31,7 @@ _mk_auditd_config(){
do
case "$1" in
"--local_events" )
_auditd_conf_is_boolean "$1" "local_events" || failed=1
_check_argument_is_boolean "$1" "local_events" || failed=1
local_events="$1"
shift
;;
@ -78,7 +53,7 @@ _mk_auditd_config(){
fi
;;
"--write_logs" )
_auditd_conf_is_boolean "$1" "write_logs" || failed=1
_check_argument_is_boolean "$1" "write_logs" || failed=1
write_logs="$1"
shift
;;
@ -100,7 +75,7 @@ _mk_auditd_config(){
shift
;;
"--priority_boost" )
_auditd_conf_is_non_negative_number "$1" "priority_boost" || failed=1
_check_argument_is_non_negative_number "$1" "priority_boost" || failed=1
priority_boost="$1"
shift
;;
@ -122,7 +97,7 @@ _mk_auditd_config(){
;;
"--freq" )
if [ "$flush" = "incremental_async" ]; then
_auditd_conf_is_non_negative_number "$1" "freq" || failed=1
_check_argument_is_non_negative_number "$1" "freq" || failed=1
freq="$1"
shift
else
@ -156,7 +131,7 @@ _mk_auditd_config(){
error $"Parameter %s makes sense only when %s" "num_logs" "max_log_file_action=rotate"
failed=1
else
_auditd_conf_is_non_negative_number "$1" "num_logs" || failed=1
_check_argument_is_non_negative_number "$1" "num_logs" || failed=1
num_logs="$1"
shift
fi

@ -21,6 +21,9 @@ _main(){
_mk_pwquality_conf --minclass STRING 1>/dev/null && { echo failed test 1; failed="$((++failed))"; }
_mk_pwquality_conf --usercheck 1 1>/dev/null || { echo failed test 2 && failed="$((++failed))" ;}
! _mk_pwquality_conf --enforcing 1 --retry --usersubstr 1>/dev/null || { echo failed test 3 && failed="$((++failed))" ;}
_mk_pwquality_conf --ucredit -3 || { echo failed test 3 && failed="$((++failed))" ;}
_mk_pwquality_conf --ucredit 3 || { echo failed test 3 && failed="$((++failed))" ;}
_mk_pwquality_conf --ucredit +3 || { echo failed test 3 && failed="$((++failed))" ;}
}
_main

Loading…
Cancel
Save