İzinsiz bir dosyayı nasıl kaldırırım?


22

Bir hacker, tmp dir'mde sorunlara neden olan bir dosya bıraktı. Kendi komut dosyası başarısız olduğu için GB hata_log girdisi oluşturmaktan başka kötü niyetli bir şey yoktur. Ancak, yürütmek için kullandıkları dosyanın izni yok ve KÖK olarak bile bu dosyayı silemiyorum veya yeniden adlandıramıyorum.

----------  1 wwwusr wwwusr 1561 Jan 19 02:31 zzzzx.php

root@servername [/home/wwwusr/public_html/tmp]# rm zzzzx.php
rm: remove write-protected regular file './zzzzx.php'? y
rm: cannot remove './zzzzx.php': Operation not permitted

Ben de inode ile kaldırma denedim

root@servername [/home/wwwusr/public_html/tmp]# ls -il

...
1969900 ----------  1 wwwusr wwwusr 1561 Jan 19 02:31 zzzzx.php

root@servername [/home/wwwusr/public_html/tmp]# find . -inum 1969900 -exec rm -i {} \;

rm: remove write-protected regular file './zzzzx.php'? y
rm: cannot remove './zzzzx.php': Operation not permitted

Bu dosyayı nasıl silebilirim?


15
Sen miydin, o kutuyu açıp orayı açmayı düşünürdüm . Açıkça, birinin belge kökünün dışına özel izinlerle yeni dosyalar yazabilecek ve hepsinden öte, PHP / Apache'yi denemek ve yüklemek için kullanabilmesi için yeterince kötü olan en az bir güvenlik deliği var. Arkadaşım, sen kraliyetçe rehin kaldın. Eğer o kutuyu geri istiyorsan , yörüngeden çıkarmak zorundasın . Emin olmanın tek yolu bu .
Warren Young,

Sağol Warren. Bu aslında daha önce hiç ödün verilmeyen hesapların üzerinden geçen yepyeni bir kutu. Ayarların farklı olduğunu anlamaya çalışıyorum (her iki CPanel kutusu).
Bradley

2
Sadece işletim sistemi yeni olduğu ve yeni kurulumun bir uzlaşma sağlayamayacağı anlamına gelmez. Günümüzde 6 ay önce gönderilen bir işletim sisteminde tespit edilen bir hata, insanlar eski işletim sistemlerini sürekli eskileşen CD'lerden yüklemeye devam ettikçe yıllarca sürebilir. Kusur için bir yama olsa bile, kurulum ve güncelleme arasındaki pencere uzlaşmaya izin verir. Bunu bir kenara koyarsak, kötü niyetli bir aktörün bu dosyayı sisteminize yerleştirmesi yanlış olursa, vicdani bir sistem yöneticisi en azından varlığını başka bir şekilde açıklamaya çalışmalıydı.
Warren Young,

Yanıtlar:


26

Dosya muhtemelen dosya öznitelikleri kullanılarak kilitlenmiştir .

Kök olarak, yapmak

lsattr zzzzx.php

Nitelikler a(ekleme modu) veya isizin önleyecek (değişmez) mevcut rm. Eğer oradalarsa, o zaman

chattr -ai zzzzx.php
rm zzzzx.php

dosyanızı silmelisiniz.


ACL veya SELinux ... özniteliklerini saklamak ve kullanmak için kullanılan genişletilmiş dosya öznitelikleriyle karışıklığa neden olabileceğinden, onlara genişletilmiş dosya özniteliklerini çağırmaktan setfxattrkaçınırdım.
Stéphane Chazelas

@Stephane Chazelas - tamam. Düz 'dosya öznitelikleri' sizin için çalışıyor mu?
ire_and_curses

1
Daha iyi bir şey düşünemiyorum. Ext2 dosya öznitelikleriydi, ancak şimdi Linux'taki bsfs gibi xfs gibi diğer FS'ler tarafından destekleniyorlar, bu yüzden artık bunlardan biri diyemiyor.
Stéphane Chazelas

3

Maalesef Warren bir cevap olarak yorum yapmadı; Tamamen haklı olduğunu yeterince vurgulayamıyorum.

Bir dosyayı kaldırmak / değiştirmek, REAL sorununuzu çözmez; ONE semptomun ortadan kalkmasını sağlayacak. Kutuyu çevrimdışı duruma getirin, daha sonra adli tıp için bir resim çekin ve çalıştırdığınızın daha yeni bir sürümüyle (umarım yeni güvenlik düzeltmeleriyle) yeniden yükleyin.

Tekrar ediyorum: dosyayı silmek bir DÜZELTME DEĞİLDİR .


7
Cevap göndermedim, çünkü yorumum sorulan soruya cevap vermiyor.
Warren Young

Heh ... Sanırım hala bir şeyler yapmadan yığma değişim yolunda yeniyim. Daha doğrusu eğil "cevap vermiyor" a oy söyledi gerekenleri demiyorum daha; D
tink

Soru, bu sorunu çözmekle ilgili değil, izinsiz bir dosyayı silmekle ilgili. Ve bu ilginç bir soru!
Ocak'ta

5
@tink: yorumlar ne en That için : soruya cevap değildir ihtiyacı söylenecek şeyleri söylemek.
Warren Young,

Açıkçası bu yapar istendi soruya cevap. Diski silmek dosyayı kaldıracak! Normalde bir dosyanın kaldırılması için makul bir yöntem değildir, ancak bu durumda, en temel yoldur çünkü temel problemi aynı anda çözer. (Ayrıca, bu anlamıyla soruya cevap vermedi bile açıkça istendi olarak - öyle ki - bir OP'ın bir çözüm göndermek için yanlış değil gerçek bir sorun .)
Eliah Kagan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.