Krb5OSX と Krb5Debian を見つつ、やってみる。
次のような構成とする。
以下、全て server.example.jp での作業。
krb5 を install。
# apt-get install krb5-kdc krb5-admin-server krb5-config krb5-user
/etc/krb5.conf を編集。編集・追加部分のみ示す。
[libdefaults] default_realm = EXAMPLE.JP [realms] EXAMPLE.JP = { kdc = server.example.jp admin_server = server.example.jp default_domain = example.jp } [domain_realm] .example.jp = EXAMPLE.JP example.jp = EXAMPLE.JP
/etc/krb5kdc/kdc.conf を確認。確認部分のみ示す。
[realms] EXAMPLE.JP = { database_name = /var/lib/krb5kdc/principal admin_keytab = FILE:/etc/krb5kdc/kadm5.keytab acl_file = /etc/krb5kdc/kadm5.acl key_stash_file = /etc/krb5kdc/stash
KDB を作成。
# kdb5_util create -s
KDC database master key を聞かれるので設定する。/var/lib/krb5kdc/ 以下にファイルが生成されたことを確認。
KDC を起動。
# /etc/init.d/krb5-kdc start
管理 principal を登録。
# kadmin.local : addprinc foo/admin
password を聞かれるので設定する。/etc/krb5kdc/kadm5.acl で ACL を設定。
foo/admin@EXAMPLE.JP *
kadmind 用の keytab を生成。
# kadmin.local : ktadd -k /etc/krb5kdc/kadm5.keytab kadmin/admin kadmin/changepw
kadmind を起動。
# /etc/init.d/krb5-admin-server start
foo の user principal を追加。foo で作業する。
% kadmin : addprinc foo
password を聞かれるので設定する。
host principal を追加。
# kadmin.local : addprinc -randkey host/server.example.jp : ktadd host/server.example.jp@EXAMPLE.JP
/etc/krb5.keytab が生成されたことを確認。
krb5 telnet server と client を install。
# apt-get install krb5-telnetd krb5-clients
foo でチケットを取得。
% kinit
実際に login してみる。
% telnet.krb5 -8x server.example.jp
先に設定した server.example.jp に client.example.jp からの login を試みる。
client.example.jp で krb5 の install。
client# apt-get install krb5-clients krb5-user
client:/etc/krb5.conf を編集。server:/etc/krb5.conf と同じ。
foo でチケット取得。
foo@client% kinit foo@EXAMPLE.JP
server.example.jp に login。
foo@client% telnet.krb5 -x8 server.example.jp Trying XXX.XXX.XXX.XXX... Connected to server.example.jp (XXX.XXX.XXX.XXX). Escape character is '^]'. Waiting for encryption to be negotiated... Negotiation of authentication, which is required for encryption, has failed. Good-bye.
あれ? server:/var/log/syslog を確認。
server telnetd[XXXXX]: ttloop: peer died: Invalid or incomplete multibyte or wide character server telnetd[XXXXX]: connect from XXX.XXX.XXX.YYY (XXX.XXX.XXX.YYY)
server:/var/log/auth.log を確認。
server krb5kdc[XXXXX]: TGS_REQ (1 etypes {1}) XXX.XXX.XXX.YYY: UNKNOWN_SERVER: authtime XXXXXXXXXX, foo@EXAMPLE.JP for host/server@EXAMPLE.JP, Server not found in Kerberos database
あれ?
server# kadmin.local : addprinc -randkey host/server : ktadd host/server@EXAMPLE.JP
としたらつながるようになったけど、本当にこれでいいのかなぁ。
krb5 setup for NFSv4 と Using NFSv4 を見つつ、やってみる。
server,client 両方の /etc/default/nfs-common を編集。編集部分のみ示す。
NEED_IDMAPD=yes NEED_GSSD=yes
server,client 両方で nfs-common を restart。
# /etc/init.d/nfs-common restart
server で server, client 両方の nfs principal を追加。
server# kadmin.local : addprinc -randkey nfs/server.example.jp : ktadd -e des-cbc-crc:normal nfs/server.example.jp@EXAMPLE.JP : addprinc -randkey nfs/client.example.jp : ktadd -e des-cbc-crc:normal nfs/client.example.jp@EXAMPLE.JP
server で client 用の keytab を生成。
server# kadmin : ktadd -e des-cbc-crc:normal -k /tmp/keytab nfs/server.example.jp@EXAMPLE.JP : ktadd -e des-cbc-crc:normal -k /tmp/keytab nfs/client.example.jp@EXAMPLE.JP
server:/tmp/keytab を client:/etc/krb5.keytab としてコピー。
server/export4 ディレクトリを作成し、server:/etc/exports を編集。編集部分のみ示す。
/export4 *(rw,fsid=0,rw,async,insecure,no_subtree_check) /export4 gss/krb5(rw,fsid=0,rw,async,insecure,no_subtree_check) /export4 gss/krb5i(rw,fsid=0,rw,async,insecure,no_subtree_check) /export4 gss/krb5p(rw,fsid=0,rw,async,insecure,no_subtree_check)
server の /etc/default/nfs-kernel-server を編集。編集部分のみ示す。
NEED_SVCGSSD=yes
server で kernel module を読み込み、nfs-kernel-server restart。
server# modprobe auth_rpcgss server# modprobe rpcsec_gss_krb5 server# modprobe rpcsec_gss_spkm3 server# /etc/init.d/nfs-kernel-server restart
client で NFSv4 mount。
client# mount -t nfs4 server:/ /mnt
いろいろ遊ぶ。
client% touch /mnt/test
vd-udev-devfs-2.patch を当てて作成。
前 | 2005年 1月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
[amd64 | audacious | comp | debian | gkrelluim | kip | misc | movie | research | rime | unicon | vdr | work | えふえふ]
書いてる人: dai
パッチ等(無保証)