Yanıtlar:
Kök kullanıcı denetimi dosya özniteliklerinden
# lsattr
i
(değiştirilemez) veya a
(yalnızca ek ) fark ederseniz , şu özellikleri kaldırın:
# man chattr
# chattr -i [filename]
# chattr -a [filename]
rm
Bir dosyayı silme izniniz olmadığından şikayet etmenin en yaygın nedeni , dizindeki izinlerin dosyayı silmenizi engellemesidir. Bir dosyayı silmek için dizinde yazma iznine ihtiyacınız vardır. Dosyadaki izinler önemsizdir ( salt okunur bir dosyayı silmeden önce onay rm
istemeksizin -f
, ancak bu bir sınırlama değil, yalnızca bir onaylamadır). OSX (ancak Linux değil) gibi bazı Unix varyantlarında , bir dosyadaki ACL silinmesini engelleyebilir; dosyada bir ACL girdisi varsa izin alanının sonunda ls -l
gösterilir @
.
Kök olarak erişim izinleri atlar, böylece kök salt okunur bir dizinde bile dosyaları silebilir.
'Den çıktı , izin sütununun sonunda ls -l
bir a gösterir .
. Bu, dosyanın SELinux güvenlik bağlamına sahip olduğunu gösterir. Temel izinlerden ve ACL'den farklı olarak, bir dosyadaki SELinux güvenlik içeriği dosyayı kimin silmesine izin verildiğini kontrol edebilir. Ayrıca, SELinux her zaman root tarafından atlanamaz (kullanıcı kimliği 0 olarak çalışan, ancak SELinux politika tasarımcısının seçtiği kadar az hakka sahip bir sürecin olması mümkündür). SELinux içeriğinin yapmanıza izin verdiğini görmek için çalıştırın ls -lZ . exam_a
.
Bir dosyanın silinmesini engelleyebilecek başka bir şey, dosyanın veya onu içeren dizinin yalnızca ek veya değiştirilemeyen Linux özniteliğine sahip olmasıdır . lsattr -d . exam_a
Linux özniteliklerini görüntülemek için çalıştırın . Eğer a
veya i
niteliği üzerinde, bunu (kaldırmanız gerekir chattr -a -i . exam_a
dosyayı silmek için); bunu sadece kök yapabilir. Kök bir dosyayı silmek için bu öznitelikleri atlayamaz, önce özniteliklerin kapatılması gerekir.
Bir dosyanın silinmesini engelleyen başka bir şey, dosya sisteminin salt okunur olarak monte edilmiş olması, ancak bu durumda farklı bir hata mesajı almanızdır.
ls -la
, bu yüzden izinlerini görebilirsiniz.
(dizine).