Ağdan uzaktayken LDAP kullanıcı kimlik doğrulaması ve NFS giriş dizini paylaşımlarına ne olur?


9

Şu anda ev ağında statik masaüstü ve dizüstü bilgisayarların bir karışımı olan birkaç makinem var. Benim için yönetilemez ve tüm yerel ev dizinleri, ayarları ve güvenlik olması pratik olmayan için bu yüzden ortak kullanıcı yönetimi için LDAP ve paylaşılan ev dizinleri için NFS kullanmayı düşünüyorum.

Dizüstü bilgisayarlardan biri yola çıktığında ne olur? Ev ağına erişilemiyor, bu nedenle yetkilendirme başarısız olacak ve yerel depolamaya geri dönecek mi? Ayrıca, dizüstü bilgisayar döndüğünde ev depolama alanını NFS sunucusuna yeniden senkronize etmenin bir yolu var mı?

Yanıtlar:


6

Ne NFS ne de LDAP bağlantısı kesilmiş çalışmayı desteklemez: yani, dizüstü bilgisayar sunuculara erişemediğinde, NFS'ye bağlı hiçbir dizine erişemez ve kullanıcı aramaları gerçekleştiremez. Temel olarak, sıkışmış olacak.

Birkaç geçici çözüm aşağıdaki olabilir.

Ana dizinleri NFS üzerinden taşımak yerine, yerel dizinleri merkezi sunucudaki dizinlerle eşitlemek için bir kullanım birliği tutabilirsiniz . Sunucuya erişilemiyorsa işlemi durduran bir testle korunan cron'dan birlik çalıştırabilirsiniz. Ask Ubuntu üzerine Bu mesaj ve bu diğeri senkronizasyonu konusuyla ve bazı yararlı önerileri üzerine bir tartışma sağlar.

Kullanıcı kimlik doğrulama / yetkilendirme sorunuyla ilgili olarak çözümler libnss-db, kullanıcı bilgileri için kaynak olarak kullanılır :

  • Yükleyin libnss-db, ardından normalin yanı sıra kaynağı /etc/nsswitch.confaramak için yapılandırın :dbfiles

    passwd: dosya db grubu: dosya db gölge: dosya db

    dbKaynak dosyaları bulunur /var/lib/misc ( /var/lib/misc/passwd.dbvs.). Daha sonra bu dosyaların ana kopyasını merkezi sunucunuzda tutabilir ve istemcileri rsync+ ile senkronize edebilirsiniz cron. Dezavantajları: sunucudaki (bildiğim) db dosyalarını yönetmek için hazır yönetim komut dosyaları yoktur, ayrıca bir senkronizasyon gecikmesine maruz kalırsınız rsyncve ana sunucuya bağlanmak için bir yol ayarlamanız gerekir .

  • nss-updatedbVe libpam-ccredsşununla: paketler bu kadar ayarlamak için bir temizleyici yol sağlar nss-updatedbyerel olarak yeniden oluşturabilirsiniz passwd.dbve group.dboysa shadowbilgi tarafından yönetilmektedir libpam-ccreds. Bunların nasıl ayarlanacağı ile ilgili talimatlar READMEpaketlere eşlik eden dosyalarda bulunabilir .


@Jorge: Bu öneri için çok teşekkürler! Yanıt metnini güncelledim.
Riccardo Murri

2

Dosyalar

Dosyalara gelince, yaygın dosyalar (örneğin Ubuntu One veya Dropbox ) için net tabanlı bir senkronizasyona gider ve daha büyük dosyalar için (belki Müzik, Fotoğraflar, Video ve Ubuntu ISO'lar) paylaşılan bir klasöre sahip olurum . Bu, bir NFS montajı olabilir, başarısız olduğunda çok fazla önemli değil, bir Samba paylaşımı veya muhtemelen bir dizi diğer teknolojiden biri olabilir.

LDAP

LDAP başarısızlığı kesinlikle sorun yaratır. Normalde farkında olmadığınız her türlü sistem hesabı çevrilemez (ad <-> kimlik numarası) ve sistem, LDAP sunucusundan önce bir yanıt beklerken en iyi ihtimalle bir seferde bir dakika bekler yerel sisteme geri dönüyor. Veya sistem kilitlenebilir ve tamamen arızalanabilir.

Bunun etrafında bazı yollar var . Yerel bir kopya oluşturabilir ve çeşitli şekillerde senkronize edebilirsiniz - bu soruya ve bağlantılı soruya diğer cevapları görün. Ayrıca LDAP'ye sistem kullanıcılarını LDAP dizininden değil, yerel dosyalardan almasını söyleyebilirsiniz. Sunucularımıza aşağıdakileri ekledik:ldap.conf

# We need to ensure that various things can work without LDAP being available
# for example: booting, ssh in as root, apache ...
nss_initgroups_ignoreusers avahi,avahi-autoipd,backup,bin,daemon,dhcp,dhcpd,games,gdm,gnats,haldaemon,hplip,irc,klog,libuuid,list,lp,mail,man,messagebus,munin,mysql,nbd,news,ntp,nut,polkituser,proxy,pulse,root,sshd,statd,sync,sys,syslog,uucp,www-data

Tüm sistem kullanıcılarının bu listede bulunduğundan emin olmak istersiniz. O zaman bile muhtemelen dizüstü bilgisayar kullanımı için yeterli değildir.

Gönderen nss_ldap adam sayfası

nss_initgroups_ignoreusers <user1,user2,...,userN>
          This option directs the nss_ldap implementation of initgroups(3)
          to return NSS_STATUS_NOTFOUND if called with a listed  users  as
          its argument.

Temelde LDAP, ana sunucuyla bile iletişim kurmadan bu kullanıcıları tanımıyormuş gibi yapıyor, bu nedenle NSS yerel kullanıcılara geri dönüyor ve sistem iyi çalışıyor.

Son bir fikir, LDAP'yi öğrenmek için zaman harcamak istiyorsanız, bunun yerine bazı temel kuklaları öğrenebilir ve bunu tüm sistemlerinizdeki tüm kullanıcılarınızı aynı tutmak için kullanabilirsiniz - örneğin bu kukla tarifine bakın. Kukla, diğer birçok şeyi de yapmanıza izin verecektir - ortak paketleri yüklemek, çeşitli yönleri ortak kurmak ...

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.