事の前に、玄箱のホスト名を変更

# vi /etc/hostname
GWAZINE
# vi /etc/hosts
127.0.0.1 localhost gwazine.zeon.org GWAZINE

 

samba + LDAP 便利ツールの投入

# apt-get install smbldap-tools

 

既存DCより移行するため、SIDを移行元のWindowsサーバーより取得して同一になるよう設定。

# net setlocalsid S-1-5-21-XXXXXXXXXX-XXXXXXXXX-XXXXXXXXXX

 

/etc/smbldap-tools/smbldap.conf の編集

SID="S-1-5-21-XXXXXXXXXX-XXXXXXXXX-XXXXXXXXXX"
sambaDomain="SIDE3"
suffix="dc=zeon,dc=org"
userSmbHome="\\GWAZINE\%U"
userProfile="\\GWAZINE\profiles\%U"

 

/etc/smbldap-tools/smbldap_bind.conf の編集

slaveDN="cn=admin,dc=zeon,dc=org"
slavePw="zabi"
masterDN="cn=admin,dc=zeon,dc=org"
masterPw="zabi"

 

Windows関連の基本情報登録

# smbldap-populate -a Administrator -b Guest

 

ホスト名も変えたのでリブート!

# reboot

 

完全に余談ですが、このリブートの後、玄箱が全く起動してこなくなったのでビックリしました!

そこで以前作った USB<-->Serial ケーブルですよ!

ケーブルつないで起動すると、、、

/dev/sda7 has been mounted 24 times without being checked, check forced.
Pass 1: Checking inodes, blocks, and sizes
/dev/sda7: |===                                        -  4.7%

こういうことで事なきを得る。

しかしこれ、テラクラスHDDなのでめっっさ時間かかるのですけど・・・

 

LDAP が全然動いていないことに気づいた。

 

LDAP というか NSS 。

LDAP のみに登録しているユーザーで Linux にログイン出来ていない!

Linux 認証時に LDAP のディレクトリを探しに行っていないみたい。

これじゃ、Samba との連携どころじゃないし・・・

 

LDAP 自体は機嫌良く動いているようなので相当悩みましたが、

原因は以下の通り。

 

なんと、玄箱Pro(areml) の Debian には必要ライブラリ /lib/libnss_ldap.so.2 が入っていません!

変わりに、/lib/nss_ldap.so.1 というのが入っているので、こいつをシンボリックリンクしてやる!

#ln -s /lib/nss_ldap.so /lib/libnss_ldap.so.2

 

動いた~~~!!そらわからんわ!

Samba の認証を LDAP に統合してみました。

 

スキーマファイルのコピー

# zcat /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema

 

/etc/ldap/slapd.conf の編集

include /etc/ldap/schema/samba.schema
index uid,uidNumber,gidNumber,memberUid eq
index cn eq
index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
#access to attrs=userPassword,shadowLastChange
access to attrs=userPassword,shadowLastChange,sambaNTPassword,sambaLMPassword
by dn="cn=admin,dc=zeon,dc=org" write
by anonymous auth
by self write
by * none

 

LDAP再起動

# /etc/init.d/slapd restart

 

Sambaを止めて

# /etc/init.d/samba stop
# /etc/init.d/winbind stop

/etc/samba/smb.conf の編集

workgroup = SIDE3
netbios name = GWAZINE
domain logons = Yes
os level = 65
preferred master = Yes
domain master = Yes
wins support = Yes
passdb backend = ldapsam
ldap suffix = dc=zeon,dc=org
ldap machine suffix = ou=Computers
ldap user suffix = ou=Users
ldap group suffix = ou=Groups
ldap admin dn = cn=admin,dc=zeon,dc=org
admin users = Administrator
ldap passwd sync = Yes
unix password sync= No

 

Samba に LDAP 管理者のパスワードを教えてあげる。

# smbpasswd -w zabi

 

Sambaは止めたままで次回へ続く。

 

