Ho un'architettura che usa gli spazi dei nomi di rete (netns). Vorrei consentire agli utenti regolari di eseguire alcune operazioni su questi netns.
Potrei scrivere una sceneggiatura netns-exec.sh
, ispirata a questo post , eseguita con sudo
, contenente:
ip netns exec $1 su $USER -c "$2"
e aggiungi al mio file sudoer:
user ALL=(ALL) /path/to/netns-exec.sh
Ma lo trovo così brutto che potrei avere degli incubi al riguardo. Esiste una soluzione migliore per consentire agli utenti regolari di utilizzare gli spazi dei nomi? È possibile mettere gli utenti in alcuni gruppi utili? L'ho cercato ma non ho trovato nulla.
sudo
contenuto a su
che mi dà fastidio, non la sceneggiatura stessa. Comunque scriverò una sceneggiatura per avvolgere la cosa. Rende 2 switch utente, è davvero brutto, non credi?
sudo
forniva una variabile specifica $SUDO_USER
, che è più sicura. Ma è ancora brutto.
Cmd_Alias CMD_NETNS = ip netns exec [regexp matching your namespace] su [regexp matching allowed used] -c [regexp matching allowed namespace command]
nel file sudoers e quindi si crea un gruppo in cui si inseriscono gli utenti autorizzati e si associa questo gruppo a questo alias di comando.