iT邦幫忙

0

Mantis with AD的設定問題

$g_login_method = LDAP;
用AD的話是填Active Directory?

$g_ldap_root_dn = 'cn=Users,dc=example,dc=com'; # 看 Users 是放在哪個位置
這邊只要填CN DC就好??

$g_ldap_bind_dn = '<任一個Domain User>'; # 用來連接並查詢 AD 的帳號, 給一般 User 即可

g_ldap_bind_dn 的部分是只要任一個AD內的帳號,就整個AD的帳號成員登入就能mantis自動建立帳號嗎?

還請孰悉的先進不吝請教

1 個回答

1
raytracy
iT邦大神 1 級 ‧ 2019-12-24 16:27:55

這個應該很還很新:
在 CentOS 7 上面安裝 Mantis (Microsoft AD 認證, xdebug)

下面這個有點久, 不確定可以用:
mantis on CentOS 7 with AD

看更多先前的回應...收起先前的回應...

我是看上面那個沒錯qq

$g_login_method = AD;
$g_ldap_server = 'ldap://10.*..:389/'; # Microsoft AD Domain Controller

    $g_ldap_root_dn = 'cn=Users,dc=example,dc=com,dc=tw'; # 看 Users 是放在哪個位置
    $g_ldap_bind_dn = '<My Domain>\<任一個Domain User>'; # 用來連接並查詢 AD 的帳號, 給一般 User 即可
    $g_ldap_bind_passwd = '<My Domain>\上述Domain User的密碼>'; 
    $g_use_ldap_email = ON; # 用 AD 帳號的 Mail 作為 Mantis 裡面的 Mail
    $g_ldap_uid_field = 'sAMAccountName';
    $g_ldap_realname_field = 'cn'; # 以 AD 帳號的 CN 屬性做為顯示名稱
    $g_use_ldap_realname = ON; # 用 AD 帳號的顯示名稱 (CN) 顯示在 Mantis 上
    $g_ldap_organization = '';
    $g_ldap_protocol_version = 3;
    $g_allow_signup = OFF; # 設定不可申請帳號 (用AD/LDAP帳號登入就自動建立帳號, 因此不須申請)
    $g_send_reset_password = OFF; # 設定不可以重設 Password (因為 Password 是 AD/LDAP 在控制, Mantis 不能修改)
    
    只設定了這些 發現還是沒有吃AD設定 求各位先進解惑
raytracy iT邦大神 1 級 ‧ 2020-01-13 15:56:59 檢舉
 $g_use_ldap_email = ON

你每個 AD 帳號裡面都有綁 Email 嗎?

好像沒有,是要每個帳號都有才能work ,還是先把這項關掉

raytracy iT邦大神 1 級 ‧ 2020-01-13 17:39:28 檢舉

沒綁就先關成 OFF, 不然他會去比對...

關惹,但還是沒辦法吃AD帳密
是少了OU 還是Linux方要裝ldap相關套件?

raytracy iT邦大神 1 級 ‧ 2020-01-14 07:22:47 檢舉
$g_login_method = AD;

這條為何又改成 = AD? 原本不是用 =LDAP 嗎?

大部分 LDAP 程式存取 AD 的時候, 都是使用 LDAP mode, 通常 AD mode 還需要另外安裝額外的程式庫.

此外, 連不上在 Log 裡面顯示甚麼訊息?
若用普通的 LDAP 管理工具可以連進 AD 嗎?
LDAP Account Manager
先確定 LDAP 管理工具可以正常存取, 再來查程式

這條為何又改成 = AD? 原本不是用 =LDAP 嗎?
我以為AD就是用AD title orz

此外, 連不上在 Log 裡面顯示甚麼訊息?

是從mantis的log資料夾裡撈嗎?

官網似乎沒有給用AD,config_inc.php該怎麼設的範例qq

raytracy iT邦大神 1 級 ‧ 2020-01-14 13:53:15 檢舉

AD 的底層就是 LDAP, 把它當成標準的 LDAP 看就好, 不要去想成特別的東西....

試過加這個嗎?

$g_validate_email= OFF;

下面這個是國外有人試過會過的設定:

$g_login_method = LDAP;
$g_ldap_server = 'ldap://myserver-01.domain.cze:389';
$g_ldap_root_dn = 'ou=Users,dc=domain,dc=cze';
$g_ldap_uid_field = 'sAMAccountName';        
$g_ldap_bind_dn = 'cn=domain_user_name,dc=domain,dc=cze';
$g_ldap_bind_passwd = 'domain_user_password'; 
$g_ldap_protocol_version = 3;
$g_use_ldap_email= OFF;
$g_validate_email= OFF;

$g_ldap_server = 'ldap://myserver-01.domain.cze:389';
所以這行不用ip,改用整串帶domain網址?

$g_ldap_bind_dn = 'cn=domain_user_name,dc=domain,dc=cze';
domain_user_name 中的user是不用動的?

