この手順では、各 NFS サーバーでホームディレクトリのマウントポイントを作成するスクリプトを実行します。次に、そのサーバーのラベルで auto_home エントリを変更してマウントポイントを追加します。これでユーザーがログインできるようになります。
始める前に
Trusted Extensions ドメインのホームディレクトリサーバーが LDAP クライアントとして構成されました。–S ldap オプション付きの useradd コマンドを使用して、LDAP サーバー上にユーザーアカウントが作成されています。root 役割になっている必要があります。
サンプルスクリプトでは次のことを仮定しています。
LDAP サーバーは NFS ホームディレクトリサーバーとは異なるサーバーである。
クライアントシステムも異なるシステムである。
hostname エントリは、ゾーンつまりそのラベルに対する NFS ホームディレクトリサーバーの外部 IP アドレスを指定している。
このスクリプトは、NFS サーバー上で、そのラベルのクライアントにサービスを提供するゾーン内で実行される。
#!/bin/sh
hostname=$(hostname)
scope=ldap
for j in $(getent passwd|tr ' ' _); do
uid=$(echo $j|cut -d: -f3)
if [ $uid -ge 100 ]; then
home=$(echo $j|cut -d: -f6)
if [[ $home == /home/* ]]; then
user=$(echo $j|cut -d: -f1)
echo Updating home directory for $user
homedir=/export/home/$user
usermod -md ${hostname}:$homedir -S $scope $user
mp=$(mount -p|grep " $homedir zfs" )
dataset=$(echo $mp|cut -d" " -f1)
if [[ -n $dataset ]]; then
zfs set sharenfs=on $dataset
fi
fi
fi
done