Назад | Перейти на главную страницу

mysql UDF: fopen = в разрешении отказано

это вопрос Я уже просил на ТАК но мне интересно, может ли это быть проблемой системного администратора.

Я пытаюсь создать функция mysql UDF эта функция вызывает "fopen / fclose" для чтения плоского файла, хранящегося в /data. Но используя errno (да, я знаю, что это плохо в программе MT ...), я вижу, что функция не может открыть мой файл:

"Permission denied"

Я пытался сделать

chmod -R 755 /data (as well as 777, chown -R mysql:mysql /data etc...)

но это ничего не изменило.

когда я скопировал плоский файл в / tmp: ОК, мой UDF смог «открыть» файл. Я озадачен.

на данный момент у меня есть:

drwxrwxrwx 4 pierre root 4096 2010-05-26 16:51 /data
drwxrwxrwx 3 pierre root 4096 2010-05-18 09:41 /data/dir1
drwxrwxrwx 3 pierre root 4096 2010-05-18 09:41 /data/dir1/dir2
drwxrwxrwx 4 pierre root 4096 2010-05-18 10:27 /data/dir1/dir2/dir3
-rw-r--r-- 1 pierre root 50685268 2005-12-10 00:01 /data/dir1/dir2/dir3/myfile.txt

Любая идея ?

mysqld был защищен Apparmor.

AppArmor представляет собой один из нескольких возможных подходов к проблеме ограничения действий, которые может выполнять установленное программное обеспечение.

я добавил

/data/** r,

в конце

/etc/apparmor.d/usr.sbin.mysqld

apparmor был перезапущен:

/etc/init.d/apparmor restart

и теперь мой UDF отлично работает! :-)