Back to page

− Links

 Print 

Source of Gentoo Linuxな生活​/sambaの認証をLDAPで :: Nest Of Hawk

Source of xpwiki:Gentoo Linuxな生活/sambaの認証をLDAPで

« Prev[3]  
*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=|net getlocalsidコマンドで取得した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://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"

**コマンド実行 [#db089755]
さて、以下のコマンドを実行してやるです
 # smbldap-populate

Peopleなどのエントリに、sambaSamAccountなどのObjectClassが追加され、Linuxのユーザアカウントと統合化されます。
最後に、rootのパスワードが聞かれるので、入力してください。smbがrootにアクセスする際のパスワードが保存されます。

 # /etc/init.d/samba restart
sambaを再起動してやります。ちなみにここまで出来ると、smbpasswdが、LDAPのsambaエントリと同期しますので、便利ですよ~。

« Prev[3]