2012-08-01 44 views
2

我通過ODBC與Ubuntu服務器上的Stata連接到Teradata數據庫(12.04 LTS)。一切工作正常,除了我的TD用戶名和密碼存儲在.odbc.ini文件,這似乎是一個可怕的想法。另一種方法是將它們輸入Stata,這看起來更加糟糕,而且很尷尬。有沒有辦法更安全地做到這一點?我使用SSH登錄到服務器的登錄信息與TD數據庫同步。似乎應該有可能傳遞這些信息。如何避免在Linux上的.odbc.ini文件中存儲用戶名/密碼?

回答

0

如果你想圍繞你的odbc.ini文件或者你的Ubuntu服務器上其他可能包含用戶憑證的文件建立更好的安全性,我會強烈建議使用Access Control Lists(ACL)。除了典型的Owner :: Group :: World權限之外,您還可以指定特定用戶的權限,以確定是否允許或拒絕給定文件的顯式權限。

有關Teradata安全性的其他選項包括如果您的環境支持使用LDAP身份驗證。在Teradata上配置LDAP超出了SO的範圍,並且在很多情況下是與Teradata的信息安全CoE相關的專業服務。

3

在ODBC術語中,您不需要在任何ODBC ini文件中存儲用戶名/密碼。 ODBC SQLConnectSQLDriverConnect都支持在被調用時傳入用戶名/密碼。

SQLDriverConnect在您的InConnectionString中需要一些類似於「DSN = YourDataSourceName; UID = username; PWD = password」的內容。

您可以更進一步,將整個DSN作爲命令行參數傳遞,這意味着您不需要ini文件中的ODBC數據源。我確信其中一位論壇讀者可以從Teradata爲您發佈樣本。

至於從你的SSH登錄傳入用戶名和密碼。您的應用程序需要捕獲並將其傳遞給ODBC。

相關問題