Ασκήσεις Shell Scripting: Προχωρημένη ασφάλεια
Οι ασκήσεις εμβαθύνουν στο θέμα: Threat modeling, προστασία από injection, secrets, permissions, ασφαλής διαγραφή και incident response. Κάθε εργασία απαιτεί αναπαραγώγιμο evidence, όχι μόνο περιγραφή.
Μορφή υποβολής
- script ή patch
- δοκιμαστικά δεδομένα που χρησιμοποιήθηκαν
- εντολές που εκτελέστηκαν
- exit codes
- σύντομη σημείωση κινδύνου και recovery
Εργασίες
Εργασία 01: quoting
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «quoting».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 02: exit codes
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «exit codes».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 03: pipelines
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «pipelines».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 04: getopts
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «getopts».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 05: trap
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «trap».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 06: mktemp
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «mktemp».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 07: text processing
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «text processing».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 08: security
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «security».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 09: quoting
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «quoting».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 10: exit codes
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «exit codes».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 11: pipelines
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «pipelines».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 12: getopts
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «getopts».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 13: trap
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «trap».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 14: mktemp
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «mktemp».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 15: text processing
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «text processing».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 16: security
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «security».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 17: quoting
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «quoting».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 18: exit codes
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «exit codes».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 19: pipelines
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «pipelines».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 20: getopts
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «getopts».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 21: trap
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «trap».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 22: mktemp
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «mktemp».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 23: text processing
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «text processing».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 24: security
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «security».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 25: quoting
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «quoting».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 26: exit codes
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «exit codes».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 27: pipelines
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «pipelines».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 28: getopts
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «getopts».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 29: trap
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «trap».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 30: mktemp
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «mktemp».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 31: text processing
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «text processing».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 32: security
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «security».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 33: quoting
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «quoting».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 34: exit codes
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «exit codes».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 35: pipelines
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «pipelines».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Εργασία 36: getopts
Δημιουργήστε μικρό script ή βελτιώστε υπάρχον παράδειγμα με έμφαση στο θέμα «getopts».
Απαιτήσεις:
- Το
bash -nπρέπει να ολοκληρώνεται επιτυχώς. - Μη έγκυρα inputs πρέπει να επιστρέφουν εξηγήσιμο exit code.
- Το output για ανθρώπους και το machine-readable output πρέπει να διαχωρίζονται.
- Το script δεν πρέπει να χρησιμοποιεί production paths ή secrets.
Evidence:
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
Σημειώσεις λύσης
Χρησιμοποιήστε μικρές functions, συνεπές quoting και σαφή function usage. Καταγράψτε πρώτα τη διαδρομή σφάλματος και έπειτα την επιτυχημένη διαδρομή. Το dry-run είναι υποχρεωτικό για καταστροφικές ενέργειες.
Λίστα ελέγχου review για τις ασκήσεις: Προχωρημένη ασφάλεια
- 01. κατονομάστε ρητά το shebang και το target shell: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 02. χρησιμοποιήστε quoting για variable expansions, εκτός αν το word splitting είναι σκόπιμο: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 03. επαληθεύστε τα inputs πριν επηρεάσουν filenames, options ή commands: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 04. αξιολογήστε και τεκμηριώστε ρητά τα exit codes: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 05. διαχωρίστε stderr και stdout: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 06. δημιουργήστε προσωρινά αρχεία με
mktemp: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο. - 07. δοκιμάστε το cleanup μέσω
trap: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο. - 08. προστατεύστε τις καταστροφικές ενέργειες με dry-run, ελέγχους scope και επιβεβαίωση: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 09. μην εκτυπώνετε και μην κάνετε commit τα secrets: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 10. ελέγξτε το PATH και τις εξωτερικές εξαρτήσεις: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 11. αντιμετωπίστε τα ShellCheck warnings ή αιτιολογήστε την καταστολή τους: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 12. τεκμηριώστε τις παραδοχές φορητότητας μεταξύ Bash και POSIX sh: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 13. κατονομάστε ρητά το shebang και το target shell: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 14. χρησιμοποιήστε quoting για variable expansions, εκτός αν το word splitting είναι σκόπιμο: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 15. επαληθεύστε τα inputs πριν επηρεάσουν filenames, options ή commands: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 16. αξιολογήστε και τεκμηριώστε ρητά τα exit codes: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 17. διαχωρίστε stderr και stdout: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 18. δημιουργήστε προσωρινά αρχεία με
mktemp: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο. - 19. δοκιμάστε το cleanup μέσω
trap: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο. - 20. προστατεύστε τις καταστροφικές ενέργειες με dry-run, ελέγχους scope και επιβεβαίωση: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 21. μην εκτυπώνετε και μην κάνετε commit τα secrets: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 22. ελέγξτε το PATH και τις εξωτερικές εξαρτήσεις: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 23. αντιμετωπίστε τα ShellCheck warnings ή αιτιολογήστε την καταστολή τους: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 24. τεκμηριώστε τις παραδοχές φορητότητας μεταξύ Bash και POSIX sh: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 25. κατονομάστε ρητά το shebang και το target shell: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 26. χρησιμοποιήστε quoting για variable expansions, εκτός αν το word splitting είναι σκόπιμο: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 27. επαληθεύστε τα inputs πριν επηρεάσουν filenames, options ή commands: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 28. αξιολογήστε και τεκμηριώστε ρητά τα exit codes: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 29. διαχωρίστε stderr και stdout: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 30. δημιουργήστε προσωρινά αρχεία με
mktemp: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο. - 31. δοκιμάστε το cleanup μέσω
trap: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο. - 32. προστατεύστε τις καταστροφικές ενέργειες με dry-run, ελέγχους scope και επιβεβαίωση: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 33. μην εκτυπώνετε και μην κάνετε commit τα secrets: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 34. ελέγξτε το PATH και τις εξωτερικές εξαρτήσεις: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 35. αντιμετωπίστε τα ShellCheck warnings ή αιτιολογήστε την καταστολή τους: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 36. τεκμηριώστε τις παραδοχές φορητότητας μεταξύ Bash και POSIX sh: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 37. κατονομάστε ρητά το shebang και το target shell: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 38. χρησιμοποιήστε quoting για variable expansions, εκτός αν το word splitting είναι σκόπιμο: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 39. επαληθεύστε τα inputs πριν επηρεάσουν filenames, options ή commands: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 40. αξιολογήστε και τεκμηριώστε ρητά τα exit codes: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 41. διαχωρίστε stderr και stdout: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 42. δημιουργήστε προσωρινά αρχεία με
mktemp: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο. - 43. δοκιμάστε το cleanup μέσω
trap: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο. - 44. προστατεύστε τις καταστροφικές ενέργειες με dry-run, ελέγχους scope και επιβεβαίωση: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 45. μην εκτυπώνετε και μην κάνετε commit τα secrets: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 46. ελέγξτε το PATH και τις εξωτερικές εξαρτήσεις: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 47. αντιμετωπίστε τα ShellCheck warnings ή αιτιολογήστε την καταστολή τους: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 48. τεκμηριώστε τις παραδοχές φορητότητας μεταξύ Bash και POSIX sh: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 49. κατονομάστε ρητά το shebang και το target shell: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
- 50. χρησιμοποιήστε quoting για variable expansions, εκτός αν το word splitting είναι σκόπιμο: Καταγράψτε το επηρεαζόμενο αρχείο, την εντολή, το exit code και τον κίνδυνο.
Πρακτικό παράρτημα ασκήσεων: Προχωρημένη ασφάλεια
Το παράρτημα είναι backlog εργασίας για μεγαλύτερα trainings, reviews και επαναλήψεις. Κάθε εργασία μπορεί να ελεγχθεί τοπικά με Bash, δοκιμαστικά δεδομένα και Git workspace.
A001. quoting
- Εργασία: επαληθεύστε το input και συνδέστε ρητά την παρατήρηση με το θέμα
quoting. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A002. exit codes
- Εργασία: εξηγήστε το exit code και συνδέστε ρητά την παρατήρηση με το θέμα
exit codes. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A003. pipelines
- Εργασία: ελέγξτε το quoting και συνδέστε ρητά την παρατήρηση με το θέμα
pipelines. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A004. getopts
- Εργασία: δοκιμάστε τη διαδρομή σφάλματος και συνδέστε ρητά την παρατήρηση με το θέμα
getopts. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A005. trap
- Εργασία: εξετάστε το log output και συνδέστε ρητά την παρατήρηση με το θέμα
trap. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A006. mktemp
- Εργασία: παρακολουθήστε το cleanup και συνδέστε ρητά την παρατήρηση με το θέμα
mktemp. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A007. text processing
- Εργασία: οριοθετήστε τη φορητότητα και συνδέστε ρητά την παρατήρηση με το θέμα
text processing. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A008. security
- Εργασία: σημειώστε τον κίνδυνο ασφάλειας και συνδέστε ρητά την παρατήρηση με το θέμα
security. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A009. quoting
- Εργασία: τεκμηριώστε τη διαδρομή αποκατάστασης και συνδέστε ρητά την παρατήρηση με το θέμα
quoting. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A010. exit codes
- Εργασία: γράψτε κανόνα review και συνδέστε ρητά την παρατήρηση με το θέμα
exit codes. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A011. pipelines
- Εργασία: επαληθεύστε το input και συνδέστε ρητά την παρατήρηση με το θέμα
pipelines. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A012. getopts
- Εργασία: εξηγήστε το exit code και συνδέστε ρητά την παρατήρηση με το θέμα
getopts. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A013. trap
- Εργασία: ελέγξτε το quoting και συνδέστε ρητά την παρατήρηση με το θέμα
trap. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A014. mktemp
- Εργασία: δοκιμάστε τη διαδρομή σφάλματος και συνδέστε ρητά την παρατήρηση με το θέμα
mktemp. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A015. text processing
- Εργασία: εξετάστε το log output και συνδέστε ρητά την παρατήρηση με το θέμα
text processing. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A016. security
- Εργασία: παρακολουθήστε το cleanup και συνδέστε ρητά την παρατήρηση με το θέμα
security. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A017. quoting
- Εργασία: οριοθετήστε τη φορητότητα και συνδέστε ρητά την παρατήρηση με το θέμα
quoting. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A018. exit codes
- Εργασία: σημειώστε τον κίνδυνο ασφάλειας και συνδέστε ρητά την παρατήρηση με το θέμα
exit codes. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A019. pipelines
- Εργασία: τεκμηριώστε τη διαδρομή αποκατάστασης και συνδέστε ρητά την παρατήρηση με το θέμα
pipelines. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A020. getopts
- Εργασία: γράψτε κανόνα review και συνδέστε ρητά την παρατήρηση με το θέμα
getopts. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A021. trap
- Εργασία: επαληθεύστε το input και συνδέστε ρητά την παρατήρηση με το θέμα
trap. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A022. mktemp
- Εργασία: εξηγήστε το exit code και συνδέστε ρητά την παρατήρηση με το θέμα
mktemp. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A023. text processing
- Εργασία: ελέγξτε το quoting και συνδέστε ρητά την παρατήρηση με το θέμα
text processing. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A024. security
- Εργασία: δοκιμάστε τη διαδρομή σφάλματος και συνδέστε ρητά την παρατήρηση με το θέμα
security. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A025. quoting
- Εργασία: εξετάστε το log output και συνδέστε ρητά την παρατήρηση με το θέμα
quoting. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A026. exit codes
- Εργασία: παρακολουθήστε το cleanup και συνδέστε ρητά την παρατήρηση με το θέμα
exit codes. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A027. pipelines
- Εργασία: οριοθετήστε τη φορητότητα και συνδέστε ρητά την παρατήρηση με το θέμα
pipelines. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A028. getopts
- Εργασία: σημειώστε τον κίνδυνο ασφάλειας και συνδέστε ρητά την παρατήρηση με το θέμα
getopts. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A029. trap
- Εργασία: τεκμηριώστε τη διαδρομή αποκατάστασης και συνδέστε ρητά την παρατήρηση με το θέμα
trap. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A030. mktemp
- Εργασία: γράψτε κανόνα review και συνδέστε ρητά την παρατήρηση με το θέμα
mktemp. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A031. text processing
- Εργασία: επαληθεύστε το input και συνδέστε ρητά την παρατήρηση με το θέμα
text processing. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A032. security
- Εργασία: εξηγήστε το exit code και συνδέστε ρητά την παρατήρηση με το θέμα
security. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A033. quoting
- Εργασία: ελέγξτε το quoting και συνδέστε ρητά την παρατήρηση με το θέμα
quoting. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A034. exit codes
- Εργασία: δοκιμάστε τη διαδρομή σφάλματος και συνδέστε ρητά την παρατήρηση με το θέμα
exit codes. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A035. pipelines
- Εργασία: εξετάστε το log output και συνδέστε ρητά την παρατήρηση με το θέμα
pipelines. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A036. getopts
- Εργασία: παρακολουθήστε το cleanup και συνδέστε ρητά την παρατήρηση με το θέμα
getopts. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A037. trap
- Εργασία: οριοθετήστε τη φορητότητα και συνδέστε ρητά την παρατήρηση με το θέμα
trap. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A038. mktemp
- Εργασία: σημειώστε τον κίνδυνο ασφάλειας και συνδέστε ρητά την παρατήρηση με το θέμα
mktemp. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A039. text processing
- Εργασία: τεκμηριώστε τη διαδρομή αποκατάστασης και συνδέστε ρητά την παρατήρηση με το θέμα
text processing. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A040. security
- Εργασία: γράψτε κανόνα review και συνδέστε ρητά την παρατήρηση με το θέμα
security. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A041. quoting
- Εργασία: επαληθεύστε το input και συνδέστε ρητά την παρατήρηση με το θέμα
quoting. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A042. exit codes
- Εργασία: εξηγήστε το exit code και συνδέστε ρητά την παρατήρηση με το θέμα
exit codes. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A043. pipelines
- Εργασία: ελέγξτε το quoting και συνδέστε ρητά την παρατήρηση με το θέμα
pipelines. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A044. getopts
- Εργασία: δοκιμάστε τη διαδρομή σφάλματος και συνδέστε ρητά την παρατήρηση με το θέμα
getopts. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A045. trap
- Εργασία: εξετάστε το log output και συνδέστε ρητά την παρατήρηση με το θέμα
trap. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A046. mktemp
- Εργασία: παρακολουθήστε το cleanup και συνδέστε ρητά την παρατήρηση με το θέμα
mktemp. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A047. text processing
- Εργασία: οριοθετήστε τη φορητότητα και συνδέστε ρητά την παρατήρηση με το θέμα
text processing. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A048. security
- Εργασία: σημειώστε τον κίνδυνο ασφάλειας και συνδέστε ρητά την παρατήρηση με το θέμα
security. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A049. quoting
- Εργασία: τεκμηριώστε τη διαδρομή αποκατάστασης και συνδέστε ρητά την παρατήρηση με το θέμα
quoting. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A050. exit codes
- Εργασία: γράψτε κανόνα review και συνδέστε ρητά την παρατήρηση με το θέμα
exit codes. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A051. pipelines
- Εργασία: επαληθεύστε το input και συνδέστε ρητά την παρατήρηση με το θέμα
pipelines. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A052. getopts
- Εργασία: εξηγήστε το exit code και συνδέστε ρητά την παρατήρηση με το θέμα
getopts. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A053. trap
- Εργασία: ελέγξτε το quoting και συνδέστε ρητά την παρατήρηση με το θέμα
trap. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A054. mktemp
- Εργασία: δοκιμάστε τη διαδρομή σφάλματος και συνδέστε ρητά την παρατήρηση με το θέμα
mktemp. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A055. text processing
- Εργασία: εξετάστε το log output και συνδέστε ρητά την παρατήρηση με το θέμα
text processing. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A056. security
- Εργασία: παρακολουθήστε το cleanup και συνδέστε ρητά την παρατήρηση με το θέμα
security. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A057. quoting
- Εργασία: οριοθετήστε τη φορητότητα και συνδέστε ρητά την παρατήρηση με το θέμα
quoting. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A058. exit codes
- Εργασία: σημειώστε τον κίνδυνο ασφάλειας και συνδέστε ρητά την παρατήρηση με το θέμα
exit codes. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A059. pipelines
- Εργασία: τεκμηριώστε τη διαδρομή αποκατάστασης και συνδέστε ρητά την παρατήρηση με το θέμα
pipelines. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A060. getopts
- Εργασία: γράψτε κανόνα review και συνδέστε ρητά την παρατήρηση με το θέμα
getopts. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A061. trap
- Εργασία: επαληθεύστε το input και συνδέστε ρητά την παρατήρηση με το θέμα
trap. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A062. mktemp
- Εργασία: εξηγήστε το exit code και συνδέστε ρητά την παρατήρηση με το θέμα
mktemp. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A063. text processing
- Εργασία: ελέγξτε το quoting και συνδέστε ρητά την παρατήρηση με το θέμα
text processing. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A064. security
- Εργασία: δοκιμάστε τη διαδρομή σφάλματος και συνδέστε ρητά την παρατήρηση με το θέμα
security. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A065. quoting
- Εργασία: εξετάστε το log output και συνδέστε ρητά την παρατήρηση με το θέμα
quoting. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A066. exit codes
- Εργασία: παρακολουθήστε το cleanup και συνδέστε ρητά την παρατήρηση με το θέμα
exit codes. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A067. pipelines
- Εργασία: οριοθετήστε τη φορητότητα και συνδέστε ρητά την παρατήρηση με το θέμα
pipelines. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A068. getopts
- Εργασία: σημειώστε τον κίνδυνο ασφάλειας και συνδέστε ρητά την παρατήρηση με το θέμα
getopts. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A069. trap
- Εργασία: τεκμηριώστε τη διαδρομή αποκατάστασης και συνδέστε ρητά την παρατήρηση με το θέμα
trap. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A070. mktemp
- Εργασία: γράψτε κανόνα review και συνδέστε ρητά την παρατήρηση με το θέμα
mktemp. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A071. text processing
- Εργασία: επαληθεύστε το input και συνδέστε ρητά την παρατήρηση με το θέμα
text processing. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A072. security
- Εργασία: εξηγήστε το exit code και συνδέστε ρητά την παρατήρηση με το θέμα
security. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A073. quoting
- Εργασία: ελέγξτε το quoting και συνδέστε ρητά την παρατήρηση με το θέμα
quoting. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A074. exit codes
- Εργασία: δοκιμάστε τη διαδρομή σφάλματος και συνδέστε ρητά την παρατήρηση με το θέμα
exit codes. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A075. pipelines
- Εργασία: εξετάστε το log output και συνδέστε ρητά την παρατήρηση με το θέμα
pipelines. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A076. getopts
- Εργασία: παρακολουθήστε το cleanup και συνδέστε ρητά την παρατήρηση με το θέμα
getopts. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A077. trap
- Εργασία: οριοθετήστε τη φορητότητα και συνδέστε ρητά την παρατήρηση με το θέμα
trap. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A078. mktemp
- Εργασία: σημειώστε τον κίνδυνο ασφάλειας και συνδέστε ρητά την παρατήρηση με το θέμα
mktemp. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A079. text processing
- Εργασία: τεκμηριώστε τη διαδρομή αποκατάστασης και συνδέστε ρητά την παρατήρηση με το θέμα
text processing. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A080. security
- Εργασία: γράψτε κανόνα review και συνδέστε ρητά την παρατήρηση με το θέμα
security. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A081. quoting
- Εργασία: επαληθεύστε το input και συνδέστε ρητά την παρατήρηση με το θέμα
quoting. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A082. exit codes
- Εργασία: εξηγήστε το exit code και συνδέστε ρητά την παρατήρηση με το θέμα
exit codes. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A083. pipelines
- Εργασία: ελέγξτε το quoting και συνδέστε ρητά την παρατήρηση με το θέμα
pipelines. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A084. getopts
- Εργασία: δοκιμάστε τη διαδρομή σφάλματος και συνδέστε ρητά την παρατήρηση με το θέμα
getopts. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A085. trap
- Εργασία: εξετάστε το log output και συνδέστε ρητά την παρατήρηση με το θέμα
trap. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A086. mktemp
- Εργασία: παρακολουθήστε το cleanup και συνδέστε ρητά την παρατήρηση με το θέμα
mktemp. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A087. text processing
- Εργασία: οριοθετήστε τη φορητότητα και συνδέστε ρητά την παρατήρηση με το θέμα
text processing. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A088. security
- Εργασία: σημειώστε τον κίνδυνο ασφάλειας και συνδέστε ρητά την παρατήρηση με το θέμα
security. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A089. quoting
- Εργασία: τεκμηριώστε τη διαδρομή αποκατάστασης και συνδέστε ρητά την παρατήρηση με το θέμα
quoting. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.
A090. exit codes
- Εργασία: γράψτε κανόνα review και συνδέστε ρητά την παρατήρηση με το θέμα
exit codes. - Evidence: Καταγράψτε την ελεγμένη εντολή, το αναμενόμενο output, το πραγματικό output και το exit code.
- Λειτουργικό ερώτημα: Τι συμβαίνει με κενό input, αρχεία ή εργαλεία που λείπουν και επαναλαμβανόμενη εκτέλεση;
- Ερώτημα ασφάλειας: Μπορεί το input να γίνει option, path, glob, subshell, έκφραση eval ή διαρροή secret;
- Recovery: Περιγράψτε revert, cleanup, restore, rotation secret ή χειροκίνητη διόρθωση.