umask(2) - wariua/manpages-ko GitHub Wiki

NAME

umask - ํŒŒ์ผ ๋ชจ๋“œ ์ƒ์„ฑ ๋งˆ์Šคํฌ ์„ค์ •ํ•˜๊ธฐ

SYNOPSIS

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

mode_t umask(mode_t mask);

DESCRIPTION

umask()๋Š” ํ˜ธ์ถœ ํ”„๋กœ์„ธ์Šค์˜ ํŒŒ์ผ ๋ชจ๋“œ ์ƒ์„ฑ ๋งˆ์Šคํฌ(umask)๋ฅผ mask & 0777๋กœ ์„ค์ •ํ•˜๊ณ  (์ฆ‰ mask์˜ ํŒŒ์ผ ๊ถŒํ•œ ๋น„ํŠธ๋“ค๋งŒ ์‚ฌ์šฉ) ์ด์ „ ๋งˆ์Šคํฌ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” open(2), mkdir(2) ๋“ฑ์˜ ์‹œ์Šคํ…œ ํ˜ธ์ถœ์—์„œ umask๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜๋Š” ํŒŒ์ผ ๋‚ด์ง€ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ค„ ๊ถŒํ•œ์„ ๋ณ€๊ฒฝํ•œ๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ๋Š” open(2) ๋ฐ mkdir(2)์˜ mode ์ธ์ž์—์„œ umask์— ์žˆ๋Š” ๊ถŒํ•œ๋“ค์„ ๋ˆ๋‹ค.

๋ฐ˜๋ฉด ๋ถ€๋ชจ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๊ธฐ๋ณธ ACL(acl(5) ์ฐธ๊ณ )์ด ์žˆ์œผ๋ฉด umask๋ฅผ ๋ฌด์‹œํ•˜๊ณ , ๊ทธ ๊ธฐ๋ณธ ACL์„ ๋ฌผ๋ ค๋ฐ›๊ณ , ๋ฌผ๋ ค๋ฐ›์€ ACL์— ๋”ฐ๋ผ ๊ถŒํ•œ ๋น„ํŠธ๋“ค์„ ์„ค์ •ํ•˜๊ณ , mode ์ธ์ž์— ๋น ์ ธ ์žˆ๋Š” ๊ถŒํ•œ ๋น„ํŠธ๋“ค์„ ๋ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ ๊ธฐ๋ณธ ACL์ด umask 022์™€ ๋™๋“ฑํ•˜๋‹ค.

u::rwx,g::r-x,o::r-x

์ด ๊ธฐ๋ณธ ACL์˜ ํšจ๊ณผ์— mode ์ธ์ž 0666(rw-rw-rw-)์„ ํ•ฉ์ณ์„œ ๋‚˜์˜ค๋Š” ํŒŒ์ผ ๊ถŒํ•œ์€ 0644(rw-r--r--)๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.

mask ์ง€์ •์— ์‚ฌ์šฉํ•ด์•ผ ํ•  ์ƒ์ˆ˜๋“ค์„ inode(7)์—์„œ ๊ธฐ์ˆ ํ•œ๋‹ค.

ํ”„๋กœ์„ธ์Šค umask์˜ ์ผ๋ฐ˜์ ์ธ ๊ธฐ๋ณธ๊ฐ’์€ S_IWGRP | S_IWOTH(8์ง„์ˆ˜๋กœ 022)์ด๋‹ค. open(2)์˜ mode ์ธ์ž๋ฅผ ๋‹ค์Œ(8์ง„์ˆ˜๋กœ 0666)์œผ๋กœ ์ง€์ •ํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ์—

S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH

์ƒˆ ํŒŒ์ผ ์ƒ์„ฑ ์‹œ ๊ฒฐ๊ณผ ํŒŒ์ผ์˜ ๊ถŒํ•œ์€ ๋‹ค์Œ์ด ๋œ๋‹ค.

S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH

(0666 & ~022 = 0644, ์ฆ‰ rw-r--r--.)

RETURN VALUE

์ด ์‹œ์Šคํ…œ ํ˜ธ์ถœ์€ ํ•ญ์ƒ ์„ฑ๊ณตํ•˜๋ฉฐ ์ด์ „ ๋งˆ์Šคํฌ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

CONFORMING TO

POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

NOTES

fork(2)๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋œ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋Š” ๋ถ€๋ชจ์˜ umask๋ฅผ ๋ฌผ๋ ค๋ฐ›๋Š”๋‹ค. execve(2)์—์„œ umask๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š๊ณ  ๋†”๋‘”๋‹ค.

umask()๋ฅผ ์‚ฌ์šฉํ•ด ํ”„๋กœ์„ธ์Šค์˜ umask๋ฅผ ๋ณ€๊ฒฝ ์—†์ด ๊ฐ€์ ธ์˜ค๋Š” ๊ฑด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋ž˜์„œ umask๋ฅผ ๋ณต์›ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์‹œ umask() ํ˜ธ์ถœ์ด ํ•„์š”ํ•ด์ง„๋‹ค. ์ด ๋‘ ๋‹จ๊ณ„์˜ ๋น„์›์ž์„ฑ์ด ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ฒฝ์Ÿ ๊ฐ€๋Šฅ์„ฑ์„ ๋งŒ๋“ ๋‹ค.

๋ฆฌ๋ˆ…์Šค 4.7๋ถ€ํ„ฐ /proc/[pid]/status์˜ Umask ํ•„๋“œ๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์˜ umask๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. /proc/self/status์˜ ์ด ํ•„๋“œ๋ฅผ ํ™•์ธํ•˜๋ฉด ํ”„๋กœ์„ธ์Šค์—์„œ ์ž๊ธฐ umask๋ฅผ ๋ณ€๊ฒฝ ์—†์ด ์–ป์–ด ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

umask ์„ค์ •์€ ํ”„๋กœ์„ธ์Šค์—์„œ ๋งŒ๋“œ๋Š” POSIX IPC ๊ฐ์ฒด(mq_open(3), sem_open(3), shm_open(3)), FIFO(mkfifo(3)), ์œ ๋‹‰์Šค ๋„๋ฉ”์ธ ์†Œ์ผ“(unix(7))์— ํ• ๋‹น๋˜๋Š” ๊ถŒํ•œ์—๋„ ์˜ํ–ฅ์„ ์ค€๋‹ค. umask๊ฐ€ ํ”„๋กœ์„ธ์Šค์—์„œ (msgget(2), semget(2), shmget(2)์œผ๋กœ) ๋งŒ๋“œ๋Š” ์‹œ์Šคํ…œ V IPC ๊ฐ์ฒด์— ํ• ๋‹น๋˜๋Š” ๊ถŒํ•œ์—๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.

SEE ALSO

chmod(2), mkdir(2), open(2), stat(2), acl(5)


2017-09-15

โš ๏ธ **GitHub.com Fallback** โš ๏ธ