Author: Paolo Lulli <paolo@lulli.net>
Add key deletion feature
.gitignore | 1 + nyckel | 21 +++++++++++++++++++++
diff --git a/.gitignore b/.gitignore index e50730c1ae5a2d58dd286caf71c4ba13a7937323..8bdb31c6e7d899c996eeb4a2ef5717c1ff4fe03c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ keepass.keyx +.idea/* diff --git a/nyckel b/nyckel index 823f0f806e744b615bd10f33ec3ed19a2ea5cf2f..b8c59eba1733d59e5da2d95d8cf47e5587b0f0eb 100755 --- a/nyckel +++ b/nyckel @@ -77,6 +77,14 @@ keepassxc-cli add --key-file ${KEEPASS_FILE} --no-password ${KEEPASS_DB} -u ${entry_user} ${entry} --password-prompt } +delete_secret(){ + profile=$1 + entry=$2 + source "$CONFIG_DIR/$profile/config" + + keepassxc-cli rm --key-file ${KEEPASS_FILE} --no-password ${KEEPASS_DB} ${entry} +} + update_secret(){ profile=$1 entry=$2 @@ -126,10 +134,18 @@ } usage(){ program=$(basename $0) +echo " _ _ _ _ " +echo "| \ | |_ _ ___| | _____| |" +echo "| \| | | | |/ __| |/ / _ \ |" +echo "| |\ | |_| | (__| < __/ |" +echo "|_| \_|\__, |\___|_|\_\___|_|" +echo " |___/ " +echo " " echo "${program} -C <profile> : Create db <profile>" echo "${program} -L : List profiles" echo "${program} <profile> -l : List keys in db <profile>" echo "${program} <profile> -W <secret> : Write <secret> into <profile> db" + echo "${program} <profile> -D <secret> : Delete <secret> from <profile> db" echo "${program} <profile> -U <secret> : Update <secret> into <profile> db" echo "${program} <profile> -G <secret> : Generate a random secret and write as <secret> into <profile> db" echo "${program} <profile> -s <secret> : Show <secret> from <profile> db" @@ -176,6 +192,11 @@ profile_name=$1 entryname=$3 if [ "$2" == "-W" ]; then add_secret "${profile_name}" "${entryname}" + exit + fi + + if [ "$2" == "-D" ]; then + delete_secret "${profile_name}" "${entryname}" exit fi