我在多個用戶共享的終端中使用公司代理。我們使用Cntlm
爲了連接到互聯網。由於每個用戶都有自己的憑證,所以我想知道是否可以使用本地配置文件(如~/.cntlm
)而不是全局憑證(/etc/cntlm.conf
)。Cntlm的本地配置文件
,因爲我沒有找到一種方法,通過Cntlm自己去做,我想轉彎標準/etc/cntlm.conf
成一個符號鏈接的,將指向$HOME/.cntlm
,即每個用戶將有一個.cntlm
文件,它在其家憑據目錄。這個想法是在用戶登錄後啓動Cntlm服務,讓系統動態解析符號鏈接到當前用戶的主目錄。起初聽起來很聰明,但後來我發現Linux中不允許使用變量符號鏈接,如討論的here和here。
值得注意的是,在我們的情況下,在任何給定時間只有一個用戶登錄。此外,我正在尋找不讓敏感信息「暴露」的解決方案,例如本地導出環境變量http_proxy
和https_proxy
(如其他地方所建議的)。這種方法的問題在於,每個用戶都可以對本機進行root訪問,並且所使用的登錄名/密碼來自LDAP,並可以訪問其他系統。在這一點上,我想強調我不關心我或我的同事對任何人造成傷害的任何企圖。我只是在研究軟件限制。儘管我相信我的同事們,但我認爲沒有理由保留密碼而不是存儲它的散列(如Cntlm在cntlm.conf
中所做的那樣)或使用實現更好保護機制的其他工具(如存在)(例如:加密,首次使用密碼提示等)。
我知道,因爲每個人都擁有對計算機的根訪問權限,每個用戶擁有一個配置文件並不會阻止某人使用其他人的憑據訪問Internet,這會導致遠程代理記錄所有訪問來自錯誤的用戶(一切都被監控),這顯然是不好的。我認爲所有這些擔憂都很明顯,所以我可能在這裏錯過了一些東西(可能使用了錯誤的工具)。
所以,這裏是我的兩個問題:
我怎樣才能設置Cntlm(或替代的工具,你可以建議),使多個用戶(在一時刻在系統中只有一個活動的用戶)可以通過代理使用他們自己的憑證以最低限度的安全設置連接到Internet?
如果是多個用戶同時登錄,是否有任何工具可以根據各個配置文件正確地協調/提供請求?
編輯:
也許我不會在我的問題不夠清楚。我們的問題與控制檯應用程序的使用有關,如git
,curl
,wget
等。瀏覽器中沒有問題,因爲它提示輸入憑據,並且還提供了存儲它們的選項。例如,Git允許set up of a proxy。對於大多數其他應用程序也是如此,但必須分別設置每個應用程序真的很煩人。這就是我們使用Cntlm的原因。
哦,我明白了......也許我不是我的問題(也許應該編輯)很清楚......我們的問題是控制檯應用程序相關的,例如作爲'git','curl','wget' ......你如何處理它們?在瀏覽器中,我們沒有問題,因爲如您所說,它會提示輸入憑據... –
此方法可能仍然可行。例如,使用-u用戶名選項運行curl並且不輸入密碼將使其提示您輸入密碼。如果您正在腳本中運行該工具,則通常可以將工具命令行選項放入工具配置文件中,這會比在流程列表中顯示更安全。 – Craig