Skip to content

Commit 3a342b7

Browse files
committed
IMP(shfmt): add shell formatter
1 parent bc1aa65 commit 3a342b7

File tree

300 files changed

+2370
-2427
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

300 files changed

+2370
-2427
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
tmp/shfmt

bin/hardening.sh

Lines changed: 71 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ SUDO_MODE=''
2828
BATCH_MODE=''
2929

3030
usage() {
31-
cat << EOF
31+
cat <<EOF
3232
$LONG_SCRIPT_NAME <RUN_MODE> [OPTIONS], where RUN_MODE is one of:
3333
3434
--help -h
@@ -117,48 +117,48 @@ declare -a TEST_LIST ALLOWED_SERVICES_LIST
117117
while [[ $# > 0 ]]; do
118118
ARG="$1"
119119
case $ARG in
120-
--audit)
121-
AUDIT=1
120+
--audit)
121+
AUDIT=1
122122
;;
123-
--audit-all)
124-
AUDIT_ALL=1
123+
--audit-all)
124+
AUDIT_ALL=1
125125
;;
126-
--audit-all-enable-passed)
127-
AUDIT_ALL_ENABLE_PASSED=1
126+
--audit-all-enable-passed)
127+
AUDIT_ALL_ENABLE_PASSED=1
128128
;;
129-
--apply)
130-
APPLY=1
129+
--apply)
130+
APPLY=1
131131
;;
132-
--allow-service-list)
133-
ALLOW_SERVICE_LIST=1
132+
--allow-service-list)
133+
ALLOW_SERVICE_LIST=1
134134
;;
135-
--create-config-files-only)
136-
CREATE_CONFIG=1
135+
--create-config-files-only)
136+
CREATE_CONFIG=1
137137
;;
138-
--allow-service)
139-
ALLOWED_SERVICES_LIST[${#ALLOWED_SERVICES_LIST[@]}]="$2"
140-
shift
138+
--allow-service)
139+
ALLOWED_SERVICES_LIST[${#ALLOWED_SERVICES_LIST[@]}]="$2"
140+
shift
141141
;;
142-
--set-hardening-level)
143-
SET_HARDENING_LEVEL="$2"
144-
shift
142+
--set-hardening-level)
143+
SET_HARDENING_LEVEL="$2"
144+
shift
145145
;;
146-
--only)
147-
TEST_LIST[${#TEST_LIST[@]}]="$2"
148-
shift
146+
--only)
147+
TEST_LIST[${#TEST_LIST[@]}]="$2"
148+
shift
149149
;;
150-
--sudo)
151-
SUDO_MODE='--sudo'
150+
--sudo)
151+
SUDO_MODE='--sudo'
152152
;;
153-
--batch)
154-
BATCH_MODE='--batch'
155-
LOGLEVEL=ok
153+
--batch)
154+
BATCH_MODE='--batch'
155+
LOGLEVEL=ok
156156
;;
157-
-h|--help)
158-
usage
157+
-h | --help)
158+
usage
159159
;;
160-
*)
161-
usage
160+
*)
161+
usage
162162
;;
163163
esac
164164
shift
@@ -174,20 +174,20 @@ if [ -r /etc/default/cis-hardening ]; then
174174
. /etc/default/cis-hardening
175175
fi
176176
if [ -z "$CIS_ROOT_DIR" ]; then
177-
echo "There is no /etc/default/cis-hardening file nor cis-hardening directory in current environment."
178-
echo "Cannot source CIS_ROOT_DIR variable, aborting."
177+
echo "There is no /etc/default/cis-hardening file nor cis-hardening directory in current environment."
178+
echo "Cannot source CIS_ROOT_DIR variable, aborting."
179179
exit 128
180180
fi
181181

182-
[ -r $CIS_ROOT_DIR/lib/constants.sh ] && . $CIS_ROOT_DIR/lib/constants.sh
182+
[ -r $CIS_ROOT_DIR/lib/constants.sh ] && . $CIS_ROOT_DIR/lib/constants.sh
183183
[ -r $CIS_ROOT_DIR/etc/hardening.cfg ] && . $CIS_ROOT_DIR/etc/hardening.cfg
184-
[ -r $CIS_ROOT_DIR/lib/common.sh ] && . $CIS_ROOT_DIR/lib/common.sh
185-
[ -r $CIS_ROOT_DIR/lib/utils.sh ] && . $CIS_ROOT_DIR/lib/utils.sh
184+
[ -r $CIS_ROOT_DIR/lib/common.sh ] && . $CIS_ROOT_DIR/lib/common.sh
185+
[ -r $CIS_ROOT_DIR/lib/utils.sh ] && . $CIS_ROOT_DIR/lib/utils.sh
186186