先感謝大德 明天進機房再試過一遍

raytracy iT邦大神 1 級 ‧ 2020-01-15 08:06:43 檢舉

server 可以用 ip 或 FQDN 兩者皆可

domain_user_name 就是隨便選個可以登入 AD 的 User 帳號名稱, 他只要能登入 AD, 就可以查詢 LDAP...

照raytracy大的指導試過一遍了,還是不行,可能是機房內的AD架的有問題,之後會自己架一台,並回報進度

照R大的方式試作了一次,出現以下錯誤訊息
APPLICATION ERROR #1401

LDAP Server Connection Failed.

Please use the "Back" button in your web browser to return to the previous page. There you can correct whatever problems were identified in this error or select another action. You can also click an option from the menu bar to go directly to a new section.

看來是AD好像有問題

$g_login_method = LDAP;
$g_ldap_server = 'ldap://192.168.1.50:389';
$g_ldap_root_dn = 'ou=Users,dc=hpitest,dc=com';
$g_ldap_uid_field = 'sAMAccountName';
$g_ldap_bind_dn = 'cn=mantis,dc=hpitest,dc=com';
$g_ldap_bind_passwd = '1qaz@WSX';
$g_ldap_protocol_version = 3;
$g_use_ldap_email= OFF;
$g_validate_email= OFF;

這是我這次的config_inc.php設定

下圖是AD創立的測試帳號
https://ithelp.ithome.com.tw/upload/images/20200117/20121397ediUEJ1l84.jpg

raytracy iT邦大神 1 級 ‧ 2020-01-17 15:14:57 檢舉

DC 內建的 Windows 防火牆有沒有打開 Port 389?
DC 裡面的 Event log 有沒有留下甚麼錯誤?

DC 內建的 Windows 防火牆有沒有打開 Port 389?
防火牆直接關了
DC 裡面的 Event log 有沒有留下甚麼錯誤?
會是沒設定server essentials嗎?

raytracy iT邦大神 1 級 ‧ 2020-01-18 22:58:30 檢舉

等等?...你怎麼會有這句:

server essentials

手上的2016是essentials版

raytracy iT邦大神 1 級 ‧ 2020-01-19 10:57:12 檢舉

Essential 是微軟出的特殊閹割版 Server, 他跟正常的 Windows Server (Standard/Datacenter Edition) 功能有很大差距, 即使有 AD, 他的 AD 功能也是不完整的 (例如: 裡面沒有 AD CS 角色)....

Essential 版本最大的目的, 是要引誘小型用戶逐步轉往 O365 雲端應用, 包含 AD 等功能, 他的 AD 是設計成可以跟雲端的 AAD (Azure AD) 做高度整合甚至遷移到雲端, 所以地端 AD 的功能並不多...他不是設計來提供企業自建完整 Server 功能用的...

我手邊沒有這個版本, 無法驗證他的 LDAP 功能是否正常? 但網路上目前也找不到有人用 Essential 驗證 LDAP 成功的案例....所以對此功能是否正常, 存有很大的疑問...

目前建議兩個方向:

  1. 換成 Standard 版再測
  2. 去電微軟客服, 問他 Essentail 能否讓 linux 主機做 LDAP 驗證?

換成 Standard 版再測

今日已改用DATACENTER版測試,但還是依樣的錯誤訊息
還是只DNS解析到不夠 還是需要裝mantis的Linux主機加入AD網域?

raytracy iT邦大神 1 級 ‧ 2020-01-20 13:09:42 檢舉

不用加網域, LDAP 不需要 join domain, 請先用其他的 LDAP 工具, 驗證 AD 的 LDAP 是否能正常連接?

https://ithelp.ithome.com.tw/upload/images/20200120/20121397J1lZIu0grS.png

打錯password應該不可能,會是帳號前未帶domain名稱嗎?

我使用者是在"AD使用者和電腦"建立的

http://n.sfs.tw/content/index/12560

還是需要如上列網址所說需要建立憑證?

raytracy iT邦大神 1 級 ‧ 2020-01-20 15:47:45 檢舉

你沒有啟用 SSL 的話就不用憑證 (LDAPS 使用 port 636), 你的 CN, OU, DN 這三者是怎麼設定的?
Active Directory: LDAP Provider 連線字串格式

我看到你的 ADCU 畫面上面是顯示成 hpitest.com.tw, 但是你前面給的 config 裡面, DN 卻是寫 example.com.tw?

https://ithelp.ithome.com.tw/upload/images/20200120/2012139757du7M7nUu.jpghttps://ithelp.ithome.com.tw/upload/images/20200120/20121397yHsoBkukR8.pnghttps://ithelp.ithome.com.tw/upload/images/20200120/201213973frJnAyurI.png

照順序是AD>>LDAM>>mantis的config
再請先進指教<(_ _)>

