Bug in XDG Base Directory Specification

Markus Raab elektra at markus-raab.org
Thu Nov 27 12:03:59 PST 2014

Hello List and XDG maintainers,

I implemented the "XDG Base Directory Specification" as stated in:
for Elektra 0.8.10 (yet unreleased), for information about Elektra see:

There seems to be a bug in the standard. The specification states:
"If, when attempting to write a file, the destination directory is non-existant 
an attempt should be made to create it with permission 0700."

When someone creates system-configuration for a non-existant directory 
(e.g. "/etc/xdg", a subdirectory of it or any other path as given in 
XDG_CONFIG_DIRS) it should be created with 0700 according this specification.
This means that users cannot access it afterwards.

As an example, the user has XDG_CONFIG_DIRS set with "/etc/mydir". When 
executing (lets assumed XDG_CONFIG_DIRS environment is preserved):

    sudo kdb set system/key value

(kdb is the command-line tool for Elektra to get/set key/value pairs)

The implementation need to create the parent directories:


with 0700 according to the specification. When a user then executes:

    kdb get system/key

he/she won't be able to read the file below /etc/mydir/application/.

In conclusion: for directories below home, the 0700 as specified makes perfect 
sense, but not for /etc.

Additionally, a problem is, that is not clearly stated that XDG_CONFIG_DIRS 
have anything to do with configuration below /etc/, it could also point to the 
home directory of the user, where a 0700 might be appropriate.

I think the behavior that fits best with the rest of the "XDG Base Directory 
Specification" is that XDG_CONFIG_DIRS is intended to be system-paths 
(including its default /etc/xdg) and those should be created with 0755 for 
directories and 0644 for files.

What do you think?

best regards,

P.S. the correct spelling is existent and not existant

Markus Raab            http://www.libelektra.org
Technische Universität Wien       elektra at markus-raab.org
Institut für Computersprachen           Phone: (+431) 58801/185185
Argentinierstr. 8, 1040 Wien, Austria     FAX: (+431) 58801/18598

DVR 0005886
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 828 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/xdg/attachments/20141127/603d2488/attachment.sig>

More information about the xdg mailing list