Fügen Sie bestimmten Bash-Befehlen einen Kennwortschutz oder eine Eingabeaufforderung hinzu

Fügen Sie bestimmten Bash-Befehlen einen Kennwortschutz oder eine Eingabeaufforderung hinzu

entschuldigen Sie, wenn dies bereits gefragt wurde, aber ich kann keine Antwort finden

heute habe ich aus Versehen viele sensible arbeitsbezogene Daten gelöscht, weil ich geistesabwesend war... statt „rclone ls s3-W54689000078:all_data“ habe ich „rclone delete s3-W54689000078:all_data“ eingegeben. Es ist ein Wunder, dass ich nichts Wichtiges verloren habe, vor allem, weil ich sofort gesehen habe, was ich eingegeben habe, aber ich würde dem Befehl „rclone delete“ gerne eine zusätzliche Sicherheitsebene hinzufügen. Gibt es eine Möglichkeit, daraus entweder einen Sudo-Befehl zu machen oder einfach das Terminal dazu zu bringen, mich zu fragen, wenn ich „rclone delete“ eingebe?

Prost

Antwort1

Als schnelle Antwort habe ich eine Idee, Sie können das folgende Bash-Skript schreiben:

echo "Are you sure? (Yes/No)"
read result;
if [[ "$result" == "Yes"  ]]; then
        exit 0
else
        exit 1
fi

dann verwenden chmod, um ausführbaren Zugriff zu gewähren

$ chmod a+x confirm.sh

und verwenden Sie es alias, um einige Befehle zu schützen, zum Beispiel:

$ alias rclone_delete="~/confirm.sh && rclone delete"

Sie können das Bestätigungsskript für Ihren Anwendungsfall verbessern, z. B. indem Sie die Frage in „Passwort eingeben“ ändern und „Ja“ in ein bestimmtes Passwort ändern.

verwandte Informationen