Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Invalid
-
None
-
None
-
Security Level: public (Regular issues)
-
None
Description
I am getting such messages in log on FreeBSD:
> Could not write config file /usr/local/etc/couchdb/local.ini: permission denied
The problem is that CoachDB supplies the original copy of local.ini, and it is treated as a template for this configuration file. It is placed into /usr/local/etc/couchdb/local.ini.sample, and its copy is placed into /usr/local/etc/couchdb/local.ini. Everything under /etc is what admin configures. Ideally admin can compare local.ini and local.ini.sample and see if anything in default configuration was modified compared to the suggested sample.
When the executable itself modifies local.ini too, this makes it very confusing. Admin will be confused if he should or shouldn't touch this file.
My suggestion is that CouchDB should copy local.ini under /var/db/, or somewhere else, and write it there. /etc isn't supposed to be writable by the process.