X

Oracle Solaris, Oarcle ハードウェア製品に関する情報

ZFS Storage Appliance を ldap に連携させる


ZFS Storage Appliance を Openldap と連携してみます。


まず、ldap サーバーを用意します。今回は Solaris 11 の Openldap を前提に設定していきます。

下記の slapd.conf と、ldif ファイルにあるように user01 を作成します。
今回利用した slapd.conf


#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/nis.schema
# Define global ACLs to disable default read access.
# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral ldap://root.openldap.org
pidfile /var/openldap/run/slapd.pid
argsfile /var/openldap/run/slapd.args
# Load dynamic backend modules:
modulepath /usr/lib/openldap
moduleload back_bdb.la
# moduleload back_hdb.la
# moduleload back_ldap.la
# Sample security restrictions
# Require integrity protection (prevent hijacking)
# Require 112-bit (3DES or better) encryption for updates
# Require 63-bit encryption for simple bind
# security ssf=1 update_ssf=112 simple_bind=64
# Sample access control policy:
# Root DSE: allow anyone to read it
# Subschema (sub)entry DSE: allow anyone to read it
# Other DSEs:
# Allow self write access
# Allow authenticated users read access
# Allow anonymous users to authenticate
# Directives needed to implement policy:
# access to dn.base="" by * read
# access to dn.base="cn=Subschema" by * read
# access to *
# by self write
# by users read
# by anonymous auth
#
# if no access controls are present, the default policy
# allows anyone and everyone to read anything but restricts
# updates to rootdn. (e.g., "access to * by * read")
#
# rootdn can always read and write EVERYTHING!
#######################################################################
# BDB database definitions
#######################################################################
database bdb
suffix "dc=oracle,dc=com"
rootdn "cn=Manager,dc=oracle,dc=com"
# Cleartext passwords, especially for the rootdn, should
# be avoid. See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw secret
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory /var/openldap/openldap-data
# Indices to maintain
index objectClass eq


ユーザ等を設定するldifファイル


dn: dc=oracle,dc=com
objectClass: dcObject
objectClass: organization
dc: oracle
o: oracle
dn: cn=Manager,dc=oracle,dc=com
objectClass: organizationalRole
cn: Manager
dn: ou=People,dc=oracle,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=Group,dc=oracle,dc=com
objectClass: organizationalUnit
ou: Group
dn: uid=user01,ou=People,dc=oracle,dc=com
uid: user01
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: user01
uidNumber: 10001
gidNumber: 10000
homeDirectory: /home/user01
userPassword: secret
loginShell: /bin/bash
shadowLastChange: 10000
shadowMin: 0
shadowMax: 99999
shadowWarning: 14
shadowInactive: 99999
shadowExpire: -1


ldapサーバーの準備ができたら、ZFS Storage Appliance側の設定です。

Configuration > SERVICES > LDAP で、Base search DN とldapサーバーを登録します。

こちらは ldap サーバーに登録した user01 用のシェアを作成したところです。

認証ができないユーザーを user の欄に記載しても、 Unknown or invalid user という警告とともに設定が失敗します。

次にクライアントの設定をします。Solaris 11 の例を簡単に紹介します。

サービスの起動と、参照する ldap サーバの登録後、getent コマンドで確認という流れです。


# svcadm enable svc:/network/nis/domain:default
# svcadm enable ldap/client
# ldapclient manual -a authenticationMethod=none -a defaultSearchBase=dc=oracle,dc=com -a defaultServerList=192.168.56.201
System successfully configured
# getent passwd user01
user01:x:10001:10000::/home/user01:/bin/bash


あとはマウントして user01 で書き込みのテストをします。


# mount -F nfs -o vers=3 192.168.56.101:/export/user01 /mnt
# su user01
bash-4.1$ cd /mnt
bash-4.1$ touch aaa
bash-4.1$ ls -l
total 1
-rw-r--r-- 1 user01 10000 0 May 31 04:32 aaa


以上、簡単に ldap サーバーとの連携とクライアントからの接続ができました!

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.