bir gruba bir klasöre yazma izni verme


34

1 gruba nasıl yazma izni verebilirim?
2 kullanıcı var ( alexve ben).
alexgrubun alexve grubun üyesidir consult.
bengrubun benve grubun üyesidir consult.

Ben ikisine de okuma yazma erişim izni vermek istediğiniz alexve benklasörü consult_documents.

Ben yaparsanız alexdizinin sahibini consult_documentsve ben vermek 775dizine erişimi consult_documents, benve alexklasöre erişmek mümkün olacak diye düşünüyorum.

Ancak bu, diğer klasörlere de benerişime izin verecek alexmi? Bir kullanıcı iki gruptaysa, bu, her iki gruptaki tüm üyelerin tüm klasörlerdeki aynı izinleri aldığı anlamına mı geliyor?


Alex ve ben'in consult_documents içinde dosyalar oluşturabilmesini ve bu belgelere hem okuma hem de yazma erişimine izin vermelerini ister misiniz?
X Tian

Yanıtlar:


42

Bir dizine 775 izin vermek, otomatik olarak belirli bir gruptaki tüm kullanıcıların rwxbuna erişeceği anlamına gelmez . Dizinin sahibi ya da yönetmen grubuna ait olmaları gerekir:

$ ls -ld some_dir
drwxrwxr-x 2 alex consult 4096 Feb 20 10:10 some_dir/
              ^     ^
              |     |_____ directory's group
              |___________ directory's owner

Bu nedenle, hem alex hem de ben'in yazma erişimine izin vermek some_diriçin some_dirdizinin kendisinin consultgruba ait olması gerekir . Aksi takdirde, direktörün sahibi (örneğin, alex) aşağıdaki komutu vermelidir:

$ chgrp consult some_dir/

veya dizindeki her şeyin grup sahipliğini değiştirmek için:

$ chgrp -R consult some_dir/

Bu sadece alex consultgrubun bir üyesiyse işe yarar , bu sizin örneğinizde olduğu gibi görünüyor.

Bu, Ben'in alex'in tüm dizinlerine iki nedenden dolayı erişmesine izin vermeyecektir:

  1. Alex'in tüm dizinleri consultgruba ait olmayacak
  2. Alex'ın dizinlerinin bazıları consultgruba ait olabilir, ancak alex rwxgrubun onlara erişmesine izin vermemiş olabilir .

Kısacası, cevap hem grup sahipliğine hem de dizin için ayarlanan grup izin bitlerine bağlıdır.

Bunların tümü, sisteminizde ek zorunlu erişim kontrol önlemleri kullanmamanız koşuluyla sağlanır .


consult_documents bir Dizindir, o zaman nasıl grup olarak tanımlayabilirsiniz?
Babin Lonston

@ Babinlonston Yapamazsınız. consultGrup olarak belirtin .
Joseph R.

Teşekkürler, bir dizine bir gruba nasıl erişileceğini arıyordum. Chgrp komutunun bunu yapabileceğinin farkında değildim. Chgrp'nin yalnızca bir gruba kullanıcı eklemek / silmek olduğunu düşündüm.
anatak

1
@anatak Grup üyeliğini değiştirme, şu yolla usermodyapılmazchgrp
Joseph R.

Bu aynı chown -R :consult some_dir/mı?
Aaron Franke

7

Bu, alex ve ben'i bu Rehberde birbirleriyle işbirliği yapmaya zorlayacaktır. Ve diğer Dir.

Kullanarak Kullanıcı grubunu değiştirin

# usermod -a -G alex,ben alex

Sonra Klasör İznini değiştirin

# chown alex:ben consult_documents

Burayı kontrol ettim.

$ sudo usermod -a -G alex,ben alex

$ sudo chown alex:ben consult_documents/

cd consult_documents/

$ touch babin

drwxrwxr-x 2 alex ben  4096 Feb 20 15:19 .
drwxr-xr-x 3 alex alex 4096 Feb 20 15:17 ..
-rw-rw-r-- 1 alex alex    0 Feb 20 15:19 babin

$ su - ben

cd /home/alex/consult_documents/

ben@system99:/home/alex/consult_documents$ touch babin1
ben@system99:/home/alex/consult_documents$ ls -la
total 8
drwxrwxr-x 2 alex ben  4096 Feb 20 15:19 .
drwxr-xr-x 3 alex alex 4096 Feb 20 15:17 ..
-rw-rw-r-- 1 alex alex    0 Feb 20 15:19 babin
-rw-rw-r-- 1 ben  ben     0 Feb 20 15:19 babin1
ben@system99:/home/alex/consult_documents$

Buraya bir göz atın


6

Sorunuzu doğru anladıysam, cevap evet.

Açıklamama izin ver:

Klasör ve dosya erişim haklarınız üç kategoriye ayrılmıştır:

xxxyyyzzz
xxx are access rights for the owner
yyy are access rights for the owner's group
zzz are the access rights for everyone else

Her dosya ve klasör bir kullanıcıya ait olmalıdır.

Bu, consult_documents adlı bir klasörünüz varsa ve grubun Consult grubunun herkes tarafından erişilebilir olmasını istiyorsanız, buna sahip olacaksınız (755 erişim hakkına sahip):

drwxrwxr-x Alex Consult [......]

Dizin Alex'e aittir ve grup Consult'tur. Alex'in RWX erişim hakları var. Group Consult'un üzerinde RWX erişim hakları vardır. Diğer kullanıcıların RX hakları vardır.

Kullanıcınız Alex birkaç gruba sahip olduğundan, paylaşılacak grubu seçebilirsiniz.

Örneğin, klasörünüz Alex grubundan Alex'e aitse:

drwxrwxr-x Alex Alex [......]

Yap:

chown Alex:Consult your_folder

Olacak:

drwxrwxr-x Alex Consult [......]

Ve sonra dizin Consult grubu için kullanılabilir.

Lütfen bildiğim kadarıyla, sahibinin grubundan olmayan bir grup ekleyebileceğinizi unutmayın. Ancak tavsiye edilip edilmediğinden emin değilim (erişim haklarını okurken net değil).


3

setfacl -mg: debian iletim: rwx -R / mnt / sra

Tamamen değişecek olan chown yerine bu komutu hoş buldum , dosyanın veya dizinin sahibini!

Birden fazla sahibinin olduğunu göstermek için + işaretinin ekleneceğini 'ls -Al'de göreceksiniz!

drwxr-xr-x 2 kök kökü 4096 Kas 8 19:11 sdc1 /

drwxrwxr-x + 3 kök kökü 4096 Şub 17 19:16 sra /

Ve sonra dosya veya dizini kimin yazabileceğini veya okuyabileceğini görmek için getfacl'ı kullanabilirsiniz !

# dosya: sra

# owner: root

# group: root user :: rwx

grup :: rx

grubu: debian-akışı: rwx

maske :: RWX

Diğer :: rx

varsayılan: Kullanıcı :: rwx

default: grup :: rx

varsayılan: grubunu: debian-iletimi: RWX

varsayılan: maskelemek :: RWX

varsayılan: Diğer :: rx

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.