有没有办法获取当前登录到CouchDB的用户列表?

时间:2014-10-28 20:14:39

标签: security couchdb

我怀疑有人可能会使用其他人的凭据窥探我的CouchDB,但我不确定如何在服务器级别进行检查。

我试图通过_session api进行查询,但实际上并没有这样做。

我愿意在服务器上查看随机文件,这对我来说是一个选择。

我还没准备好查看CouchDB源代码,但如果是这样的话我会的。

1 个答案:

答案 0 :(得分:2)

是的。使用sudo couchdb -i

以交互模式启动couchdb

现在在shell类型

ets:match(auth_by_user_ets,{'$1','_'})你应该得到像

这样的结果

[[<<"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是一个内存缓存,用于保存经过身份验证的用户列表。内存中保留的用户数取决于auth_cache_size文件中的config参数。因此,您可以将此参数设置为较大的数字,以适应auth_by_user_ets表中的用户。

相关问题