0
open()을 사용하여 파일을 만들고 싶습니다.정의 된 경우에도 쓰기 권한 없음
이 출력은 파일 읽기와 "테스트"생성, 이름을 지정해야합니다int fd = open("testing", O_EXCL | O_CREAT, S_IRWXU | S_IRWXG | S_IRWXO);
if(fd == -1){
perror("Error");
return 1; }
, 쓰기 및 사용자, 그룹 및 다른 사람에 대한 실행 권한을 : 여기
는 내 코드의 일부입니다.하지만 내가 할 것은이 권한 "테스트"라는 이름의 파일입니다 : 그룹
-rwxr-xr-x
쓰기 권한 및 기타 누락되었습니다.
는 또한S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IWGRP | S_IXGRP | S_IROTH | S_IWOTH |S_IXOTH)
를 사용하여 시도하지만 난 여전히 같은 결과를 얻을.
이 문제를 어떻게 해결할 수 있습니까?
그래서 파일을 생성하는 동시에 모드를 설정하지 않는 것이 좋습니다. – Chin
일반적으로 umask를 존중해야하며,'open()'호출에서 모드를 설정할 수 있습니다. 특정'open()'호출을 위해 umask를 오버라이드하고 싶다면 별도의'fchmod()'호출을 사용하는 것이 더 낫습니다. – ninjalj
설명을 주셔서 감사합니다, @ ninjalj. – Chin