66#
77
88
9- root_dir=" $( cd " $( dirname $0 ) " && pwd ) "
10- echo Root dir $root_dir
9+ root_dir=" $( cd " $( dirname " $0 " ) " && pwd ) "
10+ echo Root dir " $root_dir "
1111
1212
1313# #########################################################################
@@ -21,7 +21,7 @@ check_error()
2121
2222 if [[ ${status} -ne 0 ]]; then
2323 echo -e " \033[31m - ${msg} \033[0m"
24- exit ${exit_status}
24+ exit " ${exit_status} "
2525 fi
2626
2727 return 0
@@ -40,10 +40,10 @@ update_config_files() {
4040 check_error 1 " File ${config_file} not found"
4141 fi
4242
43- sed -i " s/^\($search_str .*\)$/#\1/" ${config_file}
43+ sed -i " s/^\($search_str .*\)$/#\1/" " ${config_file} "
4444 check_error $? " Failed commenting config value $search_str ." 1
4545
46- echo " $append_str " >> ${config_file}
46+ echo " $append_str " >> " ${config_file} "
4747 check_error $? " Failed appending config value $append_str " 1
4848
4949 return 0
@@ -109,7 +109,7 @@ upgrade_packages() {
109109 apt-get -y upgrade
110110 check_error $? " Failed upgrading packages" 1
111111 apt-get install -y auditd apparmor-utils libpam-pwquality
112- if [[ $? -ne 0 ]] ; then
112+ if $? -ne 0 ; then
113113 echo ' deb http://archive.ubuntu.com/ubuntu focal main restricted' > /etc/apt/sources.list.d/repotmp.list
114114 apt-get update
115115 apt-get install -y auditd apparmor-utils libpam-pwquality
@@ -516,7 +516,7 @@ harden_system() {
516516
517517 echo " Error out if there are users with empty password"
518518 cat /etc/shadow | awk -F : ' ($2 == "" ){ exit 1}'
519- if [[ $? -ne 0 ]] ; then
519+ if $? -ne 0 ; then
520520 echo " Users present with empty password. Remove the user or set password for the users"
521521 exit 1
522522 fi
@@ -529,13 +529,13 @@ harden_system() {
529529 fi
530530
531531 echo " Fix permission of all cron files"
532- for each in ` echo /etc/cron.daily /etc/cron.hourly /etc/cron.d /etc/cron.monthly /etc/cron.weekly /etc/crontab`
532+ for each in $( echo /etc/cron.daily /etc/cron.hourly /etc/cron.d /etc/cron.monthly /etc/cron.weekly /etc/crontab)
533533 do
534534 if [[ -e ${each} ]]; then
535- stat -L -c " %a %u %g" ${each} | egrep " .00 0 0"
536- if [[ $? -ne 0 ]] ; then
537- chown root:root ${each}
538- chmod og-rwx ${each}
535+ stat -L -c " %a %u %g" " ${each} " | grep -E " .00 0 0"
536+ if $? -ne 0 ; then
537+ chown root:root " ${each} "
538+ chmod og-rwx " ${each} "
539539 fi
540540 fi
541541 done
@@ -821,12 +821,14 @@ harden_auth() {
821821 # Backup the original file
822822 cp /etc/pam.d/common-auth /etc/pam.d/common-auth.bak
823823
824- echo " auth required pam_faillock.so preauth audit silent deny=4 fail_interval=900 unlock_time=600" > /etc/pam.d/common-auth
825- echo " auth [success=1 default=ignore] pam_unix.so nullok" >> /etc/pam.d/common-auth
826- echo " auth [default=die] pam_faillock.so authfail audit deny=4 fail_interval=900 unlock_time=600" >> /etc/pam.d/common-auth
827- echo " auth sufficient pam_faillock.so authsucc audit deny=4 fail_interval=900 unlock_time=600" >> /etc/pam.d/common-auth
828- echo " auth requisite pam_deny.so" >> /etc/pam.d/common-auth
829- echo " auth required pam_permit.so" >> /etc/pam.d/common-auth
824+ {
825+ echo " auth required pam_faillock.so preauth audit silent deny=4 fail_interval=900 unlock_time=600"
826+ echo " auth [success=1 default=ignore] pam_unix.so nullok"
827+ echo " auth [default=die] pam_faillock.so authfail audit deny=4 fail_interval=900 unlock_time=600"
828+ echo " auth sufficient pam_faillock.so authsucc audit deny=4 fail_interval=900 unlock_time=600"
829+ echo " auth requisite pam_deny.so"
830+ echo " auth required pam_permit.so"
831+ } >> /etc/pam.d/common-auth
830832
831833 # Backup the original file
832834 cp /etc/pam.d/common-account /etc/pam.d/common-account.bak
@@ -838,10 +840,12 @@ harden_auth() {
838840 # Backup the original file
839841 cp /etc/pam.d/common-password /etc/pam.d/common-password.bak
840842
841- echo " password requisite pam_pwquality.so retry=3" > /etc/pam.d/common-password
842- echo " password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass remember=5" >> /etc/pam.d/common-password
843- echo " password requisite pam_deny.so" >> /etc/pam.d/common-password
844- echo " password required pam_permit.so" >> /etc/pam.d/common-password
843+ {
844+ echo " password requisite pam_pwquality.so retry=3"
845+ echo " password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass remember=5"
846+ echo " password requisite pam_deny.so"
847+ echo " password required pam_permit.so"
848+ } >> /etc/pam.d/common-password
845849
846850 # ####################Password expiry policy#################
847851
0 commit comments