BugTrack/2409
の編集
Top
/
BugTrack
/
2409
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
* Samba4.2で認証時LDAPグループが機能しない [#e98aea68] - ページ: [[BugTrack]] - 投稿者: [[umorigu]] - 優先順位: 低 - 状態: 却下 - カテゴリー: 本体バグ - 投稿日: 2016-12-15 (木) 09:13:03 - バージョン: 1.5.1 ** メッセージ [#lf3ec58c] Samba4.2をLDAPバックエンドにしたとき、許可グループとしてLDAPグループを指定してもアクセスが許可されない。 グループにログインユーザーが含まれていないような動作になる。[[official:質問箱5/248]] - Samba 4.2がLDAP_MATCHING_RULE_IN_CHAINに対応していない - Samba 4.4ではこの現象は発生しない [[official:PukiWiki/Authentication/LDAP]] *** 調査・対応 [#w3843bed] [[official:質問箱5/248]] より: - Samba 4.2 では動作しない (問題の挙動) - Samba 4.4.1 では動作する Samba 4.2 のバグなので、Samba 4.4以降へのバージョンアップを推奨します。 Sambaをバージョンアップできない場合は、以下の情報に沿ってPukiWikiのカスタマイズを行うことで、グループの認証を使うことができます。(但し、制約としてネストしたグループの利用はできなくなります) ActiveDirectory由来のLDAPの場合、LDAP_MATCHING_RULE_IN_CHAINを使ってグループのネストに対応しています。 msdn.microsoft.com/en-us/library/aa746475(v=vs.85).aspx 調べたところ、Samba 4.2 ではこのLDAP_MATCHING_RULE_IN_CHAINは動作しないようでした。bugzilla.samba.org/show_bug.cgi?id=10493 Samba 4.4以降でのサポートになっています。 以下のようにPukiWikiの実装を変更すると、LDAP_MATCHING_RULE_IN_CHAINを使わなくなるので Samba 4.2でも動作します ($fmtを上書き) -- [[umorigu]] &new{2016-12-15 (木) 01:57:00}; diff --git a/lib/auth.php b/lib/auth.php index 271da4c..1c6811c 100644 --- a/lib/auth.php +++ b/lib/auth.php @@ -673,6 +673,7 @@ function get_ldap_groups_with_user($ldapconn, $user, $is_ad) { if ($is_ad) { // LDAP_MATCHING_RULE_IN_CHAIN: Active Directory specific rule $fmt = '(&(sAMAccountName=%s)(memberOf:1.2.840.113556.1.4.1941:=%s))'; + $fmt = '(&(sAMAccountName=%s)(memberOf=%s))'; } $user_gfilter = sprintf($fmt, pkwk_ldap_escape_filter($user), (場合によっては $ldap_base_dn を変更する必要がある) 変更前 $ldap_base_dn = 'ou=Users,dc=example,dc=local'; 変更後 $ldap_base_dn = 'dc=example,dc=local'; -------- - Sambaの過去のバージョンの問題であり、PukiWiki側での対処はしません。Status:却下とします。「調査・対応」のカスタマイズを行うことで、Samba 4.2でも動作させることは可能です。(ネストしたグループに対応できない制約は生まれます) -- [[umorigu]] &new{2017-10-25 (水) 21:31:54}; #comment
タイムスタンプを変更しない
* Samba4.2で認証時LDAPグループが機能しない [#e98aea68] - ページ: [[BugTrack]] - 投稿者: [[umorigu]] - 優先順位: 低 - 状態: 却下 - カテゴリー: 本体バグ - 投稿日: 2016-12-15 (木) 09:13:03 - バージョン: 1.5.1 ** メッセージ [#lf3ec58c] Samba4.2をLDAPバックエンドにしたとき、許可グループとしてLDAPグループを指定してもアクセスが許可されない。 グループにログインユーザーが含まれていないような動作になる。[[official:質問箱5/248]] - Samba 4.2がLDAP_MATCHING_RULE_IN_CHAINに対応していない - Samba 4.4ではこの現象は発生しない [[official:PukiWiki/Authentication/LDAP]] *** 調査・対応 [#w3843bed] [[official:質問箱5/248]] より: - Samba 4.2 では動作しない (問題の挙動) - Samba 4.4.1 では動作する Samba 4.2 のバグなので、Samba 4.4以降へのバージョンアップを推奨します。 Sambaをバージョンアップできない場合は、以下の情報に沿ってPukiWikiのカスタマイズを行うことで、グループの認証を使うことができます。(但し、制約としてネストしたグループの利用はできなくなります) ActiveDirectory由来のLDAPの場合、LDAP_MATCHING_RULE_IN_CHAINを使ってグループのネストに対応しています。 msdn.microsoft.com/en-us/library/aa746475(v=vs.85).aspx 調べたところ、Samba 4.2 ではこのLDAP_MATCHING_RULE_IN_CHAINは動作しないようでした。bugzilla.samba.org/show_bug.cgi?id=10493 Samba 4.4以降でのサポートになっています。 以下のようにPukiWikiの実装を変更すると、LDAP_MATCHING_RULE_IN_CHAINを使わなくなるので Samba 4.2でも動作します ($fmtを上書き) -- [[umorigu]] &new{2016-12-15 (木) 01:57:00}; diff --git a/lib/auth.php b/lib/auth.php index 271da4c..1c6811c 100644 --- a/lib/auth.php +++ b/lib/auth.php @@ -673,6 +673,7 @@ function get_ldap_groups_with_user($ldapconn, $user, $is_ad) { if ($is_ad) { // LDAP_MATCHING_RULE_IN_CHAIN: Active Directory specific rule $fmt = '(&(sAMAccountName=%s)(memberOf:1.2.840.113556.1.4.1941:=%s))'; + $fmt = '(&(sAMAccountName=%s)(memberOf=%s))'; } $user_gfilter = sprintf($fmt, pkwk_ldap_escape_filter($user), (場合によっては $ldap_base_dn を変更する必要がある) 変更前 $ldap_base_dn = 'ou=Users,dc=example,dc=local'; 変更後 $ldap_base_dn = 'dc=example,dc=local'; -------- - Sambaの過去のバージョンの問題であり、PukiWiki側での対処はしません。Status:却下とします。「調査・対応」のカスタマイズを行うことで、Samba 4.2でも動作させることは可能です。(ネストしたグループに対応できない制約は生まれます) -- [[umorigu]] &new{2017-10-25 (水) 21:31:54}; #comment
テキスト整形のルールを表示する