how can I check (and change) the owner of a mailbox ?

Chentao Credungtao chentaocredungtao at yahoo.com
Mon May 14 17:00:53 EDT 2018


Hi,

How can I check who the mailbox owner is ? How can I change it ? I'd 
like to change owner john.doe to john.doe at example.net


Here's why :

I'm currently testing the migration of a single-domain Cyrus IMAP server 
to a multi-domain one. I'm doing the migration on the filesystem level, 
copying files from the old to the new server.

It works fine, except for the mailbox owner, it seems to be the old one, 
without the e-mail domain.


Here is what I did :

- 1/  First I created user/john.doe on domain example.net on the new 
server,  using autocreate (so it created 
/var/spool/cyrus/mail/domain/e/example.net/j/user/john.doe)

- 2/ The I checked this mailbox's ACLs :
$ cyradm --user cyrus at example.net localhost
localhost> lam user/john.doe
user/john.doe:
   john.doe at example.net lrswipkxtecdan

- 3/ Then I stopped cyrus

- 4/ Then I copied /var/spool/cyrus/mail/j/john.doe/*  from the old 
(single domain) server to 
/var/spool/cyrus/mail/domain/e/example.net/j/user/john.doe on the new 
(multi-domain) server

- 5/ Then a little reconstruct : su -c "/usr/lib/cyrus/bin/reconstruct 
-r -f user/john.doe at example.net" cyrus -s /bin/bash

- 6/ Starting cyrus

- 7/ Checking ACLs :
$ cyradm --user cyrus at example.net localhost
Password:
localhost> lam user/john.doe
user/john.doe:
   john.doe lrswipkxtecda

- 8/ OK, so now john.doe (and not john.doe at example.net like before) 
seems to be the owner of user/john.doe

- 9/ When I try to log in (with my webmail for example), it doesn't 
work. From the logfiles :
May 14 21:40:04 sogod [1596]: [ERROR] 
<0x0x5648006b5480[NGImap4Connection]> could not select URL: 
imaps://john.doe%40example.net@mail/INBOX/: {RawResponse = 
"{ResponseResult = {description = \"Mailbox does not exist\"; result = 
no; tagId = 6; }; }"; reason = "Mailbox does not exist"; result = 0; }

- 10/ Back to cyradm, and granting full rights to john.doe at example.net :
$ cyradm --user cyrus at example.net localhost
Password:
localhost> sam user/john.doe* john.doe at example.net lrswipkxtecdan

- 11/ OK, after that webmail works fine.

- 12/ Back to cyradm, where my ACLs now look like :
$ cyradm --user cyrus at example.net localhost
Password:
localhost> lam user/john.doe
user/john.doe:
   john.doe lrswipkxtecda
   john.doe at example.net lrswipkxtecdan

So, I though I don't need the john.doe ACL anymore, and tried to remove it :

localhost> dam user/john.doe john.doe

But I still have "lkxca" ACLs, which are the owner's implicit ACLs :

localhost> lam user/john.doe
john.doe at example.net lrswipkxtecdan
john.doe lkxca

So I guess after the migration the owner of the mailbox is john.doe, and 
not john.doe at example.net like before the migration. How can I change 
this ? How can I get rid of john.doe's ACLs ?



Thanks,

Chen




More information about the Info-cyrus mailing list