Apa yang terjadi dengan otentikasi pengguna LDAP dan direktori home NFS yang dibagikan saat jauh dari jaringan?

9

Saat ini saya memiliki beberapa mesin di jaringan rumah yang merupakan campuran dari desktop statis dan laptop. Semakin tidak terkelola bagi saya dan tidak praktis bagi mereka semua untuk memiliki direktori rumah lokal, pengaturan dan keamanan jadi saya mempertimbangkan untuk menggunakan LDAP untuk manajemen pengguna umum dan NFS untuk direktori rumah bersama.

Apa yang terjadi ketika salah satu laptop keluar di jalan? Jaringan rumah tidak dapat dijangkau sehingga akankah auth gagal dan kembali ke penyimpanan lokal? Juga, ketika laptop kembali apakah ada cara untuk melakukan sinkronisasi ulang penyimpanan rumah ke server NFS?

Jim
sumber

Jawaban:

6

Baik NFS maupun LDAP tidak mendukung operasi terputus: yaitu, ketika laptop tidak dapat mencapai server, itu tidak akan dapat mengakses direktori yang dipasang NFS, juga tidak akan dapat melakukan pencarian pengguna. Pada dasarnya, itu akan macet.

Beberapa solusi bisa menjadi sebagai berikut.

Alih-alih memoutout direktori home melalui NFS, Anda dapat menyimpan direktori lokal secara bersamaan untuk menyinkronkannya dengan direktori di server pusat. Anda dapat menjalankan berbarengan dari cron, dijaga oleh tes yang membatalkan operasi jika server tidak dapat dijangkau. Posting ini di AskUbuntu dan yang lain ini menyediakan diskusi tentang topik sinkronisasi dan beberapa saran yang berguna.

Mengenai masalah otentikasi pengguna / otorisasi, solusi berputar menggunakan libnss-dbsumber informasi pengguna:

  • Instal libnss-db, lalu konfigurasikan /etc/nsswitch.confuntuk mencari dbsumber selain dari yang biasa files:

    passwd: file db grup: file db shadow: file db

    File dbsumber berada di /var/lib/misc ( /var/lib/misc/passwd.dbdll.). Anda kemudian dapat menyimpan salinan utama dari file-file ini di server pusat Anda dan menyinkronkan klien dengan rsync+ cron. Kekurangan: tidak ada skrip manajemen yang sudah jadi untuk mengelola file db di server (yang saya tahu), ditambah Anda mengalami penundaan sinkronisasi dan harus mengatur cara untuk rsyncterhubung ke server master.

  • Paket nss-updatedb- libpam-ccredspaket dan menyediakan cara yang lebih bersih untuk mengatur ini: dengan nss-updatedbAnda dapat membuat ulang secara lokal passwd.dbdan group.db, sedangkan shadowinformasi dikelola oleh libpam-ccreds. Petunjuk cara mengatur ini dapat ditemukan di READMEfile yang menyertai paket.

Riccardo Murri
sumber
@Jorge: terima kasih banyak untuk saran ini! Saya sudah memperbarui teks jawaban.
Riccardo Murri
2

File

Adapun file, saya akan pergi untuk sinkronisasi berbasis internet untuk file umum (katakanlah Ubuntu One atau Dropbox ) dan kemudian memiliki folder bersama untuk file yang lebih besar (mungkin Musik, Foto, Video dan ISO Ubuntu). Ini bisa menjadi NFS mount, bahwa ketika gagal tidak terlalu penting, atau berbagi Samba, atau mungkin salah satu dari sejumlah teknologi lainnya.

LDAP

Gagal LDAP pasti menyebabkan masalah. Semua jenis akun sistem yang biasanya tidak Anda sadari tidak dapat diterjemahkan (nama <-> nomor id) dan sistem, paling banter, akan berulang-ulang selama satu menit setiap saat sambil menunggu respons dari server LDAP sebelum kembali ke sistem lokal. Atau sistem mungkin terkunci dan gagal sepenuhnya.

Ada beberapa cara untuk mengatasi ini . Anda dapat mengatur salinan lokal dan menyelaraskannya, dengan berbagai cara - lihat jawaban lain untuk pertanyaan ini dan untuk pertanyaan terkait. Anda juga dapat memberi tahu LDAP untuk tidak mendapatkan pengguna sistem dari direktori LDAP, tetapi dari file lokal. Di server kami, kami telah menempatkan yang berikut di akhirldap.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

Anda ingin memastikan bahwa semua pengguna sistem ada dalam daftar itu. Bahkan mungkin itu tidak cukup untuk penggunaan laptop.

Dari halaman manual nss_ldap

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.

Jadi pada dasarnya LDAP berpura-pura tidak tahu para pengguna itu bahkan tanpa menghubungi server master, sehingga NSS kembali pada pengguna lokal dan sistem berfungsi dengan baik.

Satu gagasan terakhir adalah jika Anda bersedia menghabiskan waktu mempelajari LDAP, Anda bisa belajar beberapa boneka dasar dan menggunakannya untuk menjaga agar semua pengguna Anda tetap sama di semua sistem - lihat resep boneka ini misalnya. Wayang akan memungkinkan Anda untuk melakukan banyak hal lain juga - menginstal paket umum, pengaturan umum dari berbagai aspek ...

Hamish Downer
sumber