Să presupunem că acesta nu este un mic chroot sau container cu doar ceea ce au nevoie, ci mai degrabă un sistem de operare cu mai mulți utilizatori de uz general.
Cu o automatizare suficientă, este posibil să nu fie necesară conectarea la gazdă. Poate oferi prin intermediul unui sistem de autoservire aceste opțiuni limitate, ceea ce face automatizarea.
Pentru a le lăsa să facă treaba pe gazdă, încercați ceea ce aș numi un meniu text captiv. Care este un script pe care poate fi necesar să îl scrieți.
Limitarea strictă a persoanei de a face alte lucruri necesită mai multe trucuri.
- Conectați-vă ca utilizator neprivilajat, ideal unic pentru acest utilizator.Creșteți pentru lucruri privilegiate cu instrumente precum doas sau sudo.
- Mandat acest meniu este ceea ce rulează cu OpenSSH
ForceCommand
blocuri.
- De asemenea, executați-l din profilele shell. exec, așa că înlocuiește procesul shell, iar când meniul iese, la fel și sesiunea lor.
- Capcană semnale în scriptul de meniu.
- Atenție la programele care pot rula comenzi arbitrare. Degajarea este banală în vim, comanda este
:coajă
- Scrieți și utilizați ca elemente de meniu scripturi de ambalare, pentru operații mai complexe sau mai mult control asupra ieșirii.
Alegeți limbajele de scripting în care scrieți meniul. Luați în considerare utilizarea unei biblioteci de meniu text existentă. O buclă de intrare în sine nu este dificilă, dar să o faci robustă, ușor de modificat și cu un UX bun este ceea ce vrei de fapt în producție.