Am 27.07.2015 um 11:41 schrieb Ralf Hildebrandt:
* Daniel Tröder <troe...@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.