Am 27.07.2015 um 10:51 schrieb Ralf Hildebrandt:> Anybody seen this before? > Seems easy to reproduce... > > * Ralf Hildebrandt <r at sys4.de>: >> I'm using the doveadm import command to extract mails from my backup: >> >> % doveadm import -u restore at backup.invalid mdbox:/home/copymail/mdbox "" \ >> mailbox INBOX header Delivered-To backup+$SEARCHPATTERN at backup.invalid >> >> This works like a charm, I'm getting all the mails, and I can access >> the newly generated mailbox. >> >> But when executing the command I'm getting an annoying warning: >> >> doveadm(restore at backup.invalid): Error: chdir(/root/) failed: Permission denied (euid=1001(copymail) egid=1001(copymail) missing +x perm: /root, dir owned by 0:0 mode=0700) >> doveadm(restore at backup.invalid): Error: chdir(/root) failed: Permission denied >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. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: OpenPGP digital signature URL: <http://dovecot.org/pipermail/dovecot/attachments/20150727/c7b47fe1/attachment.sig>
* Daniel Tr?der <troeder at 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: doveadm(restore at 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 at backup.invalid): Error: chdir(/root) failed: Permission denied doveadm(restore at backup.invalid): Error: Couldn't create mailbox ./INBOX: Invalid mailbox name: Contains '.' part I still think this is an obscure bug :) -- [*] sys4 AG http://sys4.de, +49 (89) 30 90 46 64 Franziskanerstra?e 15, 81669 M?nchen Sitz der Gesellschaft: M?nchen, Amtsgericht M?nchen: HRB 199263 Vorstand: Patrick Ben Koetter, Marc Schiffbauer Aufsichtsratsvorsitzender: Florian Kirstein
Am 27.07.2015 um 11:41 schrieb Ralf Hildebrandt:> * Daniel Tr?der <troeder at 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 at 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 at backup.invalid): Error: chdir(/root) failed: Permission deniedHere 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 at backup.invalid): Error: Couldn't create mailbox ./INBOX: Invalid mailbox name: Contains '.' partThis 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.