Chmod ile grup nasıl belirlenir?


34

Başka bir kullanıcının giriş klasöründeki bir dizine grup-wrx izinleri eklemem istendi.

Yapmam gereken şeyin chmod 771 -R directorynameana dizinde çalıştırılması olduğuna inanıyorum . Tüpler üzerinde hiçbir yerde bulamadığım şey, bu izinleri hangi gruba vermek istediğimi belirlemektir . Şahsen birkaç gruptayım ve bir grupta kök olarak bilmiyorum.

Önemli olması durumunda, sistem Redhat 5.4 kullanıyor.

Yanıtlar:


37

chmod()Sistem çağrısı ve uzantısı chmodprogramı, bir dosyanın veya dizinin grup etkilemez (veya dosyanın diğer tip: blok special, karakter special, soket, ... sembolik bağ bir özel durum şeydir). Bu nedenle, izin verilen grup, dosya veya dizinin ait olduğu grup olacaktır.

Grup rwxizinleri eklemek için şunları kullanmalısınız:

chmod -R g+rwx DirectoryName

Ancak, bu izinler her dosyaya ve her dizine eklenir ve tüm dosyaların çalıştırılabilir olması gerekmez. Şahsen, eğer birileri rehberlerimin tümüne (veya herhangi birisine) grup yazma izni verdiyse çok mutsuz olurum, ama bu başka bir hikaye.

Yalnızca dizinleri etkilemek için, findyerine kullanın:

find DirectoryName -type d -exec chmod g+rwx {} +

(Not +: POSIX 2008; Linux destekliyor olsa da, tüm Unix sistemleri desteklememektedir.)


1
+ X (büyük harf X) kullanıyorsanız, dosya bir dizinse veya bazı kullanıcılar için zaten yürütme iznine sahipseniz yalnızca yürütme (veya 'arama') izni ekleyeceksiniz. linux.die.net/man/1/chmod
Dave,

@Dave: BSD'de chmod +X(Mac OS X) de destekleniyor, öyle görünüyor. POSIX dikkatli inceleme chmodgösterir+X bunun bir POSIX özelliği : X izin simgesi, dosya bir dizinse veya geçerli (değiştirilmemiş) dosya modu bitlerinin en az birine sahipse, dosya modu bitlerinin yürütme / arama bölümünü temsil eder. yürütme bitleri (S_IXUSR, S_IXGRP veya S_IXOTH) ayarlanmış. Dosya bir dizin değilse ve yürütme bitlerinden hiçbiri geçerli dosya modu bitinde ayarlanmamışsa dikkate alınmaz. Aşağıdaki gerekçeye dikkat edin.
Jonathan Leffler

12

Bir ext dosya sistemindeki her dosya şunlara sahiptir:

  1. Bir sahibi kullanıcı
  2. Bir sahip grubu
  3. Bu kullanıcının, bu grubun ve diğerlerinin izinleri.

Bir dosyada rwx grubu izinlerini ayarlıyorsanız, yalnızca o dosyanın sahibi grup dosyayı okuyabilir / yazabilir / yürütebilir. Bununla birlikte, kullanıcı ve sahibini aşağıdakilerle değiştirebilirsiniz:

chown username file1 file2 ...
chown -R username somedir
chgrp groupname file1 file2 ....
chgrp -R groupname somedir
chown username:groupname file1 file2 ...

Genişletilmiş dosya sistemi ayrıcalıkları için farklı uygulamalar vardır, yani Mac OS X'deki ACL'ler (Erişim Kontrol Listeleri), ancak Linux uzmanı olmadığımdan, muhtemelen sormalısınız. Sunucu Arızasında .


"eğer bir dosya üzerinde rwx grup izinlerini ayarlıyorsanız, sadece o dosyanın sahibi olan grup onu okuyabilir / yazabilir / çalıştırabilir" iddiasındayım. Sahip kullanıcı kuralları önceliklidir; ne sahip kullanıcınız ne de sahip grupta değilse, başkalarının kuralları geçerli değildir.
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.