From 0bd40cdd73b6dc37cf374f044472dae0d65ce21b Mon Sep 17 00:00:00 2001 From: Clemens Schwaighofer Date: Wed, 4 Sep 2024 13:21:36 +0900 Subject: [PATCH 1/4] Create user: skip zip creation run if there are no PEM files Avoid "file not found" zip file creation and remove if there are no PEM files created, eg if we have a pre defined pub file --- bin/create_user.sh | 59 ++++++++++++++++++++++++---------------------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/bin/create_user.sh b/bin/create_user.sh index e12ec69..184733a 100755 --- a/bin/create_user.sh +++ b/bin/create_user.sh @@ -421,34 +421,37 @@ done; if [ ${INFO} -eq 1 ]; then exit; fi; -# zip everything and remove data in ssh key folder, delete output file with passwords -if [ ${TEST} -eq 0 ]; then - zip -r \ - "${ROOT_FOLDER}${output_zip_folder}${output_zip}" \ - "${input_file}" \ - "${output_file}" \ - "${SSH_KEYGEN_FOLDER}" \ - -x\*.gitignore; -else - echo "zip -r \\" - echo "${ROOT_FOLDER}${output_zip_folder}${output_zip} \\" - echo "${input_file} \\" - echo "${output_file} \\" - echo "${SSH_KEYGEN_FOLDER} \\" - echo "-x\*.gitignore;" -fi; -echo "Download: ${ROOT_FOLDER}${output_zip_folder}${output_zip}"; -# cleam up user log file and ssh keys -if [ ${TEST} -eq 0 ]; then - # move pub to created folders - mv "${ROOT_FOLDER}${SSH_KEYGEN_FOLDER}"*.pub "${ROOT_FOLDER}${SSH_KEYGEN_FOLDER_CREATED_PUB}"; - # delete the rest - rm "${ROOT_FOLDER}${output_file}"; - rm "${ROOT_FOLDER}${SSH_KEYGEN_FOLDER}"*; -else - echo "$> mv ${ROOT_FOLDER}${SSH_KEYGEN_FOLDER}*.pub ${ROOT_FOLDER}${SSH_KEYGEN_FOLDER_CREATED_PUB};"; - echo "$> rm ${ROOT_FOLDER}${output_file}"; - echo "$> rm ${ROOT_FOLDER}${SSH_KEYGEN_FOLDER}*"; +# check if there are any files in the SSH_KEYGEN_FOLDER, else skip zip file creation and file move +if (shopt -s nullglob dotglob; f=("${SSH_KEYGEN_FOLDER}"*".pem"*); ((${#f[@]}))); then + # zip everything and remove data in ssh key folder, delete output file with passwords + if [ ${TEST} -eq 0 ]; then + zip -r \ + "${ROOT_FOLDER}${output_zip_folder}${output_zip}" \ + "${input_file}" \ + "${output_file}" \ + "${SSH_KEYGEN_FOLDER}" \ + -x\*.gitignore; + else + echo "zip -r \\" + echo "${ROOT_FOLDER}${output_zip_folder}${output_zip} \\" + echo "${input_file} \\" + echo "${output_file} \\" + echo "${SSH_KEYGEN_FOLDER} \\" + echo "-x\*.gitignore;" + fi; + echo "Download: ${ROOT_FOLDER}${output_zip_folder}${output_zip}"; + # cleam up user log file and ssh keys + if [ ${TEST} -eq 0 ]; then + # move pub to created folders + mv "${ROOT_FOLDER}${SSH_KEYGEN_FOLDER}"*.pub "${ROOT_FOLDER}${SSH_KEYGEN_FOLDER_CREATED_PUB}"; + # delete the rest + rm "${ROOT_FOLDER}${output_file}"; + rm "${ROOT_FOLDER}${SSH_KEYGEN_FOLDER}"*; + else + echo "$> mv ${ROOT_FOLDER}${SSH_KEYGEN_FOLDER}*.pub ${ROOT_FOLDER}${SSH_KEYGEN_FOLDER_CREATED_PUB};"; + echo "$> rm ${ROOT_FOLDER}${output_file}"; + echo "$> rm ${ROOT_FOLDER}${SSH_KEYGEN_FOLDER}*"; + fi; fi; # __END__ From 5659cc010f8beeff4414927c679b8660969b4bd4 Mon Sep 17 00:00:00 2001 From: Clemens Schwaighofer Date: Wed, 4 Sep 2024 13:43:24 +0900 Subject: [PATCH 2/4] Update zip file/clean up skip with skip information --- bin/create_user.sh | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/bin/create_user.sh b/bin/create_user.sh index 184733a..58c4558 100755 --- a/bin/create_user.sh +++ b/bin/create_user.sh @@ -422,9 +422,13 @@ if [ ${INFO} -eq 1 ]; then exit; fi; # check if there are any files in the SSH_KEYGEN_FOLDER, else skip zip file creation and file move +has_pem_files=0; if (shopt -s nullglob dotglob; f=("${SSH_KEYGEN_FOLDER}"*".pem"*); ((${#f[@]}))); then - # zip everything and remove data in ssh key folder, delete output file with passwords - if [ ${TEST} -eq 0 ]; then + has_pem_files=1; +fi; +# zip everything and remove data in ssh key folder, delete output file with passwords +if [ ${TEST} -eq 0 ]; then + if [ "${has_pem_files}" -eq 1 ]; then zip -r \ "${ROOT_FOLDER}${output_zip_folder}${output_zip}" \ "${input_file}" \ @@ -432,26 +436,32 @@ if (shopt -s nullglob dotglob; f=("${SSH_KEYGEN_FOLDER}"*".pem"*); ((${#f[@]}))) "${SSH_KEYGEN_FOLDER}" \ -x\*.gitignore; else - echo "zip -r \\" - echo "${ROOT_FOLDER}${output_zip_folder}${output_zip} \\" - echo "${input_file} \\" - echo "${output_file} \\" - echo "${SSH_KEYGEN_FOLDER} \\" - echo "-x\*.gitignore;" + echo "- Skip ZIP file creation, no pem files"; fi; - echo "Download: ${ROOT_FOLDER}${output_zip_folder}${output_zip}"; - # cleam up user log file and ssh keys - if [ ${TEST} -eq 0 ]; then +else + echo "zip -r \\" + echo "${ROOT_FOLDER}${output_zip_folder}${output_zip} \\" + echo "${input_file} \\" + echo "${output_file} \\" + echo "${SSH_KEYGEN_FOLDER} \\" + echo "-x\*.gitignore;" +fi; +echo "Download: ${ROOT_FOLDER}${output_zip_folder}${output_zip}"; +# cleam up user log file and ssh keys +if [ ${TEST} -eq 0 ]; then + if [ "${has_pem_files}" -eq 1 ]; then # move pub to created folders mv "${ROOT_FOLDER}${SSH_KEYGEN_FOLDER}"*.pub "${ROOT_FOLDER}${SSH_KEYGEN_FOLDER_CREATED_PUB}"; # delete the rest rm "${ROOT_FOLDER}${output_file}"; rm "${ROOT_FOLDER}${SSH_KEYGEN_FOLDER}"*; else - echo "$> mv ${ROOT_FOLDER}${SSH_KEYGEN_FOLDER}*.pub ${ROOT_FOLDER}${SSH_KEYGEN_FOLDER_CREATED_PUB};"; - echo "$> rm ${ROOT_FOLDER}${output_file}"; - echo "$> rm ${ROOT_FOLDER}${SSH_KEYGEN_FOLDER}*"; + echo "- Skip pub file move and cleanup, no pem files"; fi; +else + echo "$> mv ${ROOT_FOLDER}${SSH_KEYGEN_FOLDER}*.pub ${ROOT_FOLDER}${SSH_KEYGEN_FOLDER_CREATED_PUB};"; + echo "$> rm ${ROOT_FOLDER}${output_file}"; + echo "$> rm ${ROOT_FOLDER}${SSH_KEYGEN_FOLDER}*"; fi; # __END__ From 090d6f9cec8cc8c95910068d84dee694de80a0b9 Mon Sep 17 00:00:00 2001 From: Clemens Schwaighofer Date: Wed, 4 Sep 2024 13:44:47 +0900 Subject: [PATCH 3/4] Download zip file message only if there is a file to download --- bin/create_user.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/create_user.sh b/bin/create_user.sh index 58c4558..7062403 100755 --- a/bin/create_user.sh +++ b/bin/create_user.sh @@ -435,6 +435,7 @@ if [ ${TEST} -eq 0 ]; then "${output_file}" \ "${SSH_KEYGEN_FOLDER}" \ -x\*.gitignore; + echo "Download: ${ROOT_FOLDER}${output_zip_folder}${output_zip}"; else echo "- Skip ZIP file creation, no pem files"; fi; @@ -445,8 +446,8 @@ else echo "${output_file} \\" echo "${SSH_KEYGEN_FOLDER} \\" echo "-x\*.gitignore;" + echo "Download: ${ROOT_FOLDER}${output_zip_folder}${output_zip}"; fi; -echo "Download: ${ROOT_FOLDER}${output_zip_folder}${output_zip}"; # cleam up user log file and ssh keys if [ ${TEST} -eq 0 ]; then if [ "${has_pem_files}" -eq 1 ]; then From 83f84abd46ae113ef54e7e07ba8edfcd3abf76d5 Mon Sep 17 00:00:00 2001 From: Clemens Schwaighofer Date: Wed, 4 Sep 2024 14:04:25 +0900 Subject: [PATCH 4/4] Fix skip naming for zip/move creation --- bin/create_user.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/create_user.sh b/bin/create_user.sh index 7062403..cff66a2 100755 --- a/bin/create_user.sh +++ b/bin/create_user.sh @@ -437,7 +437,7 @@ if [ ${TEST} -eq 0 ]; then -x\*.gitignore; echo "Download: ${ROOT_FOLDER}${output_zip_folder}${output_zip}"; else - echo "- Skip ZIP file creation, no pem files"; + echo "Skip ZIP file creation, no pem files"; fi; else echo "zip -r \\" @@ -457,7 +457,7 @@ if [ ${TEST} -eq 0 ]; then rm "${ROOT_FOLDER}${output_file}"; rm "${ROOT_FOLDER}${SSH_KEYGEN_FOLDER}"*; else - echo "- Skip pub file move and cleanup, no pem files"; + echo "Skip pub file move and cleanup, no pem files"; fi; else echo "$> mv ${ROOT_FOLDER}${SSH_KEYGEN_FOLDER}*.pub ${ROOT_FOLDER}${SSH_KEYGEN_FOLDER_CREATED_PUB};";