소스 코드는 이미 Fedora 15,16 및 Ubuntu 10, 11, 12 및 아무런 문제없이 테스트되었습니다.firebreath npplugin에서 파일 쓰기 권한이 거부되었습니다.
하지만 Fedora 17에서는 파일 쓰기 기능이 작동하지 않았습니다.
1)
int fd;
if (0 < (fd = open("/home/test/temp/opentest.html", O_CREAT | O_EXCL, 0777))) {
write(fd, "test", strlen("test"));
close(fd);
return "Success";
} else {
return "Error";
}
반환 값 : 오류
2)
FILE *pFile;
pFile = fopen("/home/test/temp/opentest.html", "w+");
if (pFile == NULL) {
return "Pointer is NULL";
} else {
fputs("fopen test", pFile);
fclose(pFile);
return "Success";
}
반환 값 :
내가 생각 "포인터가 NULL"디렉토리의 권한하게 오류 및 설정 777 허가. 하지만 아무 것도 변경되지 않았습니다.동일한 코드가 일반 C 프로그램에서 작동했습니다.
왜 firebreath npPlugin에서 작동하지 않았습니까?
권한에 대한 차이점은 무엇입니까?
임시 파일을 만들지 않고 mktemp 기능의 다른 용도가 있습니까? html 파일을 만들고 원하는 파일 이름을 설정해야합니다. – Oz6848
죄송합니다. 실제로 ['mkstemp (3)'] (http://linux.die.net/man/3/mkstemp)와 연결하려고합니다. 임시 파일 일 경우 이름은 중요하지 않으므로 배포본이 예상 한 것과 다른 경우 임시 디렉토리를 하드 코딩하지 않는 것이 좋습니다. –
조언 해 주셔서 감사합니다. 그러나 그것은 단지 임시 파일이 아니며 이름은 자바 스크립트에서 매개 변수로 전달됩니다. 변경해서는 안됩니다. – Oz6848