参考

やられた!

| コメント(0) | トラックバック(0)

初めてやられましたよ! 交通違反!

横断歩道前にある一時停止無視。罰金七千円也。。。。

よく通る道で、急に歩行者がでてきそう。というのは分かってて減速はしてたのだけど・・・

 

最初は何が起こったのか、???ダラケ。

いや悪いのは100%こっちですが、ただやっぱり段々腹立ってきますね。

 

なんつうか・・・まず横断歩道の前で注意を促せよ!!

 

あと、書類処理している間の感じ。

悪いのはこっちやし、めっちゃ怒るとか、いかに危険かを語ってくれるとかしたら、

「はぁ、スミマセンでした。。。」ってなりそうなもんだが、

ふつうに「また寒なったなぁ・・・」とか世間話始めやがる!

 いらんわ!

 

ほんで、最終的に「毎度あり~~」みたいな感じで罰金の納付書渡され・・・

 

 ついてないわ!! (って思ってしまうでしょ?

なんとか1月中に復帰できました。

何か特にあった訳でもないのですがね。

と言う訳で、ぼちぼち続けるつもりなので、コンゴトモヨロシク。

 

最終回。Linux ユーザーを LDAP に移行します。

 

まず移行の前に、検証用のユーザーを仕込んでおきます。

# useradd test
# passwd test

 

 そして移行ツールのインストール。

# apt-get install migrationtools
# vi /usr/share/migrationtools/migration_common.ph
$DEFAULT_MAIL_DOMAIN = "zeon.org";
$DEFAULT_BASE = "dc=zeon,dc=org";

Linux ユーザー、グループ情報のエクスポート

# cd /usr/share/migrationtools/
usr/share/migrationtools# ./migrate_passwd.pl /etc/passwd > passwd.ldif
usr/share/migrationtools# ./migrate_group.pl /etc/group > group.ldif

注) cd しないと動かないです。そしてもちろん、"/etc" です。MTの禁止ワードなのか、半角スラッシュでは記事の保存不可。

 

基本情報をディレクトリに登録するために以下の内容を hoge.ldif として保存します。

dn:ou=People,dc=zeon,dc=org
objectClass:organizationalUnit
ou:People

dn:ou=Group,dc=zeon,dc=org
objectClass:organizationalUnit
ou:Group

そして LDAPに 登録。

# ldapadd -f hoge.ldif -x -D "cn=admin,dc=zeon,dc=org" -W

登録成功したら、同じようにユーザー情報、グループ情報を登録。

# ldapadd -f passwd.ldif -x -D "cn=admin,dc=zeon,dc=org" -W
# ldapadd -f group.ldif -x -D "cn=admin,dc=zeon,dc=org" -W

 

これで移行は完了。あとは本当にLDAPの情報だけでログイン出来ているかどうか、検証してみます。

# deluser test

これで、冒頭に作成したユーザー "test" さんは LDAP にしか情報を持っていないことになります。

# login test

これでログイン出来れば LDAP の情報のみでログイン出来ています。

 

前回の続き。運用面の設定を行っていきます。

注意!

今回は動作確認できるまで玄箱とのセッションを残しておかないとまずいです。
最悪、玄箱へログインできなくなる可能性を秘めています。

NSS(Name Service Switch) と PAM(Pluggable Authentication Modules) の LDAP用モジュールをインストールします。

# apt-get install libnss-ldap libpam-ldap

同時に nscd(Name Service Cache Daemon) もインストールされるようです。

そして libnss-ldap の debconf への回答。

  • LDAP サーバーの URI > ldap://127.0.0.1/
  • 検索ベースの識別名 > dc=zeon,dc=org
  • 利用する LDAP バージョン > 3
  • LDAP データベースはログインを必要としますか? > No
  • root への特別な LDAP 権限? > Yes
  • オーナーのみ設定ファイルの読み書きができるようにしますか? > Yes
  • root の LDAPアカウント(*) > cn=admin,dc=zeon,dc=org
  • LDAP root アカウントのパスワード > zabi

