Back to page

− Links

 Print 

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

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

Table of contents
  • sambaの認証もLDAPにしましょう
  • 設定
    • LDAP側
    • samba側
      • smbldap-tools
        • smbldap.conf
        • smbldap-bind.conf
      • smb.conf
    • コマンド実行

sambaの認証もLDAPにしましょう anchor.png[1]

Windowsからのアクセスに、sambaを使用しますが、こいつもLDAPで認証してしまいましょう。 なお、Windowsのドメインコントローラを構築することをちまたではよくやっておりますが、今回はそこまでやりまへん。なぜならヴァ…

  • Windowsは大体専用クライアントが多い
  • 据え置きデスクトップの場合はよいが、モバイルの場合は都合がよろしくない

ということで。デスクトップ端末を複数人数で共用で使用するユースケースが発生したら、考えよーかな。

Page Top

設定 anchor.png[2]

Page Top

LDAP側 anchor.png[3]

samba用にエントリを作成するためには、samba用のスキーマ定義が必要です。このため、slapd.confに以下の行を追加いたします。

include         /etc/openldap/schema/samba.schema

で再起動。

# /etc/init.d/slapd restart
Page Top

samba側 anchor.png[4]

Page Top

smbldap-tools anchor.png[5]

sambaのエントリを管理するのに非常に便利なツールが、smbldap-toolsです。sunriseオーバーレイに入ってます。このため、laymanでsunriseのエントリを追加しておきましょう。laymanについてはPortageアンオフィシャルツリー管理で悩む[6]を見てくださいね。で、インストール

# emerge smbldap-tools

まずは、/etc/smbldap-tools配下にあるsmbldap.confとsmbldap-bind.confを編集いたします。以下の所位をいじればOKですね

Page Top
smbldap.conf anchor.png[7]
SID=
net getlocalsidコマンドで取得したSIDを記入しておきます
sambaDomain=
つけたいSAMBAドメインを指定します。
masterLDAP,masterPort=,ldapTLS=,suffix=
自分ところの設定に合わせて設定してあげてー

その他は、基本デフォルトでOKかなぁ?気を付けないと行けないのは、usersdn=とgroupsdn=ですかね。これは、Linuxのアカウントをインポートしたのはou=People,ou=Groupですから、これは合わせておいてやる必要あるかな。

Page Top
smbldap-bind.conf anchor.png[8]

smbldapがアクセスするときのbinddn/bindパスワードを指定します。

slaveDN="cn=Manager,dc=example,dc=com"
slavePw="secret"
masterDN="cn=Manager,dc=example,dc=com"
masterPw="secret"
Page Top

smb.conf anchor.png[9]

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"
Page Top

コマンド実行 anchor.png[10]

さて、以下のコマンドを実行してやるです

# smbldap-populate

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

# /etc/init.d/samba restart

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


Last-modified: 2013-01-11 (Fri) 00:27:44 (JST) (4322d) by maruo