Add --final method for reset password for reguler and root user, and reinit aide database

This commit is contained in:
Samson-W 2019-09-23 18:44:23 +08:00
parent 5a066aa04f
commit ba786480b5
1 changed files with 40 additions and 0 deletions

View File

@ -24,6 +24,7 @@ ALLOW_SERVICE_LIST=0
SET_HARDENING_LEVEL=0 SET_HARDENING_LEVEL=0
SUDO_MODE='' SUDO_MODE=''
INIT_G_CONFIG=0 INIT_G_CONFIG=0
FINAL_G_CONFIG=0
usage() { usage() {
cat << EOF cat << EOF
@ -82,6 +83,12 @@ $LONG_SCRIPT_NAME <RUN_MODE> [OPTIONS], where RUN_MODE is one of:
Use --allow-service-list to get a list of supported services. Use --allow-service-list to get a list of supported services.
Example: Example:
bin/hardening.sh --set-hardening-level 5 --allow-service dns,http bin/hardening.sh --set-hardening-level 5 --allow-service dns,http
--final
The final action that needs to be done when all repairs are completed. The action items are:
1. Use passwd to change the password of the regular and root user to update the user
password strength and robustness;
2. Aide reinitializes.
OPTIONS: OPTIONS:
@ -148,6 +155,8 @@ while [[ $# > 0 ]]; do
--init) --init)
INIT_G_CONFIG=1 INIT_G_CONFIG=1
;; ;;
--final
FINAL_G_CONFIG=1
*) *)
usage usage
;; ;;
@ -170,6 +179,7 @@ fi
[ -r $CIS_ROOT_DIR/lib/common.sh ] && . $CIS_ROOT_DIR/lib/common.sh [ -r $CIS_ROOT_DIR/lib/common.sh ] && . $CIS_ROOT_DIR/lib/common.sh
[ -r $CIS_ROOT_DIR/lib/utils.sh ] && . $CIS_ROOT_DIR/lib/utils.sh [ -r $CIS_ROOT_DIR/lib/utils.sh ] && . $CIS_ROOT_DIR/lib/utils.sh
# For --init
if [ $INIT_G_CONFIG -eq 1 ]; then if [ $INIT_G_CONFIG -eq 1 ]; then
if [ -r /etc/redhat-release ]; then if [ -r /etc/redhat-release ]; then
info "This OS is redhat/CentOS." info "This OS is redhat/CentOS."
@ -194,6 +204,36 @@ else
exit 128 exit 128
fi fi
# For --final
if [ $FINAL_G_CONFIG -eq 1 ]; then
# Reset passwd for regular and root user
USERSNAME=$(cat /etc/passwd | awk -F':' '{if($3>=1000 && $3<65534) {print $1}}')
for USER in $USERSNAME; do
RESETCONTIN="n"
read -p "Will password of $USER be reset, are you sure to continue?(Y/n)" RESETCONTIN
if [ "$RESETCONTIN" == "Y" ]; then
sudo -u $USER passwd
else
continue
fi
done
RESETCONTIN="n"
read -p "Will password of root be reset, are you sure to continue?(Y/n)" RESETCONTIN
if [ "$RESETCONTIN" == "Y" ]; then
passwd
fi
# Reinit aide database
info "Will reinitialize the AIDE database"
if [ $OS_RELEASE -eq 1 ]; then
aideinit
elif [ $OS_RELEASE -eq 2 ]; then
aide --init
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
fi
fi
# If --allow-service-list is specified, don't run anything, just list the supported services # If --allow-service-list is specified, don't run anything, just list the supported services
if [ "$ALLOW_SERVICE_LIST" = 1 ] ; then if [ "$ALLOW_SERVICE_LIST" = 1 ] ; then
declare -a HARDENING_EXCEPTIONS_LIST declare -a HARDENING_EXCEPTIONS_LIST