Bedankt Roland.
Het antwoord op mijn vraag is dus "AppArmor".
Van Wikipedia:
Met AppArmor kan de systeembeheerder aan elk programma een beveiligingsprofiel koppelen dat de mogelijkheden van dat programma beperkt. Het vormt een aanvulling op het traditionele Unix-model voor discretionaire toegangscontrole (DAC) door verplichte toegangscontrole (MAC) te bieden.
Sinds Ubuntu Hardy bevat het MySQL 5.0-serverpakket ook een AppArmor-profielbestand (/etc/apparmor.d/usr.sbin.mysqld) dat de MySQL-serverfunctionaliteit beperkt, zoals het aanroepen van een UDF om opdrachten uit te voeren.
Dus, om MySQL Linux-commando's te laten uitvoeren, moet ik het beveiligingsniveau voor MySql in AppArmor wijzigen.
[[email protected] ~]# aa-complain /usr/sbin/mysqld
Om de status van AppArmor te bekijken:
[[email protected] ~]# aa-status
Met deze configuratie kan ik sys_eval en sys_exec uitvoeren. Maar dat is nog steeds beperkt tot de mysql-map. Ik kan dus vanuit geen enkele map een bestand maken of een script uitvoeren.
De oplossing is dus om permissies toe te voegen aan apparmor voor mysql om toegang te krijgen tot de nieuwe gegevensmappen.
sudo vi /etc/apparmor.d/usr.sbin.mysqld
Toevoegen:
/newdir/ r,
/newdir/** rwk,
Start de servers opnieuw:
sudo /etc/init.d/apparmor restart
sudo /etc/init.d/mysql restart
Als dat nog steeds niet werkt, controleer dan de nix-machtigingen om er zeker van te zijn dat mysql recursief eigenaar en groep is voor de nieuwe map.
chown -R mysql:mysql “new datadir path”
Ik hoop dat dit iemand kan helpen.
Abid