Ibay permissions are updated by the "ibay-modify" event using /etc/e-smith/events/ibay-modify/S15ibay-modify which is a symlink to /etc/e-smith/actions/ibay-modify.
Here is the section of that script that adjusts ibay permissions whenever an ibay is created or updated:
#--------------------------------------------------
# fix ownership of subdirectories
#--------------------------------------------------
#--------------------------------------------------
# Set the group as www if it was admin, since
# while set as admin, the web server no longer has
# access to the ibay HTML directory, and web pages.
#--------------------------------------------------
my %properties = $ibay->props;
$::group = ($properties{'Group'} eq "admin") ? "www" : $properties {'Group'};
# Make sensible defaults
$::owner = undef;
$::fileperm = 0600;
$::dirperm = 0550;
if ($properties {'UserAccess'} eq 'wr-admin-rd-group')
{
$::owner = "admin";
$::fileperm = 0640;
$::dirperm = 02750;
}
elsif ($properties {'UserAccess'} eq 'wr-group-rd-group')
{
$::fileperm = 0660;
$::dirperm = 02770;
}
elsif ($properties {'UserAccess'} eq 'wr-group-rd-everyone')
{
$::fileperm = 0664;
$::dirperm = 02775;
}
else
{
warn("Value of UserAccess bad or unset");
}
sub process
{
if (-l)
{
$File::Find::prune = 1;
}
else
{
esmith::util::chownFile($::owner, $::group, $_);
if (-d)
{
chmod $::dirperm, $_;
}
elsif (-f)
{
# Preserve execute permissions on files
my $experm = (stat($_))[2] & 0111;
$experm |= $::fileperm;
chmod $experm, $_;
}
}
}
From looking at the code, it looks like files with the executable bit set will be left executable, and you can otherwise set 664 on files and 775 on directories by setting UserAccess to 'wr-group-rd-everyone'.
To get every file and folder set to 775 you need to change the ibay UserAccess setting and make every file executable:
cd /home/e-smith/ibays/primary
chmod -R +x html
db accounts setprop Primary UserAccess 'wr-group-rd-everyone'
signal-event ibay-modify Primary
If you really need every file in the ibay to be executable (and not just the folders), you'll have to script something to change the setting for any newly uploaded files.
[edit]
correction - wr-group-rd-everyone sets 664, not 644 as originally stated