Ale to zas už je situace, kdy na těch serverech snad mám nějaký configuration management, který tohle umí udělat a který tak jako tak už má nějaké rozhraní.
Ještě teda abych tohle doplnil a odpověl na otázku "jak to děláte vy":
1. servery se nastavují Saltem
2. saltové konfiguráky jednotlivých serverů jsou verzovány gitem
3. v saltové konfiguraci je nadefinované, jaké klíče mají být v /root/.ssh/authorized_keys
nebo:
3. v saltové konfiguraci je nadefinované, jací lokální uživatelé na serveru jsou a jakých skupin mají být členové
4. (pokud bych to chtěl) v /etc/sudoers by bylo nadefinováno, jaké příkazy můžou členové kterých skupin spouštět - zatím jsem nepotřeboval
Takže ten zmíněný use case:
1. admin Venca zažádá o přístup
2. boss Lojza schválí
3. autorizovaná osoba Pepa provede úpravy saltovské konfigurace tak, aby byl Venca členem skupiny dbadmins (změna jednoho řádku) a zpropaguje na server
4. změna je zanesena a zdokumentována v gitu
5. Venca se na server přihlásí a je členem skupiny dbadmins
Akorát bych si dal pozor na to, že Venca zůstává členem skupiny dbadmins dokud se neodhlásí - nevím, jestli sudo členství ve skupině pokaždé kontroluje oproti systému nebo jenom bere aktuální vencovy skupiny té konkrétní shell session. Kdyby si Venca nechal puštěný shell pod screenem/tmuxem, zůstane členem skupiny v téhle session i dál...