raytracy iT邦大神 1 級 ‧ 2020-01-20 21:59:06 檢舉

兩個 config 裡面的 dn 都只寫到 dc=hpitest, dc=com, 但是你的 AD 卻是用 hpitest.com.tw, 兩者不相符, dn 最後面少了 dc=tw, 所以她的 LDAP search 會失敗....

https://ithelp.ithome.com.tw/upload/images/20200121/20121397QJ7P93J2fy.jpg

新建的AD是這張才對 sorry

raytracy iT邦大神 1 級 ‧ 2020-01-21 10:09:34 檢舉

那這樣就看不出有哪些組態不符了, 剩下只能看 LDAP client 這邊的 log, 和 AD 上面的 Event log, 看看兩邊有甚麼資訊可以參考的?

LDAP client 這邊的 log, 和 AD 上面的 Event log

該如何調出這兩邊的log資訊呢?

https://ithelp.ithome.com.tw/upload/images/20200121/20121397hUF9jQjblR.jpg

不確定是不是這個

raytracy iT邦大神 1 級 ‧ 2020-01-21 10:23:11 檢舉

這確實是第一個問題:
Google: ad ldap event 1202 This computer is now hosting the specified directly instance, but Active Directory Web Services could not service it. Active Directory Web Services will retry this operation periodically

但是, 他通常發生在有兩台 DC 的狀況下:
AD 警示訊息 Web Service Error 1202
你的網路內有兩台同網域的 DC 主機嗎?

請在 DC 主機上面執行檢查指令:

dcdiag /a

先確認所有 AD 錯誤都已經被修正, dcdiag 的結果都正常之後, 再來測試 LDAP....

https://ithelp.ithome.com.tw/upload/images/20200121/20121397buu0NUmjxL.jpghttps://ithelp.ithome.com.tw/upload/images/20200121/20121397LTxQc0KKpr.jpg

是不是先建了DNS腳色,然後在升級網域控制站時,又勾選了DNS的關係?

raytracy iT邦大神 1 級 ‧ 2020-01-21 11:07:16 檢舉

你這台 DC 主機的 DNS 設定成誰? 在 AD 環境裡面, 所有的 DNS 都必須指向 DC 主機, 而 DC 主機自己也必須要指向自己的 127.0.0.1 或 LAN IP.

DNS 設定成外部公用伺服器 (8.8.8.8, 168.95.1.1...等等) 或其他非 DC 的主機等, 都會造成 AD 功能失效...

你這台 DC 主機的 DNS 設定成誰? 在 AD 環境裡面, 所有的 DNS 都必須指向 DC 主機, 而 DC 主機自己也必須要指向自己的 127.0.0.1 或 LAN IP.

是設跟DC同IP 192.168.1.50 , 請問是一定要127.0.0.1嗎?

raytracy iT邦大神 1 級 ‧ 2020-01-21 14:24:02 檢舉

同 IP 即可, 但從 dcdiag 看, 你的 DNS 確實有某些問題, 可能需要砍掉重練....或者, 先把 DNS 裡面的設定都貼出來看看?

那我重造一台再試試

https://ithelp.ithome.com.tw/upload/images/20200122/20121397CyGTDp2BVv.jpg

Dear R大 這是剛啟成AD的VM

raytracy iT邦大神 1 級 ‧ 2020-01-22 15:14:48 檢舉

這個可以忽略, 然後等 24hr 小時之後, 再用 dcdiag/a 檢查是否有問題?

https://ithelp.ithome.com.tw/upload/images/20200130/201213977Ro4gYVcs5.jpg

https://ithelp.ithome.com.tw/upload/images/20200130/20121397DUQ67hlUkb.jpg

Dear R大 這是今早輸入dcdiag /a 的結果

raytracy iT邦大神 1 級 ‧ 2020-01-30 11:31:55 檢舉

DC 上面的 DNS 一直有問題耶....但你這是新建的 DC...

請將安裝 DC 過程的每一個操作步驟都寫出來看看?

新增腳色>>AD網域服務>>照步驟>>done

升級網域服務站>>照步驟(建立獨立樹系+DNS)>>done

https://ithelp.ithome.com.tw/upload/images/20200203/20121397VckMfnt14Y.jpg
剛剛測試LDAPM可以連,但建立的使用者是在這裡

https://ithelp.ithome.com.tw/upload/images/20200203/20121397yxA2878Byq.png

那這樣 是不是mantis的config 也要有所調整,才能指到User容區內的list??

之後在lab上稍微嘗試一下,有成功界接mantis/ldapm 和 AD

$g_ldap_bind_dn = 'cn=domain_user_name,dc=domain,dc=cze';
$g_ldap_bind_passwd = 'domain_user_password';

個人理解是,在Lab中樹系下沒建立使用者mantis,造成上2行參數找不到目標

但在正式環境還是無法介接orz

我要發表回答

立即登入回答