OK I think I understand what is happening now.
drakguard checks that acl is enabled by using the 'mount' command, and if it sees acl on any partition it assumes acl is enabled on all partitions.
However in Mageia acl is enabled by default on ext4 by the kernel option CONFIG_EXT4_FS_POSIX_ACL and the the acl option does not show up on ext4 partitions even though it works so drakguard thinks acl is not working when in fact it is.
On my own computer one of my partitions is ext3, so the mount command shows acl is present on the ext3 partition and drakguard is satisfied.
As a temporary workaround edit /usr/sbin/drakguard around line 299 to disable the test for acl
- Code: Select all
if ( (grep {$_ && !/^#|acl/} chomp_(cat_($fstab_file)) && grep {$_ && m/ext/} chomp_(cat_($fstab_file)))) {
$acl_active = 1;
$in->ask_yesorno(N("Warning"), N("The support for Access Control Lists must be enabled in order to use the Block programs feature.\nDo you want to enable it now?", $acl_active = 1)) or $acl_active = 0;
if ($acl_active) {
my @ext_lines = grep {$_ && m/ext/} chomp_(cat_($fstab_file));
foreach my $line (@ext_lines){
my ($id, $directory, $flag, $number) = $line=~ /^(.+)\s(.+)\s(ext(\w)\s(\w*))\s(.*)/ or next;
$line =~ s/ext(\w)\s(\w*)\s/$flag,acl /g;
subst_config_line($fstab_file,"$line\n"); #adds ,acl in the fstab file in the first run
# remount filesystem with acl parameter
}
$acl_active = 0;
$in->ask_warn(N("Warning"), N("The support for Access Control Lists was enabled.") . N("It is necessary to restart your computer to activate it."));
}
}
else {
# my @mount = `mount`;
# if (grep (/,acl/, @mount)) {
$acl_active = 1;
# } else {
# $in->ask_warn(N("Warning"), N("The support for Access Control Lists, required by the Block programs feature, is enabled, but not yet activated.") . N("It is #necessary to restart your computer to activate it."), $acl_active = 0);}
}