GA

2015/03/10

MySQL 5.7.6は--secure-file-privを設定してないとWarningを吐くようになった

いいことだと思います :)

MySQL :: MySQL 5.7 Reference Manual :: 5.1.3 Server Command Options


2015-02-17T07:09:49.446585Z 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict locatio
n of generated files. Consider setting it to a valid, non-empty path.

ちなみにこのオプション、5.0.38からあるけど知名度が低い。いい加減、自分たちが何かアクションしないと誰も設定してくれないことに気付いたのかしら。。

MySQL :: MySQL 5.0 Reference Manual :: 5.1.3 Server Command Options


( ´-`).oO(前に どっか で書いたと思ってたけど全く触れてなかった。。

--secure-file-privの効能はFile_priv持ちのユーザーの操作を制限できて、


mysql56> SELECT @@global.secure_file_priv;
+---------------------------+
| @@global.secure_file_priv |
+---------------------------+
| NULL                      |
+---------------------------+
1 row in set (0.00 sec)

mysql56> SELECT LOAD_FILE('/etc/hosts');
..

mysql56> SELECT 1 INTO OUTFILE '/home/mysql/test.txt';
Query OK, 1 row affected (0.00 sec)

未設定の状態でFile_privがあると好き勝手できるのが、


mysql56> SELECT @@global.secure_file_priv;
+--------------------+
| @@secure_file_priv |
+--------------------+
| /tmp/              |
+--------------------+
1 row in set (0.00 sec)

mysql56> SELECT 1 INTO OUTFILE '/home/mysql/test.txt';
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

mysql56> SELECT LOAD_FILE('/etc/hosts');
+-------------------------+
| LOAD_FILE('/etc/hosts') |
+-------------------------+
| NULL                    |
+-------------------------+
1 row in set (0.02 sec)

/tmp以外ではFile_privが制限されるような感じ。
これいいと思うんですけどねー。流行らない。なんでだ。

途中からMySQL 5.7.6関係なくなった。なんでだ。


【2015/03/20 12:31】
ワーニング吐くだけじゃなくて、rpmとかの場合は暗黙のデフォルトが設定されるようになってた。
日々の覚書: MySQL 5.7でLOAD DATA INFILEに失敗する時に疑うこと(--secure-file-privの暗黙のデフォルトが少し変わった)

1 件のコメント :