トップ «前の日記(2004-08-04 (Wed)) 最新 次の日記(2004-08-08 (Sun))» 編集 RSS feed

継続にっき

2004|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|12|
2006|01|03|05|06|08|09|10|12|
2007|01|02|03|05|07|12|
2008|10|
2009|01|05|12|
2010|04|05|11|
2011|01|09|12|
2012|02|03|05|09|12|
2013|02|03|
2014|05|09|
2015|12|
2017|09|

2004-08-07 (Sat)

))) autofs + LDAP

ようやっとSamba(PDC)+LDAP認証なサーバ & Samba+NFSなファイルサーバの連携に成功した。 これでクライアントはWindowsでのドメインログオン & LinuxでのLDAP認証によるログイン (ホームディレクトリ共有)が出来るようになる。

とりあえずSambaは置いておくとして、autofs+LDAPについてWeb上にまとまったドキュメントがなくて苦労した。 以下はそのあたりについての断片的なドキュメント。LDAPでの各ユーザーエントリはsmbldap-toolsによって生成された ものをベースとしている点に注意。いつかSambaとあわせてちゃんとまとめなきゃな。

構成

サーバ
役割IP
認証サーバ192.168.1.2
ファイルサーバ192.168.1.3
認証サーバ側

LDAPのbasednは「dc=example,dc=com」、root dnは「cn=Manager,dc=example,dc=com」。

ファイルサーバ

/export以下を公開する。

  • ユーザーのホームディレクトリは/export/home/username

LDAP

ユーザーエントリに対してobjectClass「automount」を追加できるように スキーマファイルを修正する。

--- /etc/openldap/schema/redhat/autofs.schema.orig  2004-08-06 17:57:40.000000000 +0900
+++ /etc/openldap/schema/redhat/autofs.schema       2004-08-06 17:58:28.000000000 +0900
@@ -13,7 +13,7 @@
        EQUALITY caseExactIA5Match
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )

-objectclass ( 1.3.6.1.1.1.1.13 NAME 'automount' SUP top STRUCTURAL
+objectclass ( 1.3.6.1.1.1.1.13 NAME 'automount' SUP top AUXILIARY
        DESC 'An entry in an automounter map'
        MUST ( cn $ automountInformation )
        MAY ( description ) )

autofs用にエントリの追加を行う。

# cat autofsinit.ldif

 dn: ou=auto.master,dc=example,dc=com
 objectClass: top
 objectClass: automountMap
 ou: auto.master

 dn: cn=/home,ou=auto.master,dc=example,dc=com
 objectClass: organization
 objectClass: automount
 o: /home
 cn: /home
 automountInformation: ldap://192.168.1.2/ou=Users,dc=example,dc=com

# ldapadd -x -D 'cn=Manager,dc=example,dc=com' -W -f autofsinit.ldif

各ユーザエントリに対してautomount用のAttributeを追加する。この例ではユーザdomainuserに対する処理を行っている。

# cat addatribute

 dn: uid=domainuser, ou=Users, dc=example,dc=com
 changetype: modify
 add: objectClass
 objectClass: automount
 -
 add: automountInformation
 automountInformation: 192.168.1.3:/export/home/domainuser

# ldapmodify -x -D 'cn=Manager,dc=example,dc=com' -W -f addatribute

ファイルサーバ側

/etc/exportsに以下の行を追加。

/export 127.0.0.1/255.255.255.0(rw,sync,no_root_squash)
/export 192.168.1.0/255.255.255.0(rw,sync,no_root_squash)

あとは関連サービスを起動させる。

# /etc/init.d/portmap start
# /etc/init.d/nfs start

クライアント(autofs)側

authconfigでLDAPサーバ認証をするように設定し、 /etc/nsswitch.confのautomountの項目にldapがあるか確認しておく。

autofsのバージョンを確認する。

# /usr/sbin/automount --version
 Linux automount version 4.1.2

FC1などにある3.x系はautomountの書式が異なり「//ldaphost/basedn」ではなく 「ldaphost:basedn」という形をとるので注意。 その場合は新しいものをいれればいい。

# yum remove autofs
# cd /usr/local/src
# wget http://www.kernel.org/pub/linux/daemons/autofs/v4/autofs-4.1.3.tar.gz
# tar zxf autofs-4.1.3.tar.gz
# ./configure
# make
# make install

autofsを起動し、マウントポイントを確認する。

# /etc/init.d/autofs start
# /etc/init.d/autofs status
 Configured Mount Points:
 ------------------------
 /usr/sbin/automount --timeout=60 /home ldap //192.168.1.2/ou=Users,dc=example,dc=com

これで終了。

最初マウントするときにやたら時間がかかる現象に見舞われた(1分30秒とか)。そのときのログは 以下のようなもの。

Aug  7 15:55:56 localhost kernel: portmap: server localhost not responding, timed out
Aug  7 15:55:56 localhost kernel: RPC: failed to contact portmap (errno -5).

これはクライアント側で

  • nfslock
  • portmap

を実行していなかったのが原因だった。

))) 日本 vs 中国(アジアカップ決勝)

文句なしの試合展開で危なげなく優勝。いやぁ、楽しかった。


2004|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|12|
2006|01|03|05|06|08|09|10|12|
2007|01|02|03|05|07|12|
2008|10|
2009|01|05|12|
2010|04|05|11|
2011|01|09|12|
2012|02|03|05|09|12|
2013|02|03|
2014|05|09|
2015|12|
2017|09|
トップ «前の日記(2004-08-04 (Wed)) 最新 次の日記(2004-08-08 (Sun))» 編集 RSS feed