2010-08-30 12 views
10

Sto cercando di realizzare un file. Ogni evento aggiunge semplicemente una riga al file. Finora questo è un gioco da ragazzi. La parte difficile è che molti utenti dovrebbero essere in grado di aggiungere voci a quel file, ma nessuno dovrebbe essere in grado di modificare o eliminare quelli esistenti. Posso in qualche modo far rispettare questo usando i diritti di accesso ai file? Sto usando Linux.Aggiungi solo file

Thx

+0

penso che sia un po 'al di là 'chmod': o – Aren

+0

relativo link: http://unix.stackexchange.com/questions/ 59864/limit-file-access-to-append-only – nha

risposta

1

I permessi classici, leggere, scrivere ed eseguire il non arrivare lì. Se hai i permessi di scrittura puoi cancellare il file e tutte le linee in esso contenute.

Avrete bisogno di qualche tipo di programma per arbitrare l'accesso ai file. Un modo sarebbe aprire una fifo e far scrivere ai produttori la fifo. Se le scritture non sono troppo grandi (le scritture 4k sono atomiche sulla mia macchina Linux) le diverse scritture non verranno mescolate. Facendo in modo che il processo del consumatore abbia privilegi che i produttori non hanno, i produttori non saranno in grado di vedere i risultati finali.

È possibile utilizzare qualcosa come syslog per fare questo.

15

Su linux è possibile utilizzare il flag append-only del sistema. Questo non è disponibile su tutti i filesystem.

Questo attributo viene impostato utilizzando l'utilità chattr e si dovrebbe visualizzare la pagina man. Solo root può impostare questo attributo.

Su Ubuntu probabilmente finisce per fare: sudo chattr + un nome di file

+0

ha tentato di aggirare il "solo append" rimuovendo prima il file e ricrearlo, quale contenuto diverso (cioè troncato), che era impossibile (anche se avevo la proprietà del directory il file risiedeva all'interno), può essere confermato un tale comportamento? – humanityANDpeace

Problemi correlati