*sambaの認証もLDAPにしましょう [#hfa6916d] Windowsからのアクセスに、sambaを使用しますが、こいつもLDAPで認証してしまいましょう。 なお、Windowsのドメインコントローラを構築することをちまたではよくやっておりますが、今回はそこまでやりまへん。なぜならヴァ… -Windowsは大体専用クライアントが多い -据え置きデスクトップの場合はよいが、モバイルの場合は都合がよろしくない ということで。デスクトップ端末を複数人数で共用で使用するユースケースが発生したら、考えよーかな。 *設定 [#cd9e70fd] **LDAP側 [#be8d16b6] samba用にエントリを作成するためには、samba用のスキーマ定義が必要です。このため、slapd.confに以下の行を追加いたします。 include /etc/openldap/schema/samba.schema で再起動。 # /etc/init.d/slapd restart **samba側 [#d7db080e] ***smbldap-tools [#ic1fa5b5] sambaのエントリを管理するのに非常に便利なツールが、smbldap-toolsです。sunriseオーバーレイに入ってます。このため、laymanでsunriseのエントリを追加しておきましょう。laymanについては[[Portageアンオフィシャルツリー管理で悩む>Gentoo Linuxな生活/Portageアンオフィシャルツリー管理で悩む]]を見てくださいね。で、インストール # emerge smbldap-tools まずは、/etc/smbldap-tools配下にあるsmbldap.confとsmbldap-bind.confを編集いたします。以下の所位をいじればOKですね ****smbldap.conf [#b5e45d37] :SID=|get netlocalsidコマンドで取得したSIDを記入しておきます :sambaDomain=|つけたいSAMBAドメインを指定します。 :masterLDAP,masterPort=,ldapTLS=,suffix=|自分ところの設定に合わせて設定してあげてー その他は、基本デフォルトでOKかなぁ?気を付けないと行けないのは、usersdn=とgroupsdn=ですかね。これは、Linuxのアカウントをインポートしたのはou=People,ou=Groupですから、これは合わせておいてやる必要あるかな。 ****smbldap-bind.conf [#b4bc6f3d] smbldapがアクセスするときのbinddn/bindパスワードを指定します。 slaveDN="cn=Manager,dc=example,dc=com" slavePw="secret" masterDN="cn=Manager,dc=example,dc=com" masterPw="secret" ***smb.conf [#cec95118] Globalセクションに、以下の項目を追加してやるでっす。 passdb backend = ldapsam:ldap://guts.hawk.net 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" **コマンド実行 [#db089755] さて、以下のコマンドを実行してやるです # smbldap-populate Peopleなどのエントリに、sambaSamAccountなどのObjectClassが追加され、Linuxのユーザアカウントと統合化されます。 最後に、rootのパスワードが聞かれるので、入力してください。smbがrootにアクセスする際のパスワードが保存されます。 # /etc/init.d/samba restart sambaを再起動してやります。ちなみにここまで出来ると、smbpasswdが、LDAPのsambaエントリと同期しますので、便利ですよ~。