2014-10-28 74 views
1

我懷疑有人可能會在別人的憑據中窺探我的CouchDB,但我不確定如何在服務器級別進行檢查。有沒有辦法獲得當前登錄到CouchDB的用戶列表?

我試圖通過_session api查詢,但它並沒有真正設計這樣做。

我打開查看服務器上的隨機文件,這將是一個選項。

我還沒有準備好查看CouchDB的源代碼,但是如果這就是它的含義。

+0

[查看活動用戶會話]的可能重複(https://stackoverflow.com/questions/43254086/view-active-user-sessions) – Flimzy 2017-08-10 11:12:43

回答

2

是的。在交互模式sudo couchdb -i

在殼式

ets:match(auth_by_user_ets,{'$1','_'})啓動CouchDB的現在,你應該得到的結果一樣

[[<<"user1012">>],[<<"ABBA">>]]

是通過認證的用戶的不僅僅是名字。

如果你願意,你可以使用

ets:match(auth_by_user_ets,'$1')完整結果集的結果會像

[[{<<"user1012">>, 
    {[{<<"_id">>,<<"org.couchdb.user:user1012">>}, 
    {<<"_rev">>,<<"1-495d19f995d985c52c8fbe4444a3e32d">>}, 
    {<<"password_scheme">>,<<"pbkdf2">>}, 
    {<<"iterations">>,10}, 
    {<<"name">>,<<"user1012">>}, 
    {<<"roles">>,[]}, 
    {<<"type">>,<<"user">>}, 
    {<<"derived_key">>, 
     <<"84266c5c57e0efe15a50cc5a9a48a7af958ba2d1">>}, 
    {<<"salt">>,<<"c7acfd644bbcd37a79efd03712f48b7e">>}], 
    {1414,563784,127875}}}], 
[{<<"ABBA">>, 
    {[{<<"_id">>,<<"org.couchdb.user:ABBA">>}, 
    {<<"_rev">>,<<"1-6b00c9f9a5cd675310dbf50c46797c5a">>}, 
    {<<"password_scheme">>,<<"pbkdf2">>}, 
    {<<"iterations">>,10}, 
    {<<"name">>,<<"ABBA">>}, 
    {<<"roles">>,[]}, 
    {<<"type">>,<<"user">>}, 
    {<<"derived_key">>, 
     <<"f11d5d89880438182c4ba4644cf47aafb0231ada">>}, 
    {<<"salt">>,<<"344780e9b0222613ea826c48804913df">>}], 
    {1414,564902,847623}}}]] 

auth_by_user_ets是在保持認證的用戶列表內存緩存。內存中保存的用戶數量取決於config文件中的auth_cache_size參數。因此,您可以將此參數設置爲大數以容納auth_by_user_ets表中的用戶。

相關問題