私はdebianlennyを搭載したコンピューターをいくつか持っています。それらの1つにはnisサーバーがあります:193.167.1.75
ログインすると、ホームディレクトリを自動マウントできます。
>ssh 193.167.1.80 -l myuser
>pwd
/home/nis/myuser
今、私はそれらの1つにdebian wheezyをインストールしたばかりで、ホームディレクトリを自動マウントできなくなりました(ただし、myuserを使用してログインすることはできます)
>ssh 193.167.1.80 -l myuser
Could not chdir to home directory /home/nis/myuser: No such file or directory
>pwd
/
私が今までやったこと:
apt-get install nis nfs-common portmap autofs
echo "+::::::" >>/etc/passwd
echo "+::::::::" >>/etc/shadow
echo "+:::" >>/etc/group
echo "mynisserver" > /etc/defaultdomain
echo "ypserver ##.##.##.75" > /etc/yp.conf
nisdomainname mynisserver
/etc/init.d/nis restart
echo "+auto.master" > /etc/auto.master
rm /etc/auto.home
/etc/init.d/autofs restart
ホームディレクトリがまだマウントされていない理由はありますか?
編集1:
クライアント側(193.167.1.80)
grep -i automount /var/log/messages
grep -i automount /var/log/syslog
何も返しません(ログイン時に改行もありません)
/etc/init.d/autofs status
[ ok ] automount is running.
nsswitch:
cat /etc/nsswitch.conf
passwd: compat nis
group: compat nis
shadow: compat nis
hosts: files dns nis
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
それがそれと関係があるかどうかはわかりませんが、念のために:
showmount -a
clnt_create: RPC: Port mapper failure - Unable to receive: errno 111 (Connection refused)
サーバー側(193.167.1.75):
cat /etc/exports
/home/nis 193.167.1.0/24(sync,rw,no_root_squash,no_subtree_check)
EDIT2:
Rootを使用して193.167.1.80にnfsを手動でマウントしようとしました。出来た。ここで、autofsが自動的に実行しない理由を理解する必要があります。
mount -t nfs -o rw 193.167.1.75:/home/nis /home/nis
NFSでファイルシステムをエクスポートしていないと思われます。アイテムを自動マップに配置するだけでは、何も自動的にエクスポートされません。ソースサーバー上の/etc/exports
ファイルを確認してください。
また、2つの自動マウントマップのコンテキストが何であるかを示す必要があります。
また、/etc/nsswitch
の内容を指定する必要があります。このファイルの設定が間違っていると、NISが参照されることはありません。
これは私のシステムでも見られます。私の状況では、ログインすると、NISが起動していることがわかります(ypはサーバーの名前を返します)が、オートマウンターはどのマップも読み取りませんでした。 autofsを再起動すると(/etc/init.d/autofs restart)、次の再起動まで問題が解決します。
なぜこれが私のPCで起こっているのか理解できません。
NISサーバーへのブロードキャストアクセスが利用できないサブネット上で実行されている一部のRedHatシステムでこれを確認しました。これらは、「ドメインMYDOMAINサーバーMYNISSERVER」のようなyp.confで構成されています。 ypbindが起動されたブートシーケンスの時点で、MYNISSERVERのDNS解決が失敗し、YPがバインドされないことがわかりました。 MYNISSERVERをDNS名から数値のIPアドレスに変更するか、MYNISSERVERの/ etc/hostsに行を追加するとそこで機能します。
しかし、私のDebianボックスでは、これは問題ではありません。 Ypbindは正常に起動します。起動時のメッセージによると、失敗しますが、バックグラウンドで続行します。 autofsが開始されてからしばらくすると成功するのではないかと思うので、問題があります。
/etc/init.d/nisを編集して再試行間の遅延が5秒になったとき、問題は変わらなかったので、単に十分に長く待たなかっただけの問題ではありません。
ログファイルを見ると、NetworkManager/DHCPがインターフェイスの起動を完了する前に、スタートアップコードがNISを起動しようとしていると思います。つまり、接続を試行するためのインターフェイスがありません。
/etc/rc.localに次の2行を追加することで、問題を回避することができました。
/etc/init.d/nis start
/etc/init.d/autofs restart
明らかに、NISを起動する最初の試行と起動シーケンスの終了(rc.local)の間に何かがロードされているはずです。 /etc/rc5.dの内容によると、これはnfs-kernel-server(私は使用していません)、cron、およびminissdpdのみである可能性がありますが、いずれも私には意味がありません。
だから...私はあなたの問題を引き起こしているものを正確に知りませんが、私はあなたに回避策を提示することができたかもしれません。うまくいけば、私がこれに追加して、私(そしておそらくあなた)が観察している問題の本当の原因を理解することができるよりも多くの経験を持つ誰か。