不知道為什麼,工作中的 GridFTP server 被設定去取 CAS (Community Authorization Service) 的授權 (authorization) 資料來源了。

在 globus.org 3.2 documentation CAS System Administrator's Guide 裡的 CAS-enabled GridFTP Server 一節裡有提到,GridFTP server 會讀取 '/etc/grid-security' 下 'gsi-authz.conf' 和 'gsi-gaa.conf' 兩個檔案裡的設定,來決定如何進行授權與對應的工作。這兩個檔案在我原本的 GT 3.2.1 installation 裡並沒有出現,可能是我在把 GT 3.2.1 佈署到 Tomcat4.1.30 時,'ant -Dtomcat.dir=../tomcat4 deployTomcat' 幫我加進去的 (這只是可能,我還沒有重複測試過來確定這一點)。

因為這兩個檔案的存在 (我還不清楚其語法與運作機制),GridFTP 跑去抓 CAS 的資料,而無法從 '/etc/grid-security/grid-mapfile' 來取得憑證與使用者的對應資料::

$ globus-url-copy gsiftp://localhost/tmp/test1 file:///tmp/test2

error: globus_ftp_client: the server responded with an error
530 No local mapping for Globus ID

在 'globus-url-copy' 後加上 '-dbg',可以把問題看得更清楚::

$ globus-url-copy -dbg gsiftp://localhost/tmp/test1 file:///tmp/test2
debug: starting to get gsiftp://localhost/tmp/test1
debug: connecting to gsiftp://localhost/tmp/test1
debug: response from gsiftp://localhost/tmp/test1:
220 some.domain.name GridFTP Server 1.17 CAS/SAML
enabled GSSAPI type Globus/GSI wu-2.6.2 (gcc32dbg, 1083879869-52) ready.

debug: authenticating with gsiftp://localhost/tmp/test1
debug: response from gsiftp://localhost/tmp/test1:
530 No local mapping for Globus ID

debug: fault on connection to gsiftp://localhost/tmp/test1
debug: data callback, error globus_ftp_client: the server responded
with an error, buffer 0x404b1008, length 0, offset=0, eof=true
debug: operation complete

error: globus_ftp_client: the server responded with an error
530 No local mapping for Globus ID

在 CAS System Administrator's Guide 的 Installation Guide 有提到:使用 tomcat 作為 globus 的 container 的話,"in which case the GT3.2 Core and the CAS service **needs** to be deployed"。所以的確很可能是 'ant -Dtomcat.dir=../tomcat4 deployTomcat' 作了這個修改。改回不使用 CAS 的組態,會有何種影響尚待深入研究。

Globus 的問題真不少,要花在研究測試上的時間還需要很多。
Posted by yungyuc at 17:11, 0 comment, 0 trackback.
Change to page (10 entries in each page): 1
© hover year to navigate month: powered by django