29 lines
1.2 KiB
Markdown
29 lines
1.2 KiB
Markdown
# L01 · BusyBox — the Swiss Army Knife
|
|
|
|
Karta wprowadza ideę programu multicall: jeden plik wykonywalny wybiera applet
|
|
na podstawie pierwszego argumentu albo nazwy dowiązania. Uczeń sprawdza listę
|
|
appletów, przetwarza pliki i tekst oraz zbiera dowód procesu i nazwy hosta.
|
|
|
|
Profil `native-amd64` nie zawiera obecnie pakietu BusyBox. Dlatego karta ma
|
|
mały, audytowalny fixture `multicall_lab.c`, który odtwarza mechanizm dispatch,
|
|
ale nie udaje pełnej implementacji BusyBox. Jeżeli `busybox` jest dostępny,
|
|
Task01 dodatkowo sprawdza jego `--list`. Nie przypisujemy poleceń Bashowi:
|
|
BusyBox najczęściej dostarcza powłokę `ash`.
|
|
|
|
## Taski
|
|
|
|
| Task | Dowód PASS |
|
|
| --- | --- |
|
|
| `task01_multicall_dispatch` | lista 6 appletów, wywołanie przez argument i symlink |
|
|
| `task02_files_and_text` | `cat`, `contains`, `count` na kontrolowanym pliku |
|
|
| `task03_process_and_host` | niepusty hostname i dodatni PID procesu |
|
|
|
|
```bash
|
|
stemctl card use console-bash L01
|
|
stemctl test native-amd64 console-bash L01 1
|
|
stemctl test native-amd64 console-bash L01 2
|
|
stemctl debug native-amd64 console-bash L01 3
|
|
```
|
|
|
|
Wyniki wpisz do [answers/busybox-evidence.md](answers/busybox-evidence.md).
|