* LDAP インストール時にデフォルトで "admin" と決まっているようです。

 続いて libpam-ldap の debconf への回答。

  • LDAP サーバーの URI > ldap://127.0.0.1/
  • 検索ベースの識別名 > dc=zeon,dc=org
  • 利用する LDAP バージョン > 3
  • ローカルの root データベース管理者を作成する > Yes
  • LDAP データベースはログインを必要としますか? > No
  • root の LDAPアカウント(*) > cn=admin,dc=zeon,dc=org
  • LDAP root アカウントのパスワード > zabi
  • パスワード変更時にローカルでの暗号化を行います > crypt

 

玄箱を LDAP認証へ移行

# vi /etc/nsswitch.conf

これを、

passwd:compat
group:compat
shadow:compat

こう。

passwd:compat ldap
group:compat ldap
shadow:compat ldap

これで玄箱ログイン時はLDAPも参照するようになりました。

 

次、PAM 関連設定ファイルの編集(+ は行追加、- は行削除)

# vi /etc/pam.d/common-account
+account sufficient pam_ldap.so
 account required pam_unix.so
# vi /etc/pam.d/common-auth
-auth required pam_unix.so nullok_secure
+auth sufficient pam_ldap.so
+auth required pam_unix.so nullok_secure use_first_pass
# vi /etc/pam.d/common-session
 session required pam_unix.so
+session optional pam_ldap.so
+session optional pam_mkhomedir.so skel=/etc/skel
# vi /etc/pam.d/common-password
-password required pam_unix.so nullok obscure md5
+password sufficient pam_ldap.so
+password required pam_unix.so nullok obscure md5

いろんなサイトを参考にしながら設定しましたが、

正直何をやっているのか理解していません。。。勉強します。。。
(やばそうな事をやっているというのは分かりますが・・・)

 

設定完了したので、とりあえず既存のLinuxユーザーでログインできるか検証。

# login ユーザー名

これでログイン出来なければ最悪。

必ずエラー解決してから作業完了してください。

LDAPを入れてました。

最終的な目標は、Samba + LDAP で 玄箱PROを Domain Controller 化し、

お仕事の検証用に使っていた Windows 2003 Server の Active Directory を移行することです。

 

まずは、OpenLDAPのインストール。

# apt-get install slapd ldap-utils

以下、debconf の質問。

  • OpenLDAPサーバの設定を省略しますか? > No
  • DNS ドメイン名 > zeon.org
  • 組織名 > zeon
  • 管理者のパスワード > zabi
  • 利用するデータベースバックエンド > HDB
  • slapdをパージしたときにデータベースを削除しますか > No
  • LDAPv2プロトコルを許可しますか > No

設定ファイルの /etc/ldap/slapd.conf は一旦デフォルトのままで。

 

LDAPクライアントの設定。

# vi /etc/ldap/ldap.conf
HOST 127.0.0.1
BASE dc=zeon,dc=org

 

起動してみる。

# /etc/init.d/slapd start

 

動作確認。

# ldapsearch -x

エラーが返ってこなければOK。これでLDAPサーバーの設定は完了。

 

とりあえずsambaを入れて、

とりあえずの設定をして、

とりあえずwindowsとのやりとりを、

とりあえず容易にします。

 

ntpdate-debianを自動起動し、一日一回時刻を合わせます。

cronデーモンにntpdate-debian起動スクリプトを登録するだけ。

 

スクリプトの作成。

# vi /etc/cron.daily/ntpdate

 

スクリプトの中身(超簡単!)

#!/bin/sh
/usr/sbin/ntpdate-debian

 

実行権限を付与

# chmod 755 /etc/cron.daily/ntpdate

 

cronは/etc/cron.daily/配下のスクリプトを自動で一日一回実行してくれます。