web-dev-qa-db-ja.com

ネットワークから離れている場合、LDAPユーザー認証とNFSホームディレクトリ共有はどうなりますか?

現在、ホームネットワークには、静的なデスクトップとラップトップが混在した複数のマシンがあります。私にとっては管理不能であり、すべてのユーザーがローカルホームディレクトリ、設定、およびセキュリティを持つことは実用的ではないため、一般的なユーザー管理にはLDAPを、共有ホームディレクトリにはNFSを使用することを検討しています。

ラップトップの1つが外出中の場合はどうなりますか?ホームネットワークに到達できないため、認証が失敗し、ローカルストレージにフォールバックしますか?また、ラップトップが戻ったときに、ホームストレージをNFSサーバーに再同期する方法はありますか?

9
Jim

ファイル

ファイルについては、一般的なファイルのネットベースの同期(たとえば buntu One または Dropbox )を使用し、大きなファイル(音楽、写真など)の共有フォルダーを作成します、ビデオ、Ubuntu ISO)。これは、NFSマウントである可能性があります。障害が発生してもそれほど重要ではないか、Samba共有、またはおそらく他の多くのテクノロジーの1つです。

LDAP

LDAPの失敗は間違いなくトラブルを引き起こします。通常は認識していないあらゆる種類のシステムアカウントは変換できず(名前<-> id番号)、システムはせいぜいLDAPサーバーからの応答を待っている間に1分間繰り返しハングするローカルシステムにフォールバックします。または、システムがロックアップして完全に失敗する場合があります。

これを回避する方法 があります。ローカルコピーを設定して、さまざまな方法で同期できます。この質問およびリンクされた質問に対する他の回答を参照してください。また、LDAPにシステムユーザーをLDAPディレクトリからではなく、ローカルファイルから取得するように指示することもできます。私たちのサーバーでは、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

すべてのシステムユーザーがそのリストに含まれていることを確認する必要があります。それでも、ラップトップの使用にはおそらく十分ではありません。

nss_ldap manページ から

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.

したがって、基本的にLDAPは、マスターサーバーに接続しなくてもそれらのユーザーを知らないふりをするため、NSSはローカルユーザーにフォールバックし、システムは正常に動作します。

最後のアイデアは、LDAPの学習に時間を費やしたい場合、代わりに基本的な puppet を学習し、それを使用してすべてのシステムですべてのユーザーを同じに保つことができるということです- このパペットレシピ たとえば。 Puppetを使用すると、他の多くのことも実行できます-共通パッケージのインストール、さまざまな側面の共通セットアップ...

2
Hamish Downer