顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


文章 - Robetar

頁: [1]
1
我已經解決了,感謝twu2學長的回答,問題並不是出在那裡,是我貼的config檔設定的問題,
我將它修改之後就可以用了,不過還是感謝您耐心回答 :D
解出來的感覺真好 ;D
把我解決後的CONFIG也一並分享出來,希望有其他學員要用時,不會跟我一樣遇到這類的問題了
代碼: [選擇]
#include "options.h"

#define AUTH_LDAP_URI               "ldap://192.168.3.xxx:389/"
#define AUTH_LDAP_BASE_DN           "dc=my-ldap,dc=com"
#define AUTH_LDAP_OPENLDAP_SO       "/usr/lib/libldap.so"

// if AUTH_LDAP_SOCKET is set to 1 users are going to be authenticated
// only if connections to the MySQL server are performed over a UNIX
// domain socket. See also AUTH_LDAP_LOCAL
#define AUTH_LDAP_SOCKET            1
// if both AUTH_LDAP_SOCKET and AUTH_LDAP_LOCAL are set to 1 users are
// going to be authenticated only if connections to the MySQL server are
// performed over a UNIX domain socket, or from localhost.
#define AUTH_LDAP_LOCAL             1

// Use a staticly defined pattern for user DNs. This saves us from
// connecting to the server twice.
//
// macro expansions:
// %u the supplied username
// %i the user part, if the username is in the form of user@domain.tld
// %d the domain part, if the username is in the form of user@domain.tld
// %b the base domain
//
#define AUTH_LDAP_DN_PATTERN        "cn=%u,ou=People,%b"      //這裡的uid要改成cn

//
// Error logging level.
//
// Posible values:
//      AUTH_LDAP_ERROR,
//      AUTH_LDAP_INFO,
//      AUTH_LDAP_DEBUG,
//      AUTH_LDAP_DEVEL
//
//+====================================================================+
//|                            !Caution!                               |
//+====================================================================+
//
// Error loging should never be set to development when compiling the
// plugin for deployment in a production system. Having the macro set to
// development will leed in sensitive authentication credentials being
// logged in plain text. Any user having access to system logs will be
// able to read user passwords!
//
#define AUTH_LDAP_ERROR_LEVEL       AUTH_LDAP_INFO


/*
 *
 * Configuration macros after this point, are reserved for future use,
 * and have not been implemented yet. Setting any value to these macros
 * will have not affect on plugin functionality.
 *
 */

// Search for the users DN before attempting to bind for authentication.
#define AUTH_LDAP_SEARCH_DN         0
// The search filter
#define AUTH_LDAP_SEARCH_DN_FILTER  "(&(cn=%u)(objectClass=shadowPassword))" //這裡的uid要改成cn
// Search levels. possible values base,one,subtree
#define AUTH_LDAP_LEVEL             "base"
// Bind anonymously to perform search for the user's DN
#define AUTH_LDAP_BIND_ANONYMOUSLY  1
// If we will not bind anonymously set the corresponding DN and password.
#define AUTH_LDAP_BIND_DN           ""
#define AUTH_LDAP_BIND_PASSWD       ""

