Non sono a conoscenza di alcun sistema integrato progettato per il concetto di due persone a livello di sistema operativo. Mentre una nuova versione di sudo / PAM potrebbe essere scritta per ottenere ciò, mi sembra che sia meglio applicata a livello di applicazione rispetto al livello del sistema operativo, personalizzata nell'applicazione per i tuoi scopi specifici. I dati possono essere crittografati con più chiavi (appartenenti a diversi utenti) per assicurare che root
utenti non possano facilmente ignorare i controlli.
Che cosa immaginate - due persone sedute allo stesso banco dove l'utente A autentica e poi l'utente B autentica e quindi esegue il comando sudo? O l'utente A digita sudo emacs /etc/ssh/sshd_config
, un messaggio viene inviato all'utente B che deve utilizzare i suoi dettagli di autenticazione su OK che l'utente A può modificare il file prima che possa modificare un file?
E di nuovo con il flusso di lavoro standard, hai il permesso di aprire l'editor di testo come superutente prima di aprire il file o di creare modifiche. Quindi potresti avere il permesso dell'utente B di fare sudo emacs /etc/ssh/sshd_config
ma una volta che emacs (come superuser) è aperto potresti iniziare a modificare qualsiasi numero di altri file (ad esempio apri e modifica /etc/shadow
, sostituendo un hash di un altro amministratore che è andato avanti vacanza) o aprire una shell superuser da emacs (senza alcuna riproposizione di credenziali o registrazione aggiuntiva dell'uso di sudo nella /var/log/auth.log
sotto l'installazione standard).
In qualche modo correlato, è possibile impostare l'autenticazione a due fattori per ssh con yubikey o google . Quindi è possibile impostare uno scenario in cui è richiesta l'autenticazione a due fattori per l'accesso, richiedere che entrambe le persone siano presenti mentre gli utenti hanno effettuato l'accesso (ad esempio, entrambi possono essere attivati se qualcosa di malevolo è annotato nei registri) con ciascun membro che ne ha uno solo dei fattori per accedere.