diff --git a/SOLUTION b/SOLUTION index 0e969ab..ada0c07 100644 --- a/SOLUTION +++ b/SOLUTION @@ -1,3 +1,4 @@ +@@ -1,3 +1 @@ << Change this line. The secret must be placed in the first line -# Good Luck! \ No newline at end of file +# Good Luck! diff --git a/mySolution.sh b/mySolution.sh index e69de29..0e5589d 100644 --- a/mySolution.sh +++ b/mySolution.sh @@ -0,0 +1,13 @@ +#!/bin/bash +cd src +rm -rf maliciousFiles +mkdir -p sectretDir +mv generateSecret.sh./secretDir +cd secretDir +touch secretDir/.secret +chomod 600 secretDir/.secret +./generateSecret.sh + +SECRET=$(head -n 1 secretDir/.secret) +cd.. +echo "$SECRET" | cut -c -32 >SOLUTION diff --git a/secretGenerator.tar b/secretGenerator.tar new file mode 100644 index 0000000..0d00abf --- /dev/null +++ b/secretGenerator.tar @@ -0,0 +1,37 @@ +gonna the sun +that crosses land +and tired +#!/bin/bash + +# practice dir creation +if [ ! -d "secretDir" ]; then + echo "Failed to generate secret. The directory 'secretDir' must exist before." + exit 1 +fi + +# practice dir deletion and file move +if [ -d "maliciousFiles" ]; then + echo "Failed to generate secret. The directory 'maliciousFiles' contains some malicious files... it must be removed before." + exit 1 +fi + +# practice file creation +if [ ! -f "secretDir/.secret" ]; then + echo "Failed to generate secret. The directory 'secretDir' must contain a file '.secret' in which the secret will be stored." + exit 1 +fi + +# practice change permissions +OCTAL_PERMISSIONS=$(stat -c "%a" secretDir/.secret) +if [ "$OCTAL_PERMISSIONS" != "600" ]; then + echo "Failed to generate secret. The file 'secretDir/.secret' must have read and write permission only." + exit 1 +fi + +# practice file linking understanding +if [ -L 'important.link' ] && [ ! -e 'important.link' ]; then + echo "Failed to generate secret. Secret can not be generated when broken file link exists. Please do something..." + exit 1 +fi + +cat ./CONTENT_TO_HASH | xargs | md5sum > secretDir/.secret && echo "Done! Your secret was stored in secretDir/.secret"