ログイン時に自動的にKerberosを使用してNFSに接続する

ログイン時に自動的にKerberosを使用してNFSに接続する

Kerberosセキュリティを使用してNFS共有をエクスポートするUbuntu 16.04サーバーがあります。ラップトップクライアントUbuntu 17.10がサーバーに接続されています。クライアントは、autofs を使用して共有をマウントするように構成されます。サーバーにキータブを作成してクライアントにコピーしました。

シェアを達成できました。ところで、ラップトップにログインしてすぐに機能せず、ディレクトリはマウントされていますが、実際には使用できない不思議な状態です。

それが機能するには、次のいずれかを実行する必要がありました。

sudo service rpc-gssd restart

または

kinit
[type in password when prompted]

上記のいずれかを実行した後、マウントされた共有を正常に見つけることができます。

これが予想される動作ですか?そうでなければ、どのように解決できますか?正常であれば、ネットワークが起動したときに自動的にkinitを実行する方法はありますか? Wi-Fi経由で接続されるため、起動時にネットワークをすぐに使用することはできません。ユーザーがログインしてパスワードキーリングをロック解除した場合にのみ使用できます。

助けてくれてありがとう。

修正する

ラップトップが物理的にネットワークに接続されている間にラップトップを起動すると、すべてが正常に機能することがわかりました。 "pam"は手動でチケットを受け取らずにすべてが機能するようにするメカニズムであると思いましたが、ログイン時にネットワーク接続がないとpamが機能しないようです。

答え1

問題は、NetworkManagerを使用してもログイン時にネットワークに接続できないことです。 NetworkManagerには各ユーザーのWi-Fiネットワークのリストがあり、ユーザーがログインするまでネットワークにログインしません。

回避策は、ネットワーク設定でWi-Fiネットワークの[設定]ボタンをクリックし、ネットワークを[すべてのユーザーが利用可能]に設定することです。

設定が完了すると、ノートパソコンは起動時に自動的にWi-Fiに接続されます。その後、ユーザーがログインするとネットワークが機能し、自動Kerberosチケット魔法が機能する可能性があります。

答え2

KerberosベースのNFS共有にアクセスするには、まずチケットが必要です。それ以外の場合、セキュリティはありません。解決策は、ログイン時に$ HOME / .bash_loginまたは$ HOME / .bash_profileにkinitを置くことです。ハイムダルのkinitはSTDINで渡すことができるので非常に良いです。

echo yourpass|kinit

関連情報