Dovrebbe / tmp essere di proprietà di root?


3

Mi chiedo se / tmp dovrebbe essere di proprietà di root, o meglio di nessuno? Ora con la modalità sicura ci sono alcuni conflitti, ma sono preoccupato per la sicurezza se lo cambio per essere di proprietà di nessuno ...

Qualsiasi consiglio sarà molto apprezzato.

Risposte:


7

Dovrebbe essere di proprietà di root, ma deve essere leggibile e scrivibile da chiunque abbia un fattore importante: il bit appiccicoso sulla directory deve essere impostato in modo da renderlo una directory append-only. In altre parole, solo gli utenti che possiedono un file all'interno di /tmp directory e hanno permessi di lettura / scrittura possono rimuovere o rinominare il file. Si può leggere la pagina man per sticky(8) per maggiori informazioni su cosa sia il bit adesivo.


2
è buona norma montarlo con l'opzione "noexec", specialmente se si trova su un server / ambiente multiutente
Mr Shunz

@MrShunz: C'è qualche vantaggio nell'usare "noexec"? Sarebbe certamente scomodo per gli utenti che usano / tmp come "area di lavoro" per es. scrivere script usa e getta.
sleske

1
@sleske in realtà, se lo è la tua macchina personale non molto, ma se si tratta di un server in cui, ad esempio, gli script php possono scrivere /tmp di solito più sicuro montarlo noexec quindi non è possibile iniettare ed eseguire script dannosi.
Mr Shunz

3

Un file può essere di proprietà di nessuno? Quale sistema operativo stai usando?

Sotto Linux, /tmp è di proprietà di root, è scrivibile in tutto il mondo e ha il set sticky bit. Significa che chiunque può creare file ma solo il proprietario (o root) può rimuoverli. Dovrebbe essere simile sulla maggior parte dei sistemi Unix, però.


1
"nobody" è il nome di un account su un tipico sistema Unix. Apparentemente, era usato per eseguire molti demoni; in questi giorni è consigliabile dare la maggior parte dei demoni ai propri account in modo che non interferiscano l'uno con l'altro (in modo tale che se, ad esempio, un problema di sicurezza in uno di essi consente a un utente malintenzionato di ottenere il controllo su di esso, l'aggressore non sarà immediatamente in grado di ottenere il controllo su qualsiasi altro demone), e sembra che il punto principale di "nessuno" sia per NFS per mappare "root" da altri sistemi a ...
SamB

2

Sì, dovrebbe essere di proprietà di root, ma dovrebbe anche essere scrivibile in tutto il mondo con un bit appiccicoso, in modo che altri programmi possano utilizzarlo come directory temporanea e i file creati siano di proprietà del creatore. Non sono sicuro della pratica standard in questi giorni, ma consiglierei anche di creare / tmp la propria partizione e non la partizione della partizione di root, in modo che se viene riempita non si compatta la partizione di root.


Inoltre "/ tmp" è un buon candidato per tmpfs (essendo completamente nella memoria virtuale)
Vi.

@Vi: idea interessante. Tuttavia, non creerebbe problemi se i programmi creano file di grandi dimensioni in / tmp (ad esempio file temporanei durante la modifica / codifica video)?
sleske

@sleske, Sì, lo farebbe, quindi di tanto in tanto sostituisco TMPDIR. Anche il mio / tmp è "noexec" che crea anche problemi.
Vi.
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.