Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>
#Title umask(2)

Contents

umask(2)

1장. umask(2)

차례
1.1. 사용법
1.2. 설명
1.3. 반환값
1.4. 예제

파일생성시 사용될 mask를 설정한다.


1.1. 사용법

#include <sys/types.h>
#include <sys/stat.h>

mode_t umask(mode_t mask);
		


1.2. 설명

umask는 umask를 mask & 0777로 설정한다.

umask를 통해서 mask를 만들면 이후 open(2)등을 통해서 생성되는 모든 파일에 적용된다. 또한 umask의 값은 open(2)에 의해 생성되는 권한에 우선한다. 예를 들어 umask 값을 022로 했을 경우 mode를 066으로 했다면 0666 & -022 = 0644 = rw-r--r-- 권한을 가지는 파일을 만든다.

0666 & -022 = 0644 = rw-r--r--
		


1.3. 반환값

이 함수는 언제나 성공하며 mask값을 리턴한다.


1.4. 예제

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>

int main()
{
    int fd;

    umask(022);
    fd = open("test.txt", O_CREAT|O_WRONLY, 0666);
    close(fd);
}
		
위의 파일을 실행시키면 test.txt라는 파일이 생성되는데 권한을 보면 0666이 아닌 0644으로 되어있음을 알 수 있다.

원본문서

  1. [wiki:docbook_mask(2)]