|
1: 2011-01-09 (日) 14:23:38 maruo |
| + | *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エントリと同期しますので、便利ですよ~。 |