アカウントの作成とユーザ認証
でもって、実際にKerberosによって、DebianへのログインをADに認証させよう。
DNS設定
まず、DCのDNSを設定する。前回、DebianのKerberosはDNSへの参照を行う設定にしたので。
作るのは、SRVレコードと、TXTレコード。
SRVは2つ。
TXTは1つ。
- _kerbeos IN TXT R2N.LOCAL
アカウント作成
次にアカウントを作成する。
まず、今回はDebianからLDAPによってAD内を検索できるようにはしていないので。
#Winbindか、SFUが必要になる
ちょっと面倒くさいが、Debian側にもユーザを作成する。
つまり。
Debianのログインの際に、
- ユーザの有無 … debianの/etc/passwdファイル
- パスワードの一致 … DCのAD
という形で認証を行う。
ユーザ「test」、パスワード「test」というアカウントを作成する。
まず、ADにユーザを作成。
その後、Debianでuseraddする。
useradd test
Debian側ではパスワードは必要なし。AD側のみパスワード設定する。
PAM設定
Debianのログインの際に、DCに認証に行くようにPAMを変更する。
まず、認証だから、common-authを書き換えればいいのかな?
/etc/pam.d/common-auth auth sufficient pam_krb5.so(追加)
さて、ログイン…。
ふむ。ユーザをtest@R2N.LOCALとみなしてる。これはいいんじゃないかな?
だけど、パスワードが通らん。
しかも、rootまでroot@R2N.LOCALになっちゃってる。
さて、何が問題だべ〜?
kinitすると、問題なくTGTをゲットしてる。
う、う〜ん。いろいろ試した結果、common-authがいかんのではないかと。
/etc/pam.d/common-auth auth sufficient pam_krb5.so auth required pam_unix.so nullok_secure
で、pam_krb5.soを先に書く必要性があることが判明。
…。
そうかそうか。判明。
先に required pam_unix.soがある場合、まずUNIXのパスワードの入力があって、そのあとKerberosによる認証が入る。両方成功しなければ、認証されない。requiredはそういう意味っぽい。
で、先にsufficient pam_krb5.soがあるならば、Kerberosによる認証があって、それが成功すればそこで終了ってことになる、と。
念のため、test2を作ってみる。…OK、いける。
ただ、ホームディレクトリがないんだよね。vipwすると、/home/testになってるんだけど…。
これは課題という感じで。