Bir dizindeki yeni dosyaların gruba ait olduğundan emin olmak


67

Çok sayıda kullanıcı (tümü grubuma aittir) dosyaları oluşturup düzenleyebildiği zaman, paylaşılan bir dizin oluşturmak istiyorum. Bu dizindeki ve alt dizindeki tüm dosyaların grubuma ait olmasını istiyorum

Var olan dosyaları grubumun grubunu kullanması için değiştirdim chgrp, ancak yeni dosyalar hala oluşturuluyor kullanıcının birincil grubuna ait. Yeni dosyaların tekrar tekrar chgrp çalıştırmadan gruba ait olmasını sağlamanın bir yolu var mı?

Yanıtlar:


108

SetGID bitini ayarlamak istiyorsunuz.

chmod g+s dir

Dizinde oluşturulan tüm yeni dosyalar dizinin grubuna ayarlanmış gruba sahip olacaktır.

Bir süper kullanıcı blog yazısı yapışkan ve diğer Linux izin bitlerini açıkladı:

SetGID, ancak, tamamen farklı bir top oyunudur. Bir dizinin SetGID biti varsa ve bu dizinde bir dosya oluşturulduğunda, dosyanın grup sahipliği otomatik olarak dizinin grubu olarak değiştirilir.


1
Teşekkürler. Referans yararlıdır. Resmi bir parçası olan Umask komutunu açıklar
justintime

4
İlk dizinde üst dizinin grubuna ait bir alt dizin oluşturmaya ne dersiniz? Mümkün mü?
daaxix

@ LukePH'nin aşağıdaki cevabı, bu sessizce bozulduğunda kafanın karışmaması için çok önemlidir: sudo
Rhubarb


11

Bu, birkaç kişinin setgid ile takılıp kalmasına neden olabilir, eğer klasörün grubu sizinkinden farklıysa, chmod'u root olarak çalıştırmanız gerekebilir ancak bunu yapmanız gerektiğini belirten herhangi bir hata almazsınız.

sudo olmadan

$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar  9 10:44 dir

$ chmod g+s dir                                     # no errors

$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar  9 10:44 dir   # but nothing changed

$ touch dir/nosudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar  9 10:51 nosudo        # and the group is set wrong

sudo ile

$ sudo chmod g+s dir

$ ls -ld dir
drwxrwsr-x 2 luke testgroup 4096 Mar  9 10:44 dir   # the setgid bit is now on

$ touch dir/withsudo && ls -l dir/
-rw-rw-r-- 1 luke luke      0 Mar  9 10:51 nosudo
-rw-rw-r-- 1 luke testgroup 0 Mar  9 10:51 withsudo # and the group is set right
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.