Windowsからのアクセスに、sambaを使用しますが、こいつもLDAPで認証してしまいましょう。 なお、Windowsのドメインコントローラを構築することをちまたではよくやっておりますが、今回はそこまでやりまへん。なぜならヴァ…
ということで。デスクトップ端末を複数人数で共用で使用するユースケースが発生したら、考えよーかな。
samba用にエントリを作成するためには、samba用のスキーマ定義が必要です。このため、slapd.confに以下の行を追加いたします。
include /etc/openldap/schema/samba.schema
で再起動。
# /etc/init.d/slapd restart
sambaのエントリを管理するのに非常に便利なツールが、smbldap-toolsです。sunriseオーバーレイに入ってます。このため、laymanでsunriseのエントリを追加しておきましょう。laymanについてはPortageアンオフィシャルツリー管理で悩む[6]を見てくださいね。で、インストール
# emerge smbldap-tools
まずは、/etc/smbldap-tools配下にあるsmbldap.confとsmbldap-bind.confを編集いたします。以下の所位をいじればOKですね
その他は、基本デフォルトでOKかなぁ?気を付けないと行けないのは、usersdn=とgroupsdn=ですかね。これは、Linuxのアカウントをインポートしたのはou=People,ou=Groupですから、これは合わせておいてやる必要あるかな。
smbldapがアクセスするときのbinddn/bindパスワードを指定します。
slaveDN="cn=Manager,dc=example,dc=com" slavePw="secret" masterDN="cn=Manager,dc=example,dc=com" masterPw="secret"
Globalセクションに、以下の項目を追加してやるでっす。
passdb backend = ldapsam:ldap://foo.example.com passwd program = /usr/sbin/smbldap-passwd -u %u passwd chat = "Changing password for*\nNew password*" %n\n "*Retype new password*" %n\n" ldap suffix = dc=example,dc=com ldap admin dn = cn=Manager,dc=example,dc=com ldap user suffix = ou=People ldap group suffix = ou=Group ldap machine suffix = ou=Computers ldap passwd sync = yes ldap ssl = start tls add user script = /usr/sbin/smbldap-useradd -m "%u" delete user script = /usr/sbin/smbldap-userdel "%u" add group script = /usr/sbin/smbldap-groupadd -p "%g" add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g" delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g" set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u' add machine script = /usr/sbin/smbldap-useradd -t 0 -w "%u"
さて、以下のコマンドを実行してやるです
# smbldap-populate
Peopleなどのエントリに、sambaSamAccountなどのObjectClassが追加され、Linuxのユーザアカウントと統合化されます。 最後に、rootのパスワードが聞かれるので、入力してください。smbがrootにアクセスする際のパスワードが保存されます。
# /etc/init.d/samba restart
sambaを再起動してやります。ちなみにここまで出来ると、smbpasswdが、LDAPのsambaエントリと同期しますので、便利ですよ~。
(This host) = https://femt.ddo.jp