廣告聯播

顯示具有 AD 標籤的文章。 顯示所有文章
顯示具有 AD 標籤的文章。 顯示所有文章

2014年1月15日 星期三

AD Account Login Linux Server (oracle linux 與 Windows AD 帳號認證整合)

From: Polin Wei

為了在Windows主機間達到資源共享的目的,微軟發展出 SMB(Server Message Block)通訊協定,利用其網路芳鄰共享檔案系統及印表機等資源;而Samba在Linux主機上實現SMB通訊協定的系統,達成Windows與 Linux主機的資源共享,再搭配 Winbind 模組解決 Samba 中統一登入問題。因為 Linux Server 愈來愈多,為了可以達到統一單一帳號來達到管理,因此; 接下來我們要利用 samba、winbind 來整合 AD 帳號,這樣我們就可以在 AD 管理帳號就可以了。

環境:

Windows Server 2003 AD Server: ADSERVER.WEI.COM (192.168.2.1)

Oracle Linux R6.5 for x86_64 (64 Bit) :cvs.wei.com (192.168.2.69)

一、Linux 相關套件安裝與設定

1) 在安裝 Linux 主機時,可以選取相關的套件


2) 檢查/驗證一下相關的套件是否有裝
[root@cvs ~]# rpm -qa | grep samba
samba-common-3.6.9-164.el6.x86_64
samba-client-3.6.9-164.el6.x86_64
samba4-libs-4.0.0-58.el6.rc4.x86_64
samba-winbind-3.6.9-164.el6.x86_64
samba-3.6.9-164.el6.x86_64
samba-winbind-clients-3.6.9-164.el6.x86_64

[root@cvs ~]# rpm -qa | grep winbind
samba-winbind-3.6.9-164.el6.x86_64
samba-winbind-clients-3.6.9-164.el6.x86_64

[root@cvs ~]# rpm -qa | grep krb5
krb5-workstation-1.10.3-10.el6_4.6.x86_64
krb5-server-1.10.3-10.el6_4.6.x86_64
pam_krb5-2.3.11-9.el6.x86_64
krb5-libs-1.10.3-10.el6_4.6.x86_64

3) 使用 UI 工具來作設定
 設定好後 Apply,然後記得要在 Identity & Authentication 按下 Join Domain,在 AD 的 Computers 中應該可以看到此 Linux : cvs 主機

4) 啟動 Samba & Winbind Services

5) 最後使用 AD Domain User 來作登入測試,應該就可以成功了。

6) 若有目錄要給 AD Domain Users 群組可以使用, 可以用指令 # chown -R root:"WEI\Domain Users" /opt/cvs_root/ 來賦予.

Oracle Linux 在使用 samba、winbind 來整合 AD 帳號的 UI 畫面已經整合的非常好,/etc/samba/smb.conf & /etc/krb5.conf 都不需去多作編輯:只有 /var/kerberos/krb5kdc/kdc.conf 檔案內容中的 EXAMPLE.COM 要改成您的 AD 網域(如:WEI.COM),以及將 master_key_type 前的 # 去除即可。相關檔案如下:

[root@cvs samba]# cat /etc/samba/smb.conf
#======================= Global Settings =====================================

[global]
#--authconfig--start-line--

# Generated by authconfig on 2014/01/15 15:41:06
# DO NOT EDIT THIS SECTION (delimited by --start-line--/--end-line--)
# Any modification may be deleted or altered by authconfig in future

   workgroup = WEI
   password server = ADSERVER.WEI.COM
   realm = WEI.COM
   security = ads
   idmap config * : range = 16777216-33554431
   template shell = /bin/bash
   winbind use default domain = false
   winbind offline logon = true

#--authconfig--end-line--

[root@cvs samba]# cat /etc/krb5.conf
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = WEI.COM
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true

[realms]
 EXAMPLE.COM = {
  kdc = kerberos.example.com
  admin_server = kerberos.example.com
 }

 WEI.COM = {
  kdc = ADSERVER.WEI.COM
 }

[domain_realm]
 .example.com = EXAMPLE.COM
 example.com = EXAMPLE.COM

# vi /var/kerberos/krb5kdc/kdc.conf
[kdcdefaults]
 kdc_ports = 88
 kdc_tcp_ports = 88

[realms]
 WEI.COM = {
  master_key_type = aes256-cts
  acl_file = /var/kerberos/krb5kdc/kadm5.acl
  dict_file = /usr/share/dict/words
  admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
  supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
 }


2009年10月22日 星期四

XOOPS 2.3.3b 與 AD 的帳號整合

From: Polin Wei

廢話不多說, 直接來看設定值:

作業環境:

LDAP 認證的環境:

OS: Windows Server 2k3 SP2
Domain: mydomain.com
Host: ad.mydomain.com
LDAP Search User: xoopser ( 此 User 放在 Windows Server 2k3 AD 內定的 Users 目錄CN下)


XOOPS 運作的環境:

XOOPS Version - XOOPS 2.3.3b
PHP Version - 5.2.6
MySQL Version - 5.0.51b-community-nt-log
Server API Version - apache2handler
OS Version - WINNT

記得要將 php.ini 中的 ldap extension 啟用,並重啟 apache server

extension=php_ldap.dll


在 XOOPS 管理模組的設定如下:

Preferences Main »» Authentication Options
Authentication Method: Microsoft Active Directory ©
LDAP - Port Number: 389
LDAP - Server Name: ad.mydomain.com
LDAP - Base DN: dc=mydomain,dc=com
DN of the LDAP manager: cn=xoopser,cn=Users,dc=mydomain,dc=com <= 搜尋用的帳號,需使用完整的 DN , 注意預設的 Users , 是 cn , 不是 ou
Password of the LDAP manager: **********
LDAP Version protocol: 3
Users allowed to bypass LDAP authentication: admin
Login name use in the DN: No
LDAP Attribute use to search the user: sAMAccountName
The search filter LDAP query to find user: 空白
The domain name: mydomain.com
Automatic xoops account provisionning: Yes
Default affect group: 會員
LDAP - Mail Field Name: mail
LDAP - Given Name Field Name: givenname
LDAP - Surname Field Name: sn
Xoops-Auth server fields mapping: email=mail|name=displayname
Maintain xoops account provisionning: Yes
Use TLS connection: No

看截圖 [英文版]

看截圖 [中文版]


這樣夠清楚了吧!! 搞了我一個下午...希望對大家有幫助

2009年3月6日 星期五

[Java] 建立由 LDAP AD 認證的機制

From: Polin Wei

環境:
OS : Windows Server 2k3
Domain: mydomain.com
Host : x.x.x.x(此為指定 ip address)

以 Java 程式撰寫 對 LDAP-AD 的認證, 程式碼如下:

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.BasicAttribute;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.ModificationItem;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
import javax.naming.ldap.InitialLdapContext;
import javax.naming.ldap.LdapContext;
 /**
     * AD LDAP 登入認證
     *
     * @param ldap_url   like ldap://x.x.x.x:389/DC=mydomain,DC=com
     * @param account
     * @param password
     * @return String[0] array 0 :0 success,1 fail,2 LDAP connect fail,3 unknow
     */
    public String[] LDAP_AUTH_AD(String ldap_url, String account, String password) {
        String[] returnStr = new String[2];
        Hashtable<String, String> env = new Hashtable<String, String>();
        env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
        env.put(Context.PROVIDER_URL, ldap_url);
        env.put(Context.SECURITY_AUTHENTICATION, "simple");
        env.put(Context.SECURITY_PRINCIPAL, account+"@mydomain.com");
        env.put(Context.SECURITY_CREDENTIALS, password);

        LdapContext ctx = null;
        try {
            ctx = new InitialLdapContext(env, null);
            returnStr[0] = "0";
        } catch (javax.naming.AuthenticationException e) {
            returnStr[0] = "1";

            return returnStr;
        } catch (javax.naming.CommunicationException e) {
            // System.out.println("Can't connect to ldap server!");
            returnStr[0] = "2";

            return returnStr;
        } catch (Exception e) {
            System.out.println("error");
            e.printStackTrace();
            returnStr[0] = "3";

            return returnStr;
        } finally {
            if (ctx != null) {
                try {
                    ctx.close();
                } catch (NamingException e) {

                }
            }
        }
    }

2009年2月11日 星期三

[dotProject] dotProject 與 AD 使用 LDAP 的帳號整合

From: Polin Wei

dotProject 運作的環境:
OS: Cent OS 4.x
GD: 2.0.33-9.4
WEB: Apache HTTP Server 2.2.3-22
PHP: 5.1.6-23
MySQL: 5.0.45-7
dotProject: dotProject_2.1_RC2_20070529_UTF-8_Chinese_by_Markwu.zip (目前穩定的版本)
下載點1(備用網站): dotProject_2.1_RC2_20070529_UTF-8_Chinese_by_Markwu.zip
下載點2(官方網站): dotProject_2.1_RC2_20070529_UTF-8_Chinese_by_Markwu.zip

LDAP 認證的環境:
OS: Windows Server 2k3 SP2
Domain: mydomain.com
Host: ad.mydomain.com
LDAP Search User: dotprojecter ( 此 User 放在 Windows Server 2k3 AD 內定的 Users 目錄CN下)

安裝的文章可以參考 使用 DotProject 架設 Project Server,整合 AD 2003 帳號(適用 CentOS 4) 但此篇文章中有一些設定上的錯誤. 修正如下:

1. 點選「System Admin / System Configuration」。

2. 在「User Authentication Settings」中參考下列參數:
   User Authentication Method:LDAP
   Postnuke login also allows Standard Login:打勾

3. 在「LDAP Settings」中參考下列參數:
   LDAP Host:ad.mydomain.com <- AD Server
   LDAP Port:389
   LDAP Version:3
   LDAP Base DN:dc=mydomain,dc=com <- 這裡只要輸入 Domain Name 即可
   LDAP User Filter:(sAMAccountName=%USERNAME%)
   LDAP Search User:cn=dotprojecter,cn=Users,dc=mydomain,dc=com <- 搜尋用的帳號,需使用完整的 DN , 注意預設的 Users , 是 cn , 不是 ou
   LDAP Search User Password:*******
   LDAP also allows standard login:打勾
   點選「Save」儲存。

這樣就可以了

2009年2月5日 星期四

[Hyperion] 設定 Hyperion 與 Microsoft AD 認證整合 Integrate Oracle Internet Directory With AD

From: Polin Wei

上一篇 [Hyperion] Windows Server 2k3 + Oracle XE + Hyperion 9.3.1 安裝步驟 作好後, 登入到 Essbase Server 時, 就會牽涉到權限認證的問題. 所以該如何與 AD 作好整合認證就顯得重要了.

要與 AD 的帳號作整合認證的作法如下:
環境:
OS: windows 2k3
Host Name: ad.mydomain.com
AD Domain: mydomain.com
LDAP 認證帳號為 AD 的 administrator
Hyperion Essbase 9.3.1


step 01: 進入 User Management Console 的界面
http://localhost:58080/interop/
帳號/密碼 為預設的 admin/password



step 02: Configure User Directories


加入一筆 LDAP 記錄


選擇 Microsoft Active Directory (MSAD)


依環境提供的值填入, 下圖中的 Base DN 只要填入AD伺服器中的網域(Domain Name)名即可, 如
mydomain.com , 在 AD 的識別為 cn=myadmin,cn=com



登入系統所需認證的相關資訊, 可以先輸入 cn=administrator 然後按 Go , 系統會自動帶出 AD 裡的參數值


Enable Support Group 啟動支援群組, 這樣會比較彈性


step03: 讓 AD 加入系統認證的行列中



step04: 作好以上設定後, 要重啟 HSS (Hyperion S9 Shared Services) 服務, 這樣就可以了






參考文獻
Configuring Oracle Internet Directory, MSAD, and Other LDAP-Enabled User Directories

WordPress 架站必備外掛