187187
if [ $BATCH_MODE ]; then MACHINE_LOG_LEVEL=3; fi
188188

189189
# If --allow-service-list is specified, don't run anything, just list the supported services
190-
if [ "$ALLOW_SERVICE_LIST" = 1 ] ; then
190+
if [ "$ALLOW_SERVICE_LIST" = 1 ]; then
191191
declare -a HARDENING_EXCEPTIONS_LIST
192192
for SCRIPT in $(ls $CIS_ROOT_DIR/bin/hardening/*.sh -v); do
193193
template=$(grep "^HARDENING_EXCEPTION=" "$SCRIPT" | cut -d= -f2)
@@ -198,16 +198,16 @@ if [ "$ALLOW_SERVICE_LIST" = 1 ] ; then
198198
fi
199199

200200
# If --set-hardening-level is specified, don't run anything, just apply config for each script
201-
if [ -n "$SET_HARDENING_LEVEL" -a "$SET_HARDENING_LEVEL" != 0 ] ; then
202-
if ! grep -q "^[12345]$" <<< "$SET_HARDENING_LEVEL" ; then
201+
if [ -n "$SET_HARDENING_LEVEL" -a "$SET_HARDENING_LEVEL" != 0 ]; then
202+
if ! grep -q "^[12345]$" <<<"$SET_HARDENING_LEVEL"; then
203203
echo "Bad --set-hardening-level specified ('$SET_HARDENING_LEVEL'), expected 1 to 5"
204204
exit 1
205205
fi
206206

207207
for SCRIPT in $(ls $CIS_ROOT_DIR/bin/hardening/*.sh -v); do
208208
SCRIPT_BASENAME=$(basename $SCRIPT .sh)
209209
script_level=$(grep "^HARDENING_LEVEL=" "$SCRIPT" | cut -d= -f2)
210-
if [ -z "$script_level" ] ; then
210+
if [ -z "$script_level" ]; then
211211
echo "The script $SCRIPT_BASENAME doesn't have a hardening level, configuration untouched for it"
212212
continue
213213
fi
@@ -226,11 +226,11 @@ fi
226226

227227
# Parse every scripts and execute them in the required mode
228228
for SCRIPT in $(ls $CIS_ROOT_DIR/bin/hardening/*.sh -v); do
229-
if [ ${#TEST_LIST[@]} -gt 0 ] ; then
229+
if [ ${#TEST_LIST[@]} -gt 0 ]; then
230230
# --only X has been specified at least once, is this script in my list ?
231-
SCRIPT_PREFIX=$(grep -Eo '^[0-9.]+' <<< "$(basename $SCRIPT)")
232-
SCRIPT_PREFIX_RE=$(sed -e 's/\./\\./g' <<< "$SCRIPT_PREFIX")
233-
if ! grep -qwE "(^| )$SCRIPT_PREFIX_RE" <<< "${TEST_LIST[@]}"; then
231+
SCRIPT_PREFIX=$(grep -Eo '^[0-9.]+' <<<"$(basename $SCRIPT)")
232+
SCRIPT_PREFIX_RE=$(sed -e 's/\./\\./g' <<<"$SCRIPT_PREFIX")
233+
if ! grep -qwE "(^| )$SCRIPT_PREFIX_RE" <<<"${TEST_LIST[@]}"; then
234234
# not in the list
235235
continue
236236
fi
@@ -258,56 +258,56 @@ for SCRIPT in $(ls $CIS_ROOT_DIR/bin/hardening/*.sh -v); do
258258

259259
debug "Script $SCRIPT finished with exit code $SCRIPT_EXITCODE"
260260
case $SCRIPT_EXITCODE in
261-
0)
262-
debug "$SCRIPT passed"
263-
PASSED_CHECKS=$((PASSED_CHECKS+1))
264-
if [ $AUDIT_ALL_ENABLE_PASSED = 1 ] ; then
265-
SCRIPT_BASENAME=$(basename $SCRIPT .sh)
266-
sed -i -re 's/^status=.+/status=enabled/' $CIS_ROOT_DIR/etc/conf.d/$SCRIPT_BASENAME.cfg
267-
info "Status set to enabled in $CIS_ROOT_DIR/etc/conf.d/$SCRIPT_BASENAME.cfg"
268-
fi
261+
0)
262+
debug "$SCRIPT passed"
263+
PASSED_CHECKS=$((PASSED_CHECKS + 1))
264+
if [ $AUDIT_ALL_ENABLE_PASSED = 1 ]; then
265+
SCRIPT_BASENAME=$(basename $SCRIPT .sh)
266+
sed -i -re 's/^status=.+/status=enabled/' $CIS_ROOT_DIR/etc/conf.d/$SCRIPT_BASENAME.cfg
267+
info "Status set to enabled in $CIS_ROOT_DIR/etc/conf.d/$SCRIPT_BASENAME.cfg"
268+
fi
269269
;;
270-
1)
271-
debug "$SCRIPT failed"
272-
FAILED_CHECKS=$((FAILED_CHECKS+1))
270+
1)
271+
debug "$SCRIPT failed"
272+
FAILED_CHECKS=$((FAILED_CHECKS + 1))
273273
;;
274-
2)
275-
debug "$SCRIPT is disabled"
276-
DISABLED_CHECKS=$((DISABLED_CHECKS+1))
274+
2)
275+
debug "$SCRIPT is disabled"
276+
DISABLED_CHECKS=$((DISABLED_CHECKS + 1))
277277
;;
278278
esac
279279

280-
TOTAL_CHECKS=$((TOTAL_CHECKS+1))
280+
TOTAL_CHECKS=$((TOTAL_CHECKS + 1))
281281

282282
done
283283

284-
TOTAL_TREATED_CHECKS=$((TOTAL_CHECKS-DISABLED_CHECKS))
284+
TOTAL_TREATED_CHECKS=$((TOTAL_CHECKS - DISABLED_CHECKS))
285285

286286
if [ $BATCH_MODE ]; then
287287
BATCH_SUMMARY="AUDIT_SUMMARY "
288288
BATCH_SUMMARY+="PASSED_CHECKS:${PASSED_CHECKS:-0} "
289289
BATCH_SUMMARY+="RUN_CHECKS:${TOTAL_TREATED_CHECKS:-0} "
290290
BATCH_SUMMARY+="TOTAL_CHECKS_AVAIL:${TOTAL_CHECKS:-0}"
291291
if [ $TOTAL_TREATED_CHECKS != 0 ]; then
292-
CONFORMITY_PERCENTAGE=$(bc -l <<< "scale=2; ($PASSED_CHECKS/$TOTAL_TREATED_CHECKS) * 100")
292+
CONFORMITY_PERCENTAGE=$(bc -l <<<"scale=2; ($PASSED_CHECKS/$TOTAL_TREATED_CHECKS) * 100")
293293
BATCH_SUMMARY+=" CONFORMITY_PERCENTAGE:$(printf "%s" "$CONFORMITY_PERCENTAGE")"
294294
else
295295
BATCH_SUMMARY+=" CONFORMITY_PERCENTAGE:N.A" # No check runned, avoid division by 0
296296
fi
297297
becho $BATCH_SUMMARY
298298
else
299299
printf "%40s\n" "################### SUMMARY ###################"
300-
printf "%30s %s\n" "Total Available Checks :" "$TOTAL_CHECKS"
301-
printf "%30s %s\n" "Total Runned Checks :" "$TOTAL_TREATED_CHECKS"
302-
printf "%30s [ %7s ]\n" "Total Passed Checks :" "$PASSED_CHECKS/$TOTAL_TREATED_CHECKS"
303-
printf "%30s [ %7s ]\n" "Total Failed Checks :" "$FAILED_CHECKS/$TOTAL_TREATED_CHECKS"
304-
305-
ENABLED_CHECKS_PERCENTAGE=$(bc -l <<< "scale=2; ($TOTAL_TREATED_CHECKS/$TOTAL_CHECKS) * 100")
306-
CONFORMITY_PERCENTAGE=$(bc -l <<< "scale=2; ($PASSED_CHECKS/$TOTAL_TREATED_CHECKS) * 100")
307-
printf "%30s %s %%\n" "Enabled Checks Percentage :" "$ENABLED_CHECKS_PERCENTAGE"
300+
printf "%30s %s\n" "Total Available Checks :" "$TOTAL_CHECKS"
301+
printf "%30s %s\n" "Total Runned Checks :" "$TOTAL_TREATED_CHECKS"
302+
printf "%30s [ %7s ]\n" "Total Passed Checks :" "$PASSED_CHECKS/$TOTAL_TREATED_CHECKS"
303+
printf "%30s [ %7s ]\n" "Total Failed Checks :" "$FAILED_CHECKS/$TOTAL_TREATED_CHECKS"
304+
305+
ENABLED_CHECKS_PERCENTAGE=$(bc -l <<<"scale=2; ($TOTAL_TREATED_CHECKS/$TOTAL_CHECKS) * 100")
306+
CONFORMITY_PERCENTAGE=$(bc -l <<<"scale=2; ($PASSED_CHECKS/$TOTAL_TREATED_CHECKS) * 100")
307+
printf "%30s %s %%\n" "Enabled Checks Percentage :" "$ENABLED_CHECKS_PERCENTAGE"
308308
if [ $TOTAL_TREATED_CHECKS != 0 ]; then
309-
printf "%30s %s %%\n" "Conformity Percentage :" "$CONFORMITY_PERCENTAGE"
309+
printf "%30s %s %%\n" "Conformity Percentage :" "$CONFORMITY_PERCENTAGE"
310310
else
311-
printf "%30s %s %%\n" "Conformity Percentage :" "N.A" # No check runned, avoid division by 0
311+
printf "%30s %s %%\n" "Conformity Percentage :" "N.A" # No check runned, avoid division by 0
312312
fi
313313
fi

bin/hardening/1.1.1.1_disable_freevxfs.sh

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@ DESCRIPTION="Disable mounting of freevxfs filesystems."
2020
KERNEL_OPTION="CONFIG_VXFS_FS"
2121
MODULE_NAME="freevxfs"
2222

23-
2423
# This function will be called if the script status is on enabled / audit mode
25-
audit () {
24+
audit() {
2625
is_kernel_option_enabled "$KERNEL_OPTION" "$MODULE_NAME"
2726
if [ "$FNRET" = 0 ]; then # 0 means true in bash, so it IS activated
2827
crit "$KERNEL_OPTION is enabled!"
@@ -32,7 +31,7 @@ audit () {
3231
}
3332

3433
# This function will be called if the script status is on enabled mode
35-
apply () {
34+
apply() {
3635
is_kernel_option_enabled "$KERNEL_OPTION"
3736
if [ "$FNRET" = 0 ]; then # 0 means true in bash, so it IS activated
3837
warn "I cannot fix $KERNEL_OPTION enabled, recompile your kernel please"
@@ -48,18 +47,18 @@ check_config() {
4847

4948
# Source Root Dir Parameter
5049
if [ -r /etc/default/cis-hardening ]; then
51-
# shellcheck source=../../debian/default
50+
# shellcheck source=../../debian/default
5251
. /etc/default/cis-hardening
5352
fi
5453
if [ -z "$CIS_ROOT_DIR" ]; then
55-
echo "There is no /etc/default/cis-hardening file nor cis-hardening directory in current environment."
56-
echo "Cannot source CIS_ROOT_DIR variable, aborting."
54+
echo "There is no /etc/default/cis-hardening file nor cis-hardening directory in current environment."
55+
echo "Cannot source CIS_ROOT_DIR variable, aborting."
5756
exit 128
5857
fi
5958

6059
# Main function, will call the proper functions given the configuration (audit, enabled, disabled)
6160
if [ -r "$CIS_ROOT_DIR"/lib/main.sh ]; then
62-
# shellcheck source=../../lib/main.sh
61+
# shellcheck source=../../lib/main.sh
6362
. "$CIS_ROOT_DIR"/lib/main.sh
6463
else
6564
echo "Cannot find main.sh, have you correctly defined your root directory? Current value is $CIS_ROOT_DIR in /etc/default/cis-hardening"

bin/hardening/1.1.1.2_disable_jffs2.sh

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@ DESCRIPTION="Disable mounting of jffs2 filesystems."
2020
KERNEL_OPTION="CONFIG_JFFS2_FS"
2121
MODULE_NAME="jffs2"
2222

23-
2423
# This function will be called if the script status is on enabled / audit mode
25-
audit () {
24+
audit() {
2625
is_kernel_option_enabled "$KERNEL_OPTION" "$MODULE_NAME"
2726
if [ "$FNRET" = 0 ]; then # 0 means true in bash, so it IS activated
2827
crit "$KERNEL_OPTION is enabled!"
@@ -32,7 +31,7 @@ audit () {
3231
}
3332

3433
# This function will be called if the script status is on enabled mode
35-
apply () {
34+
apply() {
3635
is_kernel_option_enabled "$KERNEL_OPTION"
3736
if [ "$FNRET" = 0 ]; then # 0 means true in bash, so it IS activated
3837
warn "I cannot fix $KERNEL_OPTION enabled, recompile your kernel please"
@@ -48,18 +47,18 @@ check_config() {
4847

4948
# Source Root Dir Parameter
5049
if [ -r /etc/default/cis-hardening ]; then
51-
# shellcheck source=../../debian/default
50+
# shellcheck source=../../debian/default
5251
. /etc/default/cis-hardening
5352
fi
5453
if [ -z "$CIS_ROOT_DIR" ]; then
55-
echo "There is no /etc/default/cis-hardening file nor cis-hardening directory in current environment."
56-
echo "Cannot source CIS_ROOT_DIR variable, aborting."
54+
echo "There is no /etc/default/cis-hardening file nor cis-hardening directory in current environment."
55+
echo "Cannot source CIS_ROOT_DIR variable, aborting."
5756
exit 128
5857
fi
5958

6059
# Main function, will call the proper functions given the configuration (audit, enabled, disabled)
6160
if [ -r "$CIS_ROOT_DIR"/lib/main.sh ]; then
62-
# shellcheck source=../../lib/main.sh
61+
# shellcheck source=../../lib/main.sh
6362
. "$CIS_ROOT_DIR"/lib/main.sh
6463
else
6564
echo "Cannot find main.sh, have you correctly defined your root directory? Current value is $CIS_ROOT_DIR in /etc/default/cis-hardening"

bin/hardening/1.1.1.3_disable_hfs.sh

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@ DESCRIPTION="Disable mounting of hfs filesystems."
2020
KERNEL_OPTION="CONFIG_HFS_FS"
2121
MODULE_FILE="hfs"
2222

23-
2423
# This function will be called if the script status is on enabled / audit mode
25-
audit () {
24+
audit() {
2625
is_kernel_option_enabled "$KERNEL_OPTION" $MODULE_FILE
2726
if [ "$FNRET" = 0 ]; then # 0 means true in bash, so it IS activated
2827
crit "$KERNEL_OPTION is enabled!"
@@ -32,7 +31,7 @@ audit () {
3231
}
3332

3433
# This function will be called if the script status is on enabled mode
35-
apply () {
34+
apply() {
3635
is_kernel_option_enabled "$KERNEL_OPTION"
3736
if [ "$FNRET" = 0 ]; then # 0 means true in bash, so it IS activated
3837
warn "I cannot fix $KERNEL_OPTION enabled, recompile your kernel please"
@@ -48,18 +47,18 @@ check_config() {
4847

4948
# Source Root Dir Parameter
5049
if [ -r /etc/default/cis-hardening ]; then
51-
# shellcheck source=../../debian/default
50+
# shellcheck source=../../debian/default
5251
. /etc/default/cis-hardening
5352
fi
5453
if [ -z "$CIS_ROOT_DIR" ]; then
55-
echo "There is no /etc/default/cis-hardening file nor cis-hardening directory in current environment."
56-
echo "Cannot source CIS_ROOT_DIR variable, aborting."
54+
echo "There is no /etc/default/cis-hardening file nor cis-hardening directory in current environment."
55+
echo "Cannot source CIS_ROOT_DIR variable, aborting."
5756
exit 128
5857
fi
5958

6059
# Main function, will call the proper functions given the configuration (audit, enabled, disabled)
6160
if [ -r "$CIS_ROOT_DIR"/lib/main.sh ]; then
62-
# shellcheck source=../../lib/main.sh
61+
# shellcheck source=../../lib/main.sh
6362
. "$CIS_ROOT_DIR"/lib/main.sh
6463
else
6564
echo "Cannot find main.sh, have you correctly defined your root directory? Current value is $CIS_ROOT_DIR in /etc/default/cis-hardening"

0 commit comments

Comments
 (0)