Looks like its a url redirect issue of some kind. On a multisite setup, the plugin can only be network activated. It really shouldn’t, probably best to only allow local activation on the main site. As such, the settings page is on the Network settings, BuddyPress section. A fine place for it, but the URL’s get screwy.
On MU, the url for the settings page is https://domain.com/wp-admin/network/admin.php?page=bp-msgat-settings
When you attempt to save the settings, it attempts to go to the following URL https://domain.com/wp-admin/admin.php?page=bp-msgat-settings – which, of course, doesn’t exist and is the reason for getting the no permissions error.
There is a quick fix, but it may break single-site installations. Go into /wp-content/plugins/buddypress-message-attachment/includes/admin.php
Fine line 85 as:
<form action="<?php echo site_url() . '/wp-admin/admin.php?page=bp-msgat-settings' ?>" name="msgat-settings-form" id="msgat-settings-form" method="post">
And change it to:
<form action="<?php echo site_url() . '/wp-admin/network/admin.php?page=bp-msgat-settings' ?>" name="msgat-settings-form" id="msgat-settings-form" method="post">
All I did was change the output URL to the network admin and it allowed the settings to be saved. No more error. Keep in mind, this fix is MU specific, making the change on a single-site install will break and cause the error message. What really needs to be done is a conditional statement that checks for network activation and then outputs the appropriate URL.