Linux makinelerinde UID / GID'yi senkronize etmenin avantajı nedir?


24

UID'leri / GID'leri farklı Linux makinelerimde nasıl senkronize edeceğimin derinliklerine dalmadan önce, aslında faydasının ne olduğunu bilmek isterdim?

Bunun dosya senkronizasyonunu nispeten kolay tuttuğunu biliyorum (sahiplik "doğal olarak" korunuyor). Bununla birlikte, iletim servisine bağlı olarak bu da başarılabilir.

Tutarlı UID'lerden / GID'lerden fayda sağlayacak başka bir şey var mı?


4
Arşivleri (tar dosyaları vb.) Güncellemek için uid / gid'i değiştirirken, ayrıca uidname / groupnames yerine sayısal kimlikleri kullanabilen conf dosyalarını da unutmayın.
Olivier Dulac

Yanıtlar:


31

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 host1ve paylaşılan ağ bağlantılı bir dosya sistemi olduğunu varsayalım host2.

  • Aynı fikirde olmayan izinler : /home/user1her 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 host2izinleri 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 . ( user1kimliğine sahiptir user2, ancak user2kimliğ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 host2aynı UID sahiptir user1üzerine host1onları yazmak için izin /home/user1üzerine host2bilmeden user1. Bu değişiklikler daha sonra host1izinleri ile değerlendirilir user1. Ne yanlış gidebilir ki? (eğer user1bir 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_ifEğer alanlarını kullanmasını sağlar user, uidve 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ı.


Ağa bağlı bir dosya sistemi kullanmak, farklı kullanıcılarla ilgili sorunların çözülmesini önlediğinden emin değilim, hangi grupların ve kullanıcıların farklı makinelerde eşleşeceğini belirlemenizi sağlayan bir kullanıcı haritası haritasını destekleyen en az bir dosya sistemi biliyorum.
Vality

@Vality Sık kullanılan bir çözüm olsaydı, hala ölçeklenebilir bir çözüm olarak tereddüt ederdim.
Andrew B,

Katılıyorum, sadece OP'nin imkansız olduğunu düşünmesini istemedim, en iyi çözümün onları senkronize etmekte olduğuna dair önerinize büyük ölçüde katılıyorum.
Vality

Teşekkürler! Ne yazık ki "erken" uzun zaman önce gitti. Bazı ldap / kerberos konfigürasyonlarının burada çalıştığım yere dahil etmek istediğim bir şey olduğunu bildiğim halde, bu şimdi olmazdı. Bazı nedenlerden dolayı, özellikle birlikte çalışan sistemler arasında UID / GID kullanımıyla özellikle ilgilenmiştim. Dediğim gibi, dosya aktarımı bir sorun (şu anda "işe yarıyor" statüsüne sahip), bu yüzden UID'lerden etkilenen başka şeylerin (dediğiniz gibi) olup olmadığını bilmek istedim. Bu "diğer senaryoların" bazı anahtar kelimelerini ekleyebilir misiniz? Bu muhteşem bir cevap olurdu!
alex

@alex Peki, ağ bağlantılı dosya sistemi sorunları açısından "diğer senaryolar" demek istedim. Oyunda ne kadar geç olursanız olun, sorun yalnızca eksiz kaldığı için daha da kötüleşmeye devam ediyor. Sağladığımız sebepler yeterli değilse, bu "diğer nedenleri" sağlayarak sorunuzu biraz daha yönlendirdiyseniz muhtemelen yardımcı olacaktır. Şimdiye kadar verilen cevaplar bence oldukça iyi cevaplar. Eğer yönetimi ikna etmeye çalışıyorsanız, onus doğru olanı yapmalarını sağlamak için onus bize bağlı değildir.
Andrew B,

18

Belli bir boyuta ulaştığınızda (ve her zaman düşündüğünüzden daha erken), tüm ana bilgisayarlardaki birisinin şifrelerinizi değiştirmesinin ya da hesapların devre dışı bırakılmasının bir PITA olduğunu fark edeceksiniz. Bu yüzden insanlar LDAP veritabanlarına sahip sistemleri (veya NIS kullanıyorlar, ancak bugünlerde güvenli değiller) openldap veya bugünlerde mükemmel freeipa gibi kullanıyorlar.

Tüm hesap / grup bilgilerini merkezi bir veritabanında tutuyorsunuz, tüm ana bilgisayarlar bu bilgiyi paylaşıyor. Oradan daha birçok şey yapabilirsiniz: elbette dosya bilgilerini kullanmak için kullanıcı bilgilerini kullanın, ancak aynı zamanda kullanıcılarınızı orada oluşturmak zorunda kalmak yerine ldap bağlantıları olan tüm uygulamalar için sanal kullanıcılar da oluşturun (birçok web uygulaması kullanabilir). onların kullanıcı veritabanı için ldap), merkezi bir sudo kuralları veritabanı tutmak, autofs ortamınızı dağıtmak, dns bölgelerini tutmak, ...

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.