rm: dizin kaldırılamıyor /: İzin reddedildi


17

"Shadi" adında bir dizin oluşturdum ve bunun için bu izni ayarladım

sinoosh@ubuntu:/home$ ls -ld shadi
drwxr-xrwx 2 root root 4096 Jul  1 01:58 shadi

Bu durumda "diğerleri" iznim var, ama neden silemiyorum?

sinoosh@ubuntu:/home$ rm -r shadi/
rm: cannot remove ‘shadi/’: Permission denied

Yanıtlar:


25

Burada sorun /homedizinde "w" izniniz yok . Bir dosyayı silerken, o dosyaya yazmadığınızı ancak dosyayı içeren dizinin içeriğini değiştirdiğinizi unutmayın; bu nedenle, dizindeki herhangi bir dosyayı silmek istiyorsanız dizinde "w" iznine sahip olmak şarttır.

"ls -ld / home" terminal ekran görüntüsü

"W" iznine sahip bir dizindeysem, dosya izninin kendisi hakkında endişelenmeden dosyalarından herhangi birini silebilirim. Benim şimdiki dizini /home/rohitholan "w" izni olduğunu ve bu nedenle dosya izinleri ne olursa olsun dosyalarından herhangi birini silebilir unutmayın.

kaldırma / ev / rohith / shadi'nin terminal ekran görüntüsü

Aynı dosya "w" izni olmayan '/ home' dizininde oluşturulursa, sizinkiyle aynı çıktıyı alırım! :)

/ home / shadi kaldırmaya çalışırken terminal ekran görüntüsü


9

Bunun nedeni dizinin sahibi olmadığınız, dizinin sahibi 'root' ve 'root' grubudur. Bu nedenle, silmek için sahipliği değiştirebilir ve sonra silebilirsiniz (burada haklarınızı yükseltir ve sahipliği almak için 'kök' haline gelirsiniz):

sudo chown $USER:$USER ./shadi
rm -r ./shadi

Ya da sahipliği almayı atlayıp sudo rmhaklarınızı yükseltmek ve silme için 'kök' haline gelmek için:

sudo rm -r ./shadi

sadece sahiplerinin dosyaları silebileceği anlamına mı geliyor?
— Sinoosh

Evet veya sudokomutla haklarınızı yükseltmeniz gerekiyor . bu daha sonra parolanızı soracak ve aşağıdaki belirli komut için 'root' olacaksınız.
— Videonauth

şimdi "shadi" ben "sinoosh" kullanıcı ile kaldırabilirsiniz bir dosya olsaydı. "sudo" gerektirmez onun dizin neden çalışmıyor
— Sinoosh

6

Bunu dene:

sudo rm -r ./shadi

İzinler sahip kökü ve grup kökü gösterir, bu nedenle sudo kullanmanız gerekir.


1
Evet bu komut tamam, ama benim sorunum neden rm bu izinleri ile çalışmıyor diğer dizinde bu dizin için tam izinleri var
— Sinoosh

"Bu dizin için tam izinlere sahibim" Hayır, yok. "diğer alan" shadi "diğerleri" değildir.
— Rinzwind

ama "sinoosh" diğerlerine aittir ve "rm -r shadi" idam eder
— Sinoosh

0

Farklı hesaplar.

Herkesin ana dizininizi silme izni olsaydı hesabınızdan güvenliği nasıl beklersiniz?

Başka wbirinin giriş dizinini varsayılan olarak silme izniniz yoktur, ancak bunlar hariç chmod +w.

Farklı izinler ve bir örnek ( -rwxr-x---/ rwxrx):

+ - + - + - + - +
| + | U | g | o |
+ - + - + - + - +
| r | 1 | 1 | 1 |
+ - + - + - + - +
| w | 2 | 2 | 2 |
+ - + - + - + - +
| x | 4 | 4 | 4 |
+ - + - + - + - +
| * | 7 | 5 | 0 |
+ - + - + - + - +
Böyle giderse: 1 + 2 + 4 = 7, 1 + 4 = 5, 0 = 0, bu yüzden 750, ideal izin sistemini yani. Dosya sahibi ( ubu durumda) dosyayı okuyabilir, yazabilir ve yürütebilir, dosya sahibi grubu ( gbu durumda) okuyabilir ve yürütebilir ve diğer ( obu durumda) herhangi biri hiçbir şey yapamaz. Bu efsanevi:
u: mevcut kullanıcı (Kullanıcı)
g: mevcut kullanıcı grupları (Gruplar)
o: mevcut kullanıcı grupları değil (Diğerleri)
r: okuma izni (Oku)
w: yazma izni (Yazma)
x: yürütme izni (X-ecute)
.

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.