teknik borç
Aşağıdaki nedenlerden dolayı , teknik borcun birikmesini önlemek için bu sorunu daha erken ele almak çok daha kolaydır . Kendinizi zaten bu durumda bulsanız bile, yakın gelecekte başa çıkmaya devam etmekten daha iyi bir şekilde ilgilenmek daha iyidir.
ağa bağlı dosya sistemleri
Bu soru, makineye özel mülkiyet durumları sağlayan yerel dosya sistemli makineler arasında dosya aktarımının dar kapsamına odaklanmış gibi görünmektedir.
Ağa bağlı dosya sistemi ile ilgili düşünceler, UID / GID eşlemelerini senkronize tutmaya çalışmak için en büyük durumdur, çünkü genellikle resme girdikleri anda pencereden bahsettiğiniz "aksi takdirde başarılmış" ifadesini atabilirsiniz. Tabii, şu anda bu ana bilgisayarlar arasında paylaşılan ağ bağlantılı dosya sisteminiz olmayabilir ... peki ya gelecek? Dürüst bir şekilde, şu anki ana bilgisayarlarınız veya gelecekte oluşturulan ana bilgisayarlar arasında tanıtılan ağ bağlantılı bir dosya sistemi için hiçbir zaman bir kullanım olamayacağını söyleyebilir misiniz? Aksini varsaymayı düşünmek çok ileri değildir.
Bunun /home
, aşağıdaki örneklerle arasında host1
ve paylaşılan ağ bağlantılı bir dosya sistemi olduğunu varsayalım host2
.
- Aynı fikirde olmayan izinler :
/home/user1
her sistemde farklı bir kullanıcıya aittir. Bu, bir kullanıcının sistemdeki ana dizinine sürekli olarak erişebilmesini veya değiştirebilmesini önler.
- chown wars : Bir kullanıcının, ana dizin izinlerinin belirli bir sistemde sabitlenmesini talep eden bir bilet göndermesi çok yaygındır. Bu sorunu çözmek, üzerindeki
host2
izinleri bozar host1
. Bazen birileri geri adım atmadan önce bir parça savaşın oynanmakta olduğunu fark etmeden önce bu biletlerin birçoğunun çalışması gerekebilir. Tek çözüm, aynı fikirde olmayan ID eşlemelerini düzeltmektir. Hangi yol açar ...
- UID / GID yeniden dengeleme cehennemi : Kimliklerin düzeltilmesinin karmaşıklığı, daha sonra , birden fazla makinedeki tek bir kullanıcıyı düzeltmek için kullanılan yeniden yapılanmaların sayısıyla katlanarak artar . (
user1
kimliğine sahiptir user2
, ancak user2
kimliği vardır user17
... ve kümedeki ilk sistem budur) Sorunu çözmek için ne kadar beklerseniz, bu zincirler o kadar karmaşık hale gelebilir, çoğu zaman birden çok sunucudaki uygulamaların çalışmama süresini gerektirir Bir şeyleri düzgün bir şekilde senkronize etmek için.
- Güvenlik problemleri :
user2
üzerinde host2
aynı UID sahiptir user1
üzerine host1
onları yazmak için izin /home/user1
üzerine host2
bilmeden user1
. Bu değişiklikler daha sonra host1
izinleri ile değerlendirilir user1
. Ne yanlış gidebilir ki? (eğer user1
bir uygulama kullanıcısı olduğunu, dev birisi olacak bu yazılabilir olduğunu keşfetmek ve olacak değişiklikleri yapın. Bu bir zaman kanıtlanmış bir gerçektir.)
Başka senaryolar da var ve bunlar sadece en yaygın olanların örnekleri.
isimler her zaman bir seçenek değildir
Sayısal kimliklere karşı yazılan tüm komut dosyaları veya yapılandırma dosyaları, ortamınız içinde doğal olarak taşınamaz hale gelir. Genel olarak sorun değil, çünkü çoğu insan kesinlikle zorunlu olmadıkça bunları kodlamıyor ... ama bazen birlikte çalıştığınız araç, bu konuda size bir seçenek sunmuyor. Bu senaryolarda, komut dosyasının veya yapılandırma dosyasının n farklı sürümünü korumanız gerekir .
Örnek: pam_succeed_if
Eğer alanlarını kullanmasını sağlar user
, uid
ve gid
... "grup" seçeneği bariz yoktur. Birden fazla sistemin bazı grup tabanlı erişim kısıtlamaları uygulamasının beklendiği bir konuma getirilmiş olsaydınız , PAM yapılandırmalarında n farklı varyasyonlarınız olur. (ya da en azından çarpışmalardan kaçınmanız gereken tek bir GID)
merkezi yönetim
natxo'nun cevabı bunu oldukça iyi kapladı.