我正在尝试通过MySQL的load_file
命令读取文件。但返回的结果是Null,我的查询中没有出现错误。
由于我正在尝试阅读的文件受www-data
保护,我想知道我的身份在服务器中是什么,如果它不是www-data
。
这很奇怪,因为我可以使用load_file
来阅读/etc/passwd
文件。
答案 0 :(得分:2)
UID并不重要。 LOAD_FILE
函数只会读取世界可读的文件。来自documentation:
该文件必须所有都可读,其大小必须小于
max_allowed_packet
个字节。如果secure_file_priv
系统变量设置为非空目录名,则要加载的文件必须位于该目录中。
因此,您不能使用它来读取只有www-data
用户可读的文件。您可以将其与/etc/passwd
一起使用,因为任何人都可以阅读该文件。