MySQL의 load_file
명령을 통해 파일을 읽으려고합니다. 그러나 반환 된 결과는 Null이며 쿼리에 오류가 발생하지 않았습니다.쿼리가 만들어 질 때 MySQL에서 어떤 UID를 사용합니까?
읽으려고하는 파일이 www-data
이므로, www-data
이 아닌 경우 서버에 내 신원이 무엇인지 궁금합니다.
load_file
을 사용하여 /etc/passwd
파일을 읽을 수있어 꽤 이상합니다.
MySQL의 load_file
명령을 통해 파일을 읽으려고합니다. 그러나 반환 된 결과는 Null이며 쿼리에 오류가 발생하지 않았습니다.쿼리가 만들어 질 때 MySQL에서 어떤 UID를 사용합니까?
읽으려고하는 파일이 www-data
이므로, www-data
이 아닌 경우 서버에 내 신원이 무엇인지 궁금합니다.
load_file
을 사용하여 /etc/passwd
파일을 읽을 수있어 꽤 이상합니다.
UID는 중요하지 않습니다. LOAD_FILE
함수는 세계에서 읽을 수있는 파일 만 읽습니다. documentation에서 :
파일은 모든 그 크기보다 작은
max_allowed_packet
바이트 읽을 해야합니다.secure_file_priv
시스템 변수가 비어 있지 않은 디렉토리 이름으로 설정된 경우,로드 될 파일은 해당 디렉토리에 있어야합니다.
따라서 www-data
사용자 만 읽을 수있는 파일을 읽을 수는 없습니다. 누구나 파일을 읽을 수 있기 때문에 /etc/passwd
과 함께 사용할 수 있습니다.
그건 깨끗한 대답이고 내 문제를 이해하게했습니다. 감사. – Addict
MySQL 쿼리는 MySQL과 동일한 Linux 사용자 이름/사용자 그룹 아래에 새 스레드를 생성해야합니다. –
'ls -l/etc/passwd'는 무엇을 출력합니까? –
권한 사용 방법에 다소 혼란스러워합니다. "... www-data protected"는 아무 의미도 없습니다. DBMS는 www- 데이터로 실행되어서는 안되며 www- 데이터로 시스템에 로그인해서는 안됩니다. 여기에서 시작하는 것을 고려해보십시오 : https://www.tutorialspun.com/unix/unix-file-permission.htm – symcbean