2013-03-18 4 views
1

사용자는이 embedded-linux 루트 프로세스로 만든 파일 및/또는 폴더를 삭제할 수 있어야합니다. 그러나이 vala 소스 DirUtils.create_with_parents(folder, 0666)은 root가 소유 한 0644 개의 폴더를 생성합니다. 생성 된 C 코드는 g_mkdir_with_parents (folder, 0666)이고 파일 시스템은 ext2입니다.vala를 사용하여 666 권한으로 폴더를 만드는 방법은 무엇입니까?

chmod 0666 [folder]은 대상에 연결된 콘솔을 사용할 때 예상대로 작동하지만 일반적인 연결은 콘솔을 사용하지 않으며 루트가 아닙니다 (일반적인 연결은 Linux에 내장됩니다). 발라 소스에 system("chmod 0666 folder") 추가

는 가능한 해결 방법으로 시도했지만 666

  • DirUtils.create_with_parents(folder, 0666) 올바른 사용이되는 644에서 폴더의 권한을 변경하지 않는 이유는 무엇입니까?
  • 그렇다면 다른 해결 방법을 시도해야합니까?

답변

1

umask을 설정해야합니다. 새 파일에 대한 사용 권한이 기본적으로 제한되어 있습니다. GNU 라이브러리 호출 umask()이 있습니다.

+0

Perfect. 대단히 감사합니다! – jacknad

관련 문제