Kök olarak çalışırken bile dosya silinemiyor


48

Bir makineyi RHEL 4'ten 5'e geçirme sürecindeyim. Bir yükseltme yapmaktansa, yeni bir VM (her iki makine de bir bulutta) oluşturduktan sonra, ikisi arasında veri kopyalama kopyalama sürecindeyim.

Yeni makineden kaldırmam gereken ancak root olarak çalıştırırken bile yapamadığım şu dosyaya rastladım:

-rw-------  1 2003 2003  219 jan 11 14:22 .bash_history

Bu dosya / home / USER / içindedir, burada USER, makineyi yapan adamın hesabını oluşturur. Eski makinede bir hesabı yok, bu yüzden yeni makinenin eskisine girmesi için ana klasörünü kaldırmaya çalışıyorum, ancak aşağıdaki hatayı alıyorum:

rm: ne peut enlever `.bash_history': Opération non permise

(Fransızca’dan çevrilmiş: XXX’i kaldıramıyor, işleme izin verilmiyor)

Aşağıdaki komutu kullanmayı denedim ancak bu bir fark yaratmadı:

chattr -i .bash_history

ID 2003 ile bir kullanıcı oluşturmak için tek seçenek mi, yoksa bunun başka bir yolu var mı?


Düzenle

Kullanmayı denedim rm -fve aynı hatayı alıyorum. chmod 777İlk önce aynı hatayı alıyorum .

chownSilmeye çalıştığım dosyayı içeren klasörü bulabildim , yani:

drwx------ 2 root root 1024 jan 24 15:58 USER

Edit2

lsattrKomutu Angus tarafından önerilen şekilde çalıştırmak aşağıdaki çıktıları verdi:

-----a------- USER/.bash_history
------------- USER/..
------------- USER/.

Dosya sadece son olarak işaretlendi - bu bayrağını değiştirdiğimde chattr -a .bash_historydosyayı silebildim.

Yanıtlar:


54

Dizinin izinlerini kontrol et . İçindeki bir dosyayı silmek için, sizin tarafınızdan yazılabilir olmalıdır

chmod ugo+w .

ve değişmez ya da sadece ekleme:

chattr -i -a .

İle kontrol edin ls -lave lsattr -a.


thanks .. Bunu Centos 7'deki en az silme bağını temizledikten sonra adlandırılmayan * dosyalar üzerinde çalıştırmak zorunda kaldım
onxx

Ne yazık ki, çünkü /vendor/laracasts/generators/.git/objects/pack/koşarken chattr -i -a ., alıyorum chattr: Inappropriate ioctl for device while reading flags on .ve rmBesteci'nin .idxgeride bıraktığı sinir bozucu dosyayı alamıyorum (çünkü "İşleme izin verilmedi").
Ryan

Ahhh, benim için bir geçici çözüm Laravel Homestead Vagrant VirtualBox'umdan Windows 10'a (hala Git Bash kullanarak) ve rmoradaki dosyalardan çıkmaktı . Sonra composer updatetamamlayabildi.
Ryan

chattr -i -açalıştı.
xji

9

Ben de benzer bir problem yaşadım ama daha önce boşuna gitmemesi için hem izinleri hem de chattr'i denedim. Terminaldeki Kök. Dizine CD.

Ancak benim için ne işe yaradı, sorunlu dosyanın bulunduğu dizinin izinlerini kontrol etmekti.

chmod ugo+w filename

bu başarısız oldu - sonra:

chattr -i -a filename 

hangi kabul edildi - o zaman

chmod ugo+w 

hangisi kabul edildi

rm filename

ve gitmişti.

Hp iş istasyonunda Fedora 25.


'chmod ugo + w dosya adı "tamamen benim için hile yaptı
Alfishe

1

'sudo', aynı user.group kullanarak 'rm' komutunu çalıştırabilir.

NOT : bu sizin gibi kimlikleri için de işe yarayacağından emin değil.

Örnek:

ls /path/to/dir_being_deleted
  drwxrwxrwx 2 nfsnobody nfsnobody   4096 Mar  8 06:55 .
  drwxrwxrwx 7 nfsnobody nfsnobody   4096 Mar  8 06:57 ..
  -rwxrwxrwx 1 nfsnobody nfsnobody      0 Mar  8 06:55 filename.txt

sudo -u nfsnobody -g nfsnobody rm -rf /path/to/dir_being_deleted
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.