Yeni oluşturulan dosya ve klasörleri gruplandırmak için varsayılan yazma izni verin


15

Diyelim ki iki grubumuz var: a ve b, ikisi de grup genelinin bir parçası.

A'nın oluşturduğu herhangi bir dosya veya klasörün GENERAL grubuna yazma iznine sahip olmasını istiyorum.

Nasıl yapabilirim?

Örneğin, yeni oluşturulan dosya şu şekilde ayarlanır:

-rw-r--r-- 1 a general

Bu, genel gruba yazma izni vermez


Bu cevapla ilgileniyor olabilirsiniz: stackoverflow.com/questions/3175303/…
Gavriel

2
Java'dan yapmak istemiyorum. Bunu yapmanın doğru yolu bu değil
Dejel

"Java'dan yapmak istemiyorum. Bunu yapmanın doğru yolu bu değil." Bu neredeyse felsefi bir ifade. Her yerde geçerlidir ...
GargantuChet

Yanıtlar:


15

Evet, bunu değiştirerek yapabilirsiniz umask. umaskYeni creted dosya için varsayılan izinler şunlardır belirler.

umask g+wKabuk yapılandırma dosyanızın sonuna ekleyebilirsiniz ( ~/.bashrcörneğin).

Ama aslında, bu tavsiye edilen bir uygulama değil. Bir dosyanın bütünlüğünü sağlamak ve dosya izinlerini güncellemeyi unutmanız durumunda, grup tarafından değiştirilebilir. "Güvenli başlangıç ​​değerleri" güvenlik ilkesine aykırıdır.

Bunun yerine, belirli bir dizinin yeni oluşturulan tüm dosyasını grup tarafından yazılabilir hale getirebilirsiniz . Bunu dizinin ACL'lerini değiştirerek yapabilirsiniz. Örneğin setfacl -dm u::rw,g::rw,o::r ~/shared,.

Referans için bu yayınlara bakın: /server/349145/can-i-override-my-umask-using-acls-to-make-all-files-created-in-a-given-director ve /programming/580584/setting-default-permissions-for-newly-created-files-and-sub-directories-under-a .


Dizinin ne olacağını bilmiyorsam ne olur? Diyelim ki TEST klasörüm var. A'nın oluşturduğu tüm dosyalar TEST altında olacaktır. Ancak, yeni oluşturulan dosyayı bulmak için 20130515 ve altında bir klasör oluşturabilir. bu nedenle TEST klasörü altında özyinelemeli olarak oluşturulan herhangi bir dosya ve klasör için olmalıdır
Dejel

2
varsayılan ACL'ler yeni alt dizinleri devralır ve bu dizinlerde oluşturulan dosyalara uygulanır. Dolayısıyla /srv/TEST, bu dizinde varsayılan ACL'leri ayarladıysanız /srv/TEST/20130515, üst dizinle aynı varsayılan ACL'lere ne zaman sahip olacağı.
Bratchley

Çalıştırmak da iyi bir fikir olabilir, sudo chmod g+s [dir]bu nedenle dosyalar gruba ait olacak
linuxgnuru
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.