I googled for the error but cannot find a proper solution. Right now, /root/.spamassassin is a symlink to /var/amavis/.spamassassin; the files therein (i.e. the bayes_* files) are chown'd vscan:vscan. They are updated when SA *itself* notices spam above a certain threshold, rejects those messages, and auto-learns their spammy existence.
How to get 'sa-learn --spam' from webmail to co-exist peacefully with my current setup?
I assume you've got some bayes_path statement in your local.cf forcing SA to use that path. Note: if it's set to /root/* I'd suggest changing it to /var/amavis/*, unless you want to make root's homedir world-readable.
when doing a single global bayes DB, add the following config option to SA:
bayes_file_mode 777
Note that it's a mask and it's used in making directories, so it should be 777 not 666. SA won't make the bayes DB executable, but it will add the x bit to temp directories.
From there, be sure the directory is world rwx and the directories above are at least world r_x.
Lastly, chmod 666 the bayes_* files.
Note: this process will cause your bayes DB to change ownership randomly. It shouldn't matter as long as the file remains world rw, which it should with the bayes_file_mode setting in place.