erlug
[Top] [All Lists]

Re: [Erlug] /tmp dir e permessi (o meglio dove mettere tmp dir)

To: erlug@xxxxxxxxxxxxxx
Subject: Re: [Erlug] /tmp dir e permessi (o meglio dove mettere tmp dir)
From: Ivan Sergio Borgonovo <mail@xxxxxxxxxxxxxxx>
Date: Fri, 19 May 2006 09:55:05 +0200
On Fri, 19 May 2006 08:48:37 +0200
Maurizio Lemmo - Tannoiser <tannoiser@xxxxxxxxxxx> wrote:


> > Quale? Che altri ci possono guardare dentro?
> > Che uno sa che scrivi il file X e la dir Y, le scrive lui *prima*
> > e tu finisci per dargli accesso? per questo basta controllare
> > l'uscita di mkdir credo.

> No, per il fatto $malicious user, puo`, in /tmp linkare un file
> (diciamo /etc/passwd?) a qualcosa che viene cancellato/truncato
> in /tmp con effetti poco carini.

Hai un link a una descrizione generale ma più approfondita?
Ovvero... salvo essere root la situazione peggiore che mi viene in mente è:
Crei in tmp file _e_ directory world writeable alla cazzo, qualcuno sa come e 
crea un symlink con lo stesso nome da quel file a un altro *tuo* file.
Tu sei convinto di scrivere in foo e sminchi bar.

Mi sembra sarebbe drammatico se non facessi nessun controllo e lasciassi i 
posti dove intendi scrivere world writable.
Ovvero tutto /tmp/sarchia/pone/file deve essere scrivibile.
Se però il controllo sull'esistenza di /tmp/sarchia lo fai al momento della 
creazione e i permessi li imposti a 0700 e poi smandrappi solo dentro 
/tmp/sarchia non devi più fare altri controlli su quello che crei dentro.

O si può essere più creativi?

L'utilità di avere una /tmp le cui "risorse" vengono gestite dal sistema mi 
sembra ragionevole, rispetto a scrivere la roba e poi doversi occupare del 
cleanup.

> > > Oppure usa una system (che mi piace sempre poco).
> > 
> > che a parte i tempi di fork che svantaggi avrebbe?

> E` poco portabile.

Non deve girare su Windows. Non ho i soldi per farlo girare su anything but 
Linux.
BTW a parte OpenSolaris, quanti *nix free as in beer ma proprietari ci sono che 
non hanno bisogno di rianimazione?

<Prev in Thread] Current Thread [Next in Thread>