アカウントの作成とユーザ認証

でもって、実際にKerberosによって、DebianへのログインをADに認証させよう。

DNS設定

まず、DCのDNSを設定する。前回、DebianのKerberosはDNSへの参照を行う設定にしたので。

作るのは、SRVレコードと、TXTレコード。
SRVは2つ。

  • _kerberos._tcp.r2n.local IN SRV
  • _kerberos._udp.r2n.local IN SRV

TXTは1つ。

  • _kerbeos IN TXT R2N.LOCAL

アカウント作成

次にアカウントを作成する。
まず、今回はDebianからLDAPによってAD内を検索できるようにはしていないので。
#Winbindか、SFUが必要になる
ちょっと面倒くさいが、Debian側にもユーザを作成する。

つまり。
Debianのログインの際に、

  1. ユーザの有無 … debianの/etc/passwdファイル
  2. パスワードの一致 … 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になってるんだけど…。
これは課題という感じで。