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.