[Dovecot] Restoring individual messages from a backup into a Maildir setup?

Thomas Harold thomas-news at nybeta.com
Thu Jan 8 23:35:53 EET 2009


Timo Sirainen wrote:
> On Thu, 2009-01-08 at 15:36 -0500, Thomas Harold wrote:
>> We have a user who deleted IMAP folders from his account, so I simply 
>> tried to restore the folder ".FolderName" from our backup.  I checked 
>> that file/folder ownership was the same as the original, but the Dovecot 
>> IMAP server is throwing errors at the client.
>>
>> I've tried copying the individual message files from the "cur" folders 
>> in the backup directory, but Dovecot immediate goes into panic mode and 
>> throws errors at the IMAP client when I do that.  Even if the file is 
>> owned by the currect UID.  I've tried putting those files into "tmp" and 
>> "new" as well, with no luck.
> ..
>> Eh, I figured this out before I even posted.  Restoration is indeed that 
>> simple.  The problem is that the files were not labeled with the proper 
>> SELinux security context after being restored.  When the file was 
>> restored, it was assigned a context of "root:object_r:file_t", which is 
>> not a context that the Dovecot service has permissions to interact with.
> 
> What was it logging? I think it should have clearly said there about
> permission errors.
> 

Oh, all sorts of errors in /var/log/messages:

Jan  8 14:48:59 fvs-pri setroubleshoot: SELinux is preventing access to 
files with the label, file_t. For complete SELinux messages.
  run sealert -l 8e0628b1-d30a-4390-8364-a899e0d1162b

Jan  8 15:25:42 fvs-pri setroubleshoot: SELinux is preventing imap 
(dovecot_t) "getattr" to /var/vmail/domain/username/dovecot.index.log 
(var_t). For complete SELinux messages. run sealert -l 
05bc0c54-dedf-4a0b-a1ee-072b2f46ca88

Jan  8 15:27:16 fvs-pri setroubleshoot: SELinux is preventing imap 
(dovecot_t) "write" to ./cur (var_t). For complete SELinux messages. run 
sealert -l d8ecb97c-4f3e-454a-bc40-97f1c6a3dc0a

Jan  8 15:27:16 fvs-pri setroubleshoot: SELinux is preventing imap 
(dovecot_t) "read write" to ./dovecot.index.log (var_t). For complete 
SELinux messages. run sealert -l 5e4fd55f-401e-4ec1-ab7a-53fd9d4e09c1

Jan  8 15:27:16 fvs-pri setroubleshoot: SELinux is preventing imap 
(dovecot_t) "read write" to ./dovecot-uidlist (var_t). For complete 
SELinux messages. run sealert -l b58a00ab-7182-4a35-af92-3ebf1eb4fbb3

Jan  8 15:27:22 fvs-pri setroubleshoot: SELinux is preventing imap 
(dovecot_t) "read write" to ./dovecot-uidlist (var_t). For complete 
SELinux messages. run sealert -l b58a00ab-7182-4a35-af92-3ebf1eb4fbb3

...

My first inclination was to look at the dovecot-deliver.log file (per 
log_path or info_log_path).  It wasn't until I went looking for SELinux 
errors that I discovered that it was a labeling problem.

Just a standard PEBKAC error.


More information about the dovecot mailing list