a
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env bash
|
||||
# Configuration file to check
|
||||
FILE="/etc/login.defs"
|
||||
# Pattern to search for
|
||||
PATTERN="ENCRYPT_METHOD"
|
||||
|
||||
# Check if the configuration file exists
|
||||
if [ ! -f "$FILE" ]; then
|
||||
echo "File $FILE not found."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Search for the pattern, whether it's commented or not
|
||||
grep -Eq "^#?\s*$PATTERN\s+\S+$" "$FILE"
|
||||
FOUND=$?
|
||||
|
||||
# If the pattern is found
|
||||
if [ $FOUND -eq 0 ]; then
|
||||
# Check if the pattern is commented
|
||||
|
||||
grep -Eq "^#\s*$PATTERN\s+\S+$" "$FILE"
|
||||
COMMENTED=$?
|
||||
|
||||
if [ $COMMENTED -eq 0 ]; then
|
||||
echo "Pattern $PATTERN is commented."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
line=$(grep -E "^\s*$PATTERN\s+\S+$" "$FILE")
|
||||
if [ -n "$line" ]; then
|
||||
word=$(echo "$line" | awk '{print $2}')
|
||||
fi
|
||||
|
||||
if [[ -n "$word" ]]; then
|
||||
# Compare the extracted word with SHA512 UND YESCRYPT
|
||||
VALUE1="SHA512"
|
||||
VALUE2="YESCRYPT"
|
||||
|
||||
if [ "$word" != "$VALUE1" ] && [ "$word" != "$VALUE2" ]; then
|
||||
echo "The value of $PATTERN ($word) is not good."
|
||||
exit 1
|
||||
else
|
||||
echo "The value of $PATTERN ($word) is valid (equal to SHA512 or YESCRYPT). No changes needed."
|
||||
exit 0
|
||||
fi
|
||||
else
|
||||
echo "No valid value for $PATTERN found."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
echo "Pattern $PATTERN not found."
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user