0

我创建了一个数据库“my_new_database”和“albums”,我都不能删除它们。我相信我仍然处于“管理员”派对模式。为了证明我的问题,我将在下面发布一些信息。

首先是显示 couchdb 正在运行(通过服务使用 SystemV 脚本启动)

$ ps aux | grep couch
couchdb   2939  0.0  0.2 108320  1528 ?        S    20:45   0:00 /bin/sh -e /usr/bin/couchdb -a /etc/couchdb/default.ini -a /etc/couchdb/local.ini -b -r 0 -p /var/run/couchdb/couchdb.pid -o /dev/null -e /dev/null -R
couchdb   2950  0.0  0.1 108320   732 ?        S    20:45   0:00 /bin/sh -e /usr/bin/couchdb -a /etc/couchdb/default.ini -a /etc/couchdb/local.ini -b -r 0 -p /var/run/couchdb/couchdb.pid -o /dev/null -e /dev/null -R
couchdb   2951  4.8  2.3 362168 14004 ?        Sl   20:45   0:00 /usr/lib64/erlang/erts-5.8.5/bin/beam -Bd -K true -A 4 -- -root /usr/lib64/erlang -progname erl -- -home /usr/local/var/lib/couchdb -- -noshell -noinput -sasl errlog_type error -couch_ini /etc/couchdb/default.ini /etc/couchdb/local.ini /etc/couchdb/default.ini /etc/couchdb/local.ini -s couch -pidfile /var/run/couchdb/couchdb.pid -heart
couchdb   2959  0.0  0.0   3932   304 ?        Ss   20:45   0:00 heart -pid 2951 -ht 11
ec2-user  2963  0.0  0.1 103424   828 pts/1    S+   20:45   0:00 grep couch

这是我拥有的“.couch”数据库的输出(显示为用户所有权和权限)

$ ls -lat /var/lib/couchdb
-rw-r--r--  1 couchdb couchdb   23 Oct 11 20:45 couch.uri
drwxr-xr-x  3 couchdb couchdb 4096 Oct 11 19:35 .
-rw-r--r--  1 couchdb couchdb   79 Oct 11 19:35 database2.couch
-rwxrwxrwx  1 couchdb couchdb   79 Oct 11 19:00 my_new_database.couch
-rw-r--r--  1 couchdb couchdb 4182 Oct  4 21:52 albums.couch
-rw-r--r--  1 couchdb couchdb   79 Oct  4 21:42 albums-backup.couch
-rw-r--r--  1 couchdb couchdb 4185 Oct  4 21:30 _users.couch
drwxr-xr-x 18 root    root    4096 Oct  4 20:58 ..
drwxr-xr-x  2 root    root    4096 Oct  4 18:34 .delete

这是我第一次尝试删除

$ curl -X DELETE http://127.0.0.1:5984/my_new_database
{"error":"unauthorized","reason":"You are not a server admin."}

我第二次尝试使用经过身份验证的用户。

$ curl -X DELETE http://brian:brian@127.0.0.1:5984/my_new_database
{"error":"error","reason":"eacces"}

brian/brian 的用户名/密码已添加到 /etc/couchdb/local.ini 的 [admin] 部分

这是我的“_users”文件的输出。“key”和“id”字段让我感到困惑。

$ curl -X GET http://brian:brian@127.0.0.1:5984/_users/_all_docs
{"total_rows":1,"offset":0,"rows":[
{"id":"_design/_auth","key":"_design/_auth","value":{"rev":"1-c44fb12a2676d481d235523092e0cec4"}}
]}
4

2 回答 2

0

将用户添加到 local.ini 后,您是否重新启动了 CouchDB?如果是这样,文件中的密码是否经过哈希处理或是否可读?

一般来说,您的文件权限看起来不错,所以我不知道究竟是什么导致了错误。不过,为了快速修复,您可以简单地删除 .couch 文件。

于 2013-10-20T15:48:25.153 回答
0

这个问题真的很老了,但是因为我今天被这个问题所困扰,这就是谷歌引导我的地方,我想我会为在这里绊倒的其他人分享我的解决方案。就我而言,我的 Couch lib 目录(/usr/local/var/lib/couchdb对我而言)有一个名为.deleteroot 的目录。将所有者更改为 couchdb 让我再次删除数据库。

于 2017-02-20T19:05:10.533 回答