Propagazione privileg fallisce se il relativo gruppo è vuoto
L’ho verificato sul privilegio (gruppo locale) internet. Rimuovendo il
privilegio via octonet a tutti gli utenti, questo non viene tolto da
/etc/group
. Il risultato è che gli utenti restano nel gruppo (ed hanno
accesso ad internet) anche se non figurano su octonet.
Controllando lato octofuss-client
ho visto che in risposta alla
richiesta dell’elenco privilegi (funzione action_sync_privileges
in
/usr/lib/python3/dist-packages/octofussclient/client.py
) in cui viene
eseguita una richiesta per RPC ad octofussd (per ‘privileges’) viene
restituito un dizionario in cui sono presenti solo i privilegi/gruppi
locali che sono assegnati ad almeno un utente.
Dato che octofuss-client
propaga i permessi modificando solo le righe
di /etc/group
che fanno riferimento ad un gruppo associato ai
privilegi che ottiene da octofussd
(per evitare giustamente di toccare
il contenuto degli altri gruppi non gestiti), questo comporta che i
membri del gruppo locale internet non vengono toccati.
Lo stesso effetto si presenta anche nell’output di octofussctl
, quando
nessun utente ha il privilegio, questo non viene riportato nell’output
di ls netperms/bygroup/
. Occorre che il privilegio invece sia mostrato
nell’output e trasmesso ad octofuss-client
(verificando che poi nel
caso sia vuoto, il gruppo in /etc/group
venga correttamente svuotato).