From 8467be9ce45662f02626fd487b475d5ab9419f6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D0=B5=D0=BC=D0=B8=D0=B9?= Date: Sat, 19 Jun 2021 11:45:10 +0300 Subject: [PATCH] start implementing pwquality backend --- back_pwquality.sh | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 back_pwquality.sh diff --git a/back_pwquality.sh b/back_pwquality.sh new file mode 100644 index 0000000..1cc27c6 --- /dev/null +++ b/back_pwquality.sh @@ -0,0 +1,47 @@ +#!/bin/bash +set -e +DESTDIR="${DESTDIR:-}" +PWQUALITY_CONF_FILE="${DESTDIR}/etc/security/pwquality.conf" +INTERNAL_DIR='/var/lib/linux-infosec-setupper' + +_check_argument() { + case "$1" in + + if [[ "$1" == [0-9]* ]]; then + return 0 + else + printf $"Argument to %s must be a number" "$2" + return 1 + fi +} + +_mk_pwquality_conf() { + local difok=1 \ + minlen=8 \ + dcredit=0 \ + uncredit=0 \ + lcredit=0 \ + ocredit=0 \ + minclass=0 \ + maxrepeat=0 \ + maxsequence=0 \ + maxclassrepeat=0 \ + gecoscheck=0 \ + dictcheck=1 \ + usercheck=1 \ + usersubstr=0 \ + enforcing=1 \ + badwords \ + dictpath \ + retry=1 \ + enforce_for_root=0 \ + local_users_only=0 + while [ -n "$1" ]; do + case "$1" in + --difok) shift; + _check_argument "$1" "--difok" + ;; + --minlen) + esac + done + }