Risposte:
Questo è tutt'altro che affidabile, ma se stiamo parlando dell'accesso alla shell, potresti fare un riferimento incrociato al tempo di modifica del file con gli utenti che hanno effettuato l'accesso in quel momento ( last) e quindi controllare la loro ~ / .bash_history (o equivalente) per i comandi di modifica. Anche grep -H filename /home/*/.bash_historypotrebbe darti un punto di partenza.
No, non esiste un modo affidabile per scoprirlo.
Il statcomando mostra tutto ciò che è noto su un file (tranne il contenuto effettivo). È possibile aggiungere l'opzione -Z per ottenere alcune informazioni su SELinux; ma nulla di tutto ciò ti dice chi ha modificato il file per ultimo.