Ubuntu Server 18.4をFreeBSD 11.xのNISクライアントとする場合、いくつかの設定が必要でした。
FreeBSD 11をNISサーバーに、Ubuntu 16.04をNISクライアントするための設定
http://www.sakashita-net.jp/2018/01/freebsd-11nisubuntu-1604nis-1.html
http://www.sakashita-net.jp/2018/01/freebsd-11nisubuntu-1604nis-2.html
今回、これ以外にも設定が必要であることがわかりました。
- NISのパッケージをインストールして設定ファイルを記述
$ sudo apt install nis
…
$ cat /etc/yp.conf
domain NISドメイン名 server NISサーバーホスト名
$ cat /etc/nsswitch.conf
passwd: compat systemd nis
group: compat systemd nis
shadow: compat nis
$
- NISでの認証の場合、ログインに時間がかかるので、以下のWWWページを参照して設定を行った。
Ubuntu 18.04 マシンへのログインに時間がかかることに対する対処
https://ocg.aori.u-tokyo.ac.jp/member/daigo/comp/memo/?val=valid&typ=all&nbr=2018051801
…
問題
Ubuntu 16.04 のころから ssh でログインするのに異様に時間がかかるようになった. ログインするたびに /var/log/auth.log には
pam_systemd(sshd:session): Failed to create session: Connection timed out
とのエラーが出ており PAM に問題があるようだったため,sshd が PAM を使わないよう設定していた. なお, このタイムアウトは 25秒 に設定されている. しかし, パスワード認証に PAM を使うシステムは sshd だけでなく,デスクトップの lightdm なども該当するため根本的解決が必要になった.
原因
ログインに時間がかかるマシンは NIS のクライアントでもあった.sshd の起動時, /var/log/syslog には
systemd-logind do_ypcall: clnt_call:
RPC: Unable to send; errno = Operation not permitted
とのエラーが出ていた. PAM が呼ぶ system-logind が NIS サーバにアクセスできていないようである. ypcat などで passwd データなどは引けているので, この原因は不明である.
対処
/lib/systemd/system/systemd-logind.service
にて
IPAddressDeny=any
を
#IPAddressDeny=any
とコメントアウトし
$ sudo systemctl daemon-reload
で systemd をリロード. これで ssh, lightdm 等のログイン問題は解決した.
Linux NISクライアントがログイン時にハングアップする
https://qiita.com/kakinaguru_zo/items/18258d4dd296a755badd
Ubuntu 18や最近のDebian testingやArch LinuxでNISを用いた認証を行うようにすると25秒間固まる。これはsystemdバージョン235からsystemd-logindが一切のネットワーク通信を出来ないように設定されているからである。これを解決するための方法はいくつかあり以下のどれかを実行すればよい。
- /lib/systemd/system/systemd-logind.service の IPAddressDeny=any の行をコメントアウトする
- unscd をインストールする(nscdは問題が多いのでやめたほうがよい)
この問題はsystemdの開発者に認識されているがsystemdのほうで修正される予定はない
私は、後者のunscdをインストールすることで対処しました。というのは、ファイル/lib/systemd/system/systemd-logind.service はsystemdのアップデートで更新されてしまうことがあり、変更が失われてしまう場合があったためです。