Grup yazma izinlerinin olduğu bir dosyayı neden silemiyorum?


26

Aşağıdaki izinlere sahip bir dosyam var:

root:datave chmod775 olarak ayarlayın.

Benim normal kullanıcım, haydi onu boby diyelim, datagrupta

Neden dosyayı kullanıcı boby'siyle silemiyorum?

 rwxrwxr-x 18 root data 4096 2011-12-30 22:02 depolama
 kullanıcım grup verilerinde ancak depoya yazamıyor

Yanıtlar:


32

Çünkü bir dosyayı silerek, sadece dosyayı değiştirmez, aynı zamanda dizini de değiştirirsiniz.

Yani eğer dosyanız:

rwxrwxr-x

Yapabileceksiniz:

cp /dev/null <filename>

Ancak, dizin izinleriniz:

rwxr-xr-x  root  data  <directory name>

Sonra sistem dosyayı çıkarmanızı önler.


Dizinde drwxrwxr-x var, sanırım önünde d ile bir ilgisi var
— danidacar 19

2
@ user56301 d, sadece bu dosyanın bir dizin olduğunu gösterir. Dizinin mülkiyeti nedir?
— Karlson

drwxrwxr-x 18 kök veri
— danidacar 19

Aşağıdakileri kullanıcı olarak çalıştırmayı deneyin boby:cd <directory> ; touch test_file ; rm test_file
— Karlson

@ user56301 bu dizinde bir dosya oluşturabilir misiniz? yapamazsanız, o zaman kesinlikle orada bir dosyayı silemezsiniz.
— Rich Homolka,

12

Dosya silme, dosya izinlerine değil (*) dizin izinlerine dayanır.

Dosyayı içeren dizinde yazma izniniz var mı?

(*) Uyar, yalnızca dosyanın sahibinin onu silebileceğini zorladığın bir dizine sahip olabilirsin. Bu geçici direkler için kullanışlıdır.


: Ayrıca burada bir göz superuser.com/questions/784952/... aynı tartışılmaktadır.
— Meetai.com

1

Eğer içeren dizin kullanıcının bobyveya datagrubun kendisine yazmasına izin vermiyorsa, bu davranış açıklanabilir.


2
Yani tüm yolun grup iznine ihtiyacı var mı? Böyle çalışır.
— danidacar

1
@ user: Yolun tamamı değil - yalnızca dosyanın ani ana dizini. Siz sadece müdürün içeriğini değiştiriyorsunuz. Daha yüksek ebeveynler hiç önemi yok .
— yerçekimi

Cevapları güncelledim
— danidacar

1
Bu tam olarak doğru değil. Sadece içeren dizinde yazma izinlerine ihtiyacınız var. İzinler, herhangi bir kullanıcı, grup veya başka olabilir, size izin veren grup izinleri olmak zorunda değildir.
— Rich Homolka,

@Rich: AFAIK, sadece bir set kontrol edilir. Sahibi sizseniz, sistem 'grup' veya 'başkalarını' değil, yalnızca 'sahip' izinlerini kontrol eder. Eğer gruptaysanız, sistem 'başkalarının' izinlerini kontrol etmez. ( touch foo; chmod 6 foo; ls -l foo; cat foo)
— yerçekimi

1

Aynı şeyi denedim ve aynı problemle karşılaştım.

Yeni bir terminal oturumu başlatmak sorun. Bu şu şekilde başarılabilir:

  1. Çıkış yapıp tekrar giriş yapmak
  2. 6 tty'den birine gitme (Ctrl + Alt + F1-6) (Not: Ctrl + Alt + F7, GUI oturumunuzdur)
  3. su bobykullanıcı için yeni bir oturum başlatmak için kullanılır boby.

Şerefe!


Daha önce boby olarak oturum açtığını söyledi
— Kanadalı Luke, MONINSTATE MONICA

bobyEski oturumun bayat gözüktüğü ve grup ilişkilendirme değişikliklerini yansıtmadığı için tekrar giriş yapması gerekiyor .
— İşte Kurtlar

1

İddiaya girerim silmeye çalıştığın dosya / tmp.

Linux'a bakın - grup üyesi rw izniyle dosyayı silemiyor

/ tmp genellikle "yapışkan" aka "sınırlı silme" modu ayarına sahiptir (o + t). Bu mod ayarlandığında, herhangi bir izin ne olursa olsun, sadece dosya sahibi o dizindeki dosyaları taşıyabilir veya silebilir.

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.