Am 27.07.2015 um 11:41 schrieb Ralf Hildebrandt:
- Daniel Tröder <troeder@univention.de>:
Just guessing…
The signature of the command is: doveadm [-Dv] import [-S socket_path] [-s] -u user source_location dest_parent search_query
You supply "" as dest_parent which I guess could mean ".", and that may be "/root" when run as root. Try "INBOX" or "restore_folder" and see if the error vanishes.
With "INBOX", nothing changes on the output (although the script doesn't restore properly anymore)
With ".", I get:
I think there are two independent errors. First:
doveadm(restore@backup.invalid): Error: chdir(/root/) failed: Permission denied (euid=1001(theid) egid=1001(theid) missing +x perm: /root, dir owned by 0:0 mode=0700) doveadm(restore@backup.invalid): Error: chdir(/root) failed: Permission denied Here I think doveadm import tries to do a chdir to the users HOME Directory and does it wrong. It uses the bash environment variable $HOME instead of the users home information as shown by doveadm user.
Why do I think so, because if I manually export the bash environment HOME to the Home Directory of the user I want to import to I don't receive this error anymore.
Example: export HOME="/mailhome/userA" doveadm import -u userA maildir:/backup/userA Backup ALL; -> No Error export HOME="/root" doveadm import -u userA maildir:/backup/userA Backup ALL; -> Error as seen above.
Second:
doveadm(restore@backup.invalid): Error: Couldn't create mailbox ./INBOX: Invalid mailbox name: Contains '.' part This error is dependent on your namespace. If using standard maildir with "/" as separator then "./INBOX" isn't a correct Mailbox name, because dot is not allowed. In this case it should only be "INBOX". But as I said before this depends on your configuration. If I'm not sure, I check the notation by using doveadm mailbox list -u userA.
I still think this is an obscure bug :)
If the first error is a bug or a feature I don't know, but doveadm import works correct with or without this error shown. At least for the things I have done.