2
LDAP 討論區 / 有關MYSQL認証透過LDAP的問題
« 於: 2013-10-02 16:26 »
請教一下各位學長有使用過mysql-auth_ldap這個套件嗎?
載點是http://sourceforge.net/projects/mysqlauthldap/
裡頭有教學及如何設置,但我按照它上面所寫的去設定之後一直卡在
info: ldap_auth_server: ldap_sasl_bind_s returned: Invalid credentials :(
不知道有沒有其他學長有沒有使用過,分享一下心得,我已經有向google大神請教過了,但似乎這類的文章很少,
希望有使用過的學長教導一下小弟
我的config.h設定為下:
代碼: [選擇]
#include "options.h"

#define AUTH_LDAP_URI               "ldap://192.168.3.xxx:389/"
#define AUTH_LDAP_BASE_DN           "dc=my-ldap,dc=com"
#define AUTH_LDAP_OPENLDAP_SO       "/usr/lib/libldap.so"

// if AUTH_LDAP_SOCKET is set to 1 users are going to be authenticated
// only if connections to the MySQL server are performed over a UNIX
// domain socket. See also AUTH_LDAP_LOCAL
#define AUTH_LDAP_SOCKET            1
// if both AUTH_LDAP_SOCKET and AUTH_LDAP_LOCAL are set to 1 users are
// going to be authenticated only if connections to the MySQL server are
// performed over a UNIX domain socket, or from localhost.
#define AUTH_LDAP_LOCAL             1

// Use a staticly defined pattern for user DNs. This saves us from
// connecting to the server twice.
//
// macro expansions:
// %u the supplied username
// %i the user part, if the username is in the form of user@domain.tld
// %d the domain part, if the username is in the form of user@domain.tld
// %b the base domain
//
#define AUTH_LDAP_DN_PATTERN        "uid=%u,ou=People,%b"

//
// Error logging level.
//
// Posible values:
//      AUTH_LDAP_ERROR,
//      AUTH_LDAP_INFO,
//      AUTH_LDAP_DEBUG,
//      AUTH_LDAP_DEVEL
//
//+====================================================================+
//|                            !Caution!                               |
//+====================================================================+
//
// Error loging should never be set to development when compiling the
// plugin for deployment in a production system. Having the macro set to
// development will leed in sensitive authentication credentials being
// logged in plain text. Any user having access to system logs will be
// able to read user passwords!
//
#define AUTH_LDAP_ERROR_LEVEL       AUTH_LDAP_INFO


/*
 *
 * Configuration macros after this point, are reserved for future use,
 * and have not been implemented yet. Setting any value to these macros
 * will have not affect on plugin functionality.
 *
 */

// Search for the users DN before attempting to bind for authentication.
#define AUTH_LDAP_SEARCH_DN         0
// The search filter
#define AUTH_LDAP_SEARCH_DN_FILTER  "(&(uid=%u)(objectClass=shadowPassword))"
// Search levels. possible values base,one,subtree
#define AUTH_LDAP_LEVEL             "base"
// Bind anonymously to perform search for the user's DN
#define AUTH_LDAP_BIND_ANONYMOUSLY  1
// If we will not bind anonymously set the corresponding DN and password.
#define AUTH_LDAP_BIND_DN           ""
#define AUTH_LDAP_BIND_PASSWD       ""

3
肉腳版 / 關於ISC DHCP
« 於: 2010-04-13 15:56 »
請教各位學長,
目前ISC出了最新的DHCPD是dhcp-4.2.0b1.tar.gz,我是想問那ISC DHCP從那一個版本開始有支援IPV6

4
肉腳版 / 有關Linux收到大量137封包問題
« 於: 2010-02-24 11:28 »
各位學長以下是我監聽eth0訊息:
引用
11:16:24.722530 IP 114.198.189.58.netbios-ns > 172.16.1.193.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:16:24.736636 IP 114.198.188.31.netbios-ns > 172.16.1.193.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:16:24.743958 IP host22.2037781.gcn.net.tw.netbios-ns > 172.16.1.193.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:16:24.746724 IP 211.76.71.45.netbios-ns > 172.16.1.193.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:16:24.751403 IP 211.76.71.194.netbios-ns > 172.16.1.193.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:16:25.262935 IP 60-198-44-192.dynamic.tfn.ent.tw.netbios-ns > 172.16.1.193.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
11:16:25.315566 IP 114.198.183.225.netbios-ns > 172.16.1.193.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST;
我已從iptables drop 135-139,445這些port了,但監聽還是會繼續發,從mrtg看流量還是沒有下降,請教各位學長這是什麼問題?有辦法解決嗎?

5
alias vi='/bin/vi_xx'
alias alias='echo'
編輯 /bin/vi_xx
#!/bin/bash
echo $(date)' '$(logname)' '$@ >> /tmp/log

..............以下文章,由於長度關係刪除了...敬請原諒


恩..這個方法解決了我的問題,原來我一開始的想法就對了,只是我忘了source .bashrc  :P ,不過也因為這樣又跟學長們學到一些東西,感謝各位學長,至於auditd感覺我的需求並不需要這麼完備,不過可以先學起來,有機會要用時,就能用到了 ;D,再來是小弟解決問題的方法也一拼貼上來.
1.先寫script
/bin/XXX.sh
#!/bin/bash
echo $(date +'%Y%m%d %H:%M:%S')'   '$(logname)'   '$@ >> /var/log/vilog.log;vi $@;

2.修改.bashrc
加入一行
alias vi='/bin/XXX.sh'

3.[root@localhost ~]# source .bashrc
這樣就解決了..感謝各位學長幫助,您們真強,有您們真好 :D

6
肉腳版 / 如何記錄linux上檔案被修改
« 於: 2010-02-04 11:12 »
各位學長好,
  不才學弟又來發問了,再煩請各位學長指點迷津一下,問題是這樣的,小弟想記錄登入Server的使用者,所編輯的檔案名稱及時間,然後存成log檔,現在連開頭都不知道怎麼用,本來是想用.bashrc去alias vi,在使用vi這個動作時就塞logname及時間,但是行不通,請教各位學長有沒有什麼比較好的方法,提供給小弟,小弟萬份感激

7
據我所知, DHCPInform 是要求一些"額外的資訊", 例如 IE 有"自動取得 proxy", 就是透過 DHCPInform 取得.
不過這部份已經不是一般 DHCP 會用到的資料, 所以一般文件也沒有, 使用者大概只需要知道有哪些產品會用到就好.
slime學長,受教了,十分感謝你的回答,小弟知道了 :D

8
設兩台 DHCP 也可以啊。
只要將 range 錯開,其他都一樣就行。
也可以調整 server 的 offer 回應時間,來分主/備server。
哇 ;D我的偶像netman學長出現了,小弟真的很感動,既然netman學長都出來發聲了,我還是要再問一次DHCPINFORM訊息到底是為什麼會發生 ;D畢竟看英文真的很累人,翻譯軟體也不會翻的很正確 ;D,還請netman學長不吝指教 ;D

9
不....我看到您描述關於 DHCPOFFER 跟 DHCPREQUEST ,
發現您的描述是一般的說明, 所以我補充的是"為什麼"要再發一次 DHCPREQUEST 的意義.
因為這些協定都有運作上的考量, 才會有這樣的設計,
如果只是看到運作方式, 可能沒注意到運作原本的考量.

延伸 damon 說的: 一般的 DHCP 就是盡量簡單, 不建議有兩台主機, 功能卻都只有一半;
如果您需要備援方案, 則建議再列出更詳細的資料, 大家比較好建議.
如果您想知道運作方式, DHCP Inform 請看 RFC 2131 .
恩~受教了 ;D這架構也會購買新設備而更換架構,非常感激slime學長這麼有耐心的教導,小弟銘謝在心,RFC 2131我會讀熟一點,看完會把我的心得放上來,畢竟英文不是人看滴 ;D到時再請各位學長給予修正指教

10
2. DHCP Offer: 同一個網路可能有兩台以上的 DHCP Server 來回應, 所以同一個 Client 發出的 Discover 可能有兩個以上的 Offer .
3. 當 Client 收到 Offer 後, 會再發出 Request 確定向哪一台 Server 註冊.
4. Server 確定並登記.
5. 不熟....

舉例:
1. DHCP Discover: 宅男說: 我要找人結婚.
2. DHCP Offer: (一至數個)媒人說: 我這邊有個對象, 你要嗎?
3. DHCP Request: 跟其中一個媒人說, 我要娶這個(IP)了, 順便拒絕其他媒人的對象.
4. DHCP Ack: 媒人幫忙登記結婚....
而 renew 是持續 3 & 4 , 不過稍有不同, 原本是廣播, 改成對單一 server 要求延期.

slime學長再一次感謝你,但你怎麼沒回答我DHCPINFORM,卻一直回答我知道的,解釋我所舉例的,
所以不得不再一次向各位學長再懇請賜教,恕小弟愚昧.我要的只是DHCPINFORM訊息:? ? ? ? ? ? ? ? ? ?(請知道的學長在?裡填入你的意見)
再來是下面那行是slime學長不熟的DHCPNACK訊息,它發生的時機在收到DHCPREQUEST之後發生
舉例:
5. DHCP NACK:媒人跟宅男說:你"咖啾"(手腳)太慢,你的對象(IP),被人搶了,你再挑一個吧.

11
一台 Client 剛啟動時, 並沒有 IP , 所以會試著用電腦名稱(Name)去問 DHCP ,
DHCP 除了 MAC-IP 對應方式, 也可能用 電腦名稱-IP 對應, 所以有可能用電腦名稱, 或者用 MAC 詢問.

當一台 Client 已經從 DHCP 取過 IP , 更新時或下次開機時, 就會試著以"曾經用過的 IP ", 向原 DHCP 主機來登記或延期,
如果該 IP 仍然可以使用, DHCP 主機就會延長期限.
如果 DHCP 主機已經更換或無相關紀錄, 就會重新配發別的 IP .

由於有這些不同的需要, 所以 Client 是依不同情況, 送出不同的資料.
感謝slime學長耐心教導,小弟感激萬分,至於我的問題看來是Client依不同的情況,所以發出不同的資料也就是DHCPINFORM吧,但這種答案好像很模糊,有沒有比較具体的說明啊,小弟舉個實例:
1.DHCPDiscover訊息就是slime學長所說的當Client 剛啟動時, 並沒有 IP , 所以會試著用電腦名稱(Name)去問 DHCP
2.DHCPOFFER訊息也就是伺服器(DHCP)接收到DHCPDISCOVER回應給Client
3.DHCPREQUEST訊息從Client那裡發出來向伺服器(DHCP)檢查X.X.X.X這組IP能不能使用
4.DHCPACK訊息則是從伺服器(DHCP)發出,所接收的DHCPREQUEST訊息中X.X.X.X這組IP可以使用
5.DHCPNACK訊息則跟第4情況相反,X.X.X.X這組IP不可以使用
之後的就是3跟4一直重覆延期租約,若租約過期則又重1到4重來一遍

12
感謝各位學長指導,剛仔細看了一下,雖然看英文很累人,但還是勉強給它看完,我不知道是不是小弟的英文太差,我還是看不到DHCPINFORM發生的時機,
只有看到Client會自己發送DHCPINFORM來確認或更改DHCP Server所給指定的參數設定,如(DNS NAME,DHCP NAME,GATEWAY),但這些資訊不是在Client要到IP時就會都有了,為什麼Client還需要再來發一次DHCPINFROM,為什麼我會這麼問,是因為我所做的測試裡,DHCPINFORM發出的訊息是不固定滴,有時候永遠不會發,有時候就會發一下,所以小弟才麻煩各位學長能給予賜教,或者告知小弟DHCPINFORM會發生的時機點,原諒小弟愚蠢,煩請各位學長見諒

13
請教各位學長
DHCP INFORM是在什麼時候會發出??
能幫個忙告知道小弟嗎??

14
一般 DHCP 應該不提供這樣的功能.

既然由 Server 1 配發, Client 預設就是向 Server 1 更新, 而不會去找其他主機.

除非 Server 1 停止服務, Client 才會重新採用廣播方式問問看有沒有其他 DHCP 主機.

參考一下:

http://www.tcpipguide.com/free/t_DHCPLeaseRenewalandRebindingProcesses-2.htm
回覆slime學長
因為我在服務用那台伺服器dhcpd.conf裡的server-identifier 10.10.10.3;<==指向RENEW那台伺服器,所以他並不會向第一台續約租期,除非client端的pc關機重開機,才會又回到第一台去要ip
回覆damon學長
由於第一台服務用的伺服器過於老舊,為了效能的規畫,所以才改成這樣的規劃

15
我想知道您指的"服務用"與"Renew用"是指哪一方面?


以一般情況, DHCP 配發 IP 要顧及不衝突, 所以 Server 會記錄目前還有哪些 IP 被使用, 使用期限多久,
而 Client 也會定期向"原本配發的 Server "要求延長使用期限.

所以您說有一台要提供服務, 那 Client 預設就是向服務這台要求延長, 而就不了解您說 Renew 用的主機, 用途在哪?

slime學長
所謂的服務用就是在一開始第一次配發ip給client時,由服務用那台伺服器所配發,之後的要求延長租約期間都是由Renew那台伺服器做配發,不好意思提問不是很明確,再麻煩各位學長了

16
肉腳版 / 有關DHCP Message(RFC-3118)的問題
« 於: 2009-12-02 18:03 »
小弟目前的架構是二台DHCP-SERVER,一台服務用,一台Renew用,使用CentOS 5.3以及DHCP版本為V3.1.1,目前二台伺服器也都有正常運作,但是有一個問題就是想請教各位學長,一般來說,到2分之1時間後,dhcp client就會上去Renew那台伺服器重新續約,但為什麼服務用的那台伺服器會在Renew伺服器發出DHCP ACK後收到DHCPINFORM的資訊,並且還會發DHCP ACK給dhcp client??不是在Renew那台就已經做掉了嗎??還有DHCP INFORM是在什麼時候會發出??
小弟也從網路上問過"古神"(GOOGLE大神)了,但說法都不一樣,有些說是由伺服器發出,又有些說是從client發出DHCP INFORM,煩請各位學長如果知道可以給個詳細的說明嗎??萬份感激.

頁: [1]