Come posso impedire all'utente root di eliminare un file?


8

Vorrei sapere se posso impedire all'utente root di eliminare un file. È possibile?


2
Spegni il computer. Non è possibile fare nulla per fermare questo!
slm

2
Il root è ciò che nel mondo di Windows è chiamato "superadmin", è un account destinato ad essere utilizzato specificamente perché può fare tutto ciò che vuole. Anche se dovessi impedire a root di fare qualcosa, non ci sarebbe modo di farlo. Le persone dovrebbero ottenere l'accesso alla radice solo se non c'è nulla che si possa fare con le autorizzazioni / acls / setuid / skills / sudo o se farlo sarebbe più tempo di quanto valga la pena. Se sei così preoccupato, scrivi uno script per fare ciò di cui hanno bisogno di root e dai loro i diritti sudo per quello script.
Bratchley,

Perchè vuoi fare questo?
Nils,

Risposte:


13

No, questo non è possibile. È possibile impostare l'attributo immutabile con chattr +i, che renderà almeno irritante e non ovvio ciò che deve essere fatto per consentire la scrittura nel file, ma possono semplicemente annullarlo di nuovo. Inoltre, il tuo filesystem deve supportare questo e avere la funzionalità abilitata.

SELinux può anche limitare, ma può essere disabilitato.

La soluzione migliore è controllare correttamente utenti e programmi limitandone l'accesso e non consentendo loro di eseguire come root a meno che non sia assolutamente necessario.


1
Ma, naturalmente, SELinux e simili possono impedire a root di disabilitarlo. :-)
Hauke ​​Laging,

@HaukeLaging Il root può, attraverso diverse configurazioni, modificare la memoria arbitraria, quindi è sempre più difficile con ogni barriera. Giocare a gatto e topo con root non ha molto senso (ma sì, teoricamente sarebbe possibile impedire a root di farlo).
Chris Down,

@ChrisDown, SELinux può certamente ridurre il root a un "utente normale", per quanto riguarda le autorizzazioni. Fa parte di tutta l'idea, in effetti.
vonbrand,

1
@vonbrand Anche se questo può essere qualcosa che SELinux desidera fare, in pratica è difficile farlo. Come ho detto, è teoricamente possibile, ma praticamente improbabile.
Chris Down,

@ChrisDown, molto possibile, ma molto non-Unixy, quindi pochi lo fanno. Le dita sono troppo abituate a fare certe cose ... inoltre, ha senso solo per configurazioni paranoiche terminali.
vonbrand,

6

Come altri hanno già detto, in genere l'idea di root è che un utente è autorizzato a fare in modo che la macchina faccia tutto ciò che la macchina può fare. Pertanto, non esiste un flag semplice che può impedire a root di eliminare intenzionalmente un file ( chattr +ipuò impedire l' eliminazione accidentale ).

Ma, nonostante ciò, ci sono un paio di soluzioni:

  1. Metti il ​​file su un file server e configura il file server per non consentire l'eliminazione. Questo funziona perché il root locale non è root sul file server.
  2. Metti il ​​file sul supporto WORM . Questo funziona perché l'hardware non consente una sovrascrittura, quindi i dati sono protetti. (La sovrascrittura non è qualcosa che la macchina può fare.) Le opzioni economiche sono CD-R e DVD-R. Assicurati che l'unità non possa effettivamente sovrascrivere (distruggere) sezioni già scritte. Ci sono anche schede SD WORM.

0

No.

Qualsiasi utente con privilegi "sudo" o l'utente root può vedere ed eliminare tutto.

Tuttavia in un sistema ideale non dovresti preoccuparti di questo perché solo un utente ha super privilegi e userà solo quando è necessario e sempre in modo reattivo.


0

È possibile in circostanze molto specifiche:

È possibile scollegare l'unità USB dove si verifica la modifica o scollegare il cavo Ethernet tra il computer e il NAS. Ma è probabile che il file venga danneggiato o lasciato irraggiungibile o entrambi.

Oltre all'azione basata su hardware, potrebbe essere possibile ripristinare il file da un backup precedente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.