2010-08-30 24 views
10

Bir dosyayı gerçekleştirmek için çalışıyorum dosya. Her olay sadece dosyaya bir satır ekler. Şimdiye kadar bu bir cesur değil. Zor olan kısım, birçok kullanıcının bu dosyaya giriş ekleyebilmesi, ancak hiç kimsenin mevcut olanları değiştiremeyeceği veya silemeyeceği varsayılmaktadır. Dosya erişim haklarını kullanarak bunu bir şekilde uygulayabilir miyim? Linux kullanıyorum.Ekleme sadece

Thx

+0

O chmod' 'biraz ötesinde olduğunu düşünüyorum: – Aren

+0

İlgili linke o: http://unix.stackexchange.com/questions/ 59864/restrict-file-access-to-append-only-only-only- – nha

cevap

1

klasik izinler, okuma, yazma ve orada almazsınız yürütün. Yazma izniniz varsa, dosyayı ve içindeki tüm satırları silebilirsiniz.

dosya erişimini hakemlik programın çeşit gerekir. Bir yol, bir fifo açmak ve üreticilerin fifoya yazmasını sağlamaktı. Yazılar çok büyük değilse (4k yazımlar linux kutumda atomiktir) farklı yazılar karışmaz. Tüketici sürecinin üreticilerin sahip olmadığı ayrıcalıklara sahip olmasıyla, üreticiler nihai sonuçları göremeyecektir.

Bunu yapmak için syslog gibi bir şey kullanabilirsiniz.

15

linux sitesinde sistemini Yalnızca ekleme bayrak kullanma seçeneği vardır. Bu, tüm dosya sistemlerinde mevcut değildir.

Bu özellik

chattr yardımcı programını kullanarak ayarlanır ve adam sayfayı görüntülemek gerekir. Bu özelliği yalnızca kök belirleyebilir. Muhtemelen yapıyor bitireceğiz Ubuntu üzerinde

: sudo chattr + bir dosya adı

+0

önce "sadece append", dosyayı kaldırarak ve onu yeniden yaratmaya çalıştı. dizin içinde bulunan dosya), böyle bir davranış doğrulanabilir mi? – humanityANDpeace