Come creare un file anche se l'utente root non può cancellarlo?
Come creare un file anche se l'utente root non può cancellarlo?
Risposte:
Risposta semplice: non puoi, root può fare tutto.
Puoi impostare l'attributo "i" con chattr (almeno se sei su ext {2,3,4}) che rende immutabile un file ma root può semplicemente annullare l'attributo ed eliminare comunque il file.
Più complessa (e brutta soluzione alternativa): metti la directory che desideri immutabile per root sul server remoto e montala tramite NFS o SMB. Se il server non offre autorizzazioni di scrittura che bloccano l'account root locale. Ovviamente l'account root locale potrebbe semplicemente copiare i file localmente, smontare le cose remote, mettere in atto la copia e cambiarla.
Non è possibile bloccare root dall'eliminazione dei file. Se non puoi fidarti del tuo root per mantenere intatti i file, stai riscontrando un problema sociale, non tecnico.
mv
poterlo fare?" (che è uno scherzo pessimo basato sulla teosofia cristiana e uno scherzo terribile se non hai familiarità con il campo)
Mettilo su un CD-rom! ;)
(questo dovrebbe essere un commento ma non posso fare commenti ...)
Molto tempo fa ho scritto una patch del kernel (a 2.2.ancient) in cui il tentativo di eliminare un file chiamato SELFDESTRUCT ha interrotto il processo di chiamata. Questo ha protetto da "rm -rf *" accidentale.
È possibile utilizzare chattr +i
per rendere immutabile un file.
Naturalmente un utente esperto con accesso root potrebbe ancora utilizzare chattr -i
per rimuovere l'attributo immutabile e quindi eliminare il file, ma potrebbe annullare qualsiasi altro tentativo di bloccare l'accesso elencato anche qui.
Direi che chattr è il modo Unix corretto per farlo.