์ฐ์ mask๋ ๋ฌด์์ผ๊น?
์ ํต์ ์ธ Permission์ผ๋ก ๊ถํ ๊ด๋ฆฌํ ๋์ umask๊ฐ ์๋ค.
umask ๋ ?
ํ์ผ์ ์์ฑํ ๋ ์ด๊ธฐ์ ํผ๋ฏธ์ ์ ๊ฒฐ์ ํด์ฃผ๊ธฐ ์ํด ์ฌ์ฉํ๋ mask๊ฐ์ด๋ค. ์ฌ๊ธฐ์ mask๋ผ๋ ๊ฒ์ ๊ฐ๋ฆฐ๋ค๋ ์๋ฏธ์ด๋ค. ํ์ผ์ ์ง๋์น๊ฒ ๋ง์ ๊ถํ๋ค์ด ๋ถ์ฌ๋ ๊ฒฝ์ฐ์ ๋ณด์์ ์ํํ๋ค. ๋ฐ๋ผ์ umask๊ฐ์ ํตํด์ ์ ์ ํ ๊ถํ์ ์ค์ ํ ์ ์๋๋ก ๋์์ฃผ๋ ์ญํ ์ ํ๋ค. ์ฆ, ํ์ํ์ง ์์ ๊ถํ๋ค์ ๋นผ์ฃผ๋ ์ญํ ์ ํ๋ค.
-> ๊ทธ๋ฌ๋ POSIX ACL์์์ mask๋ umask์ ์คํ๋ ค ๋ฐ๋ ๊ฐ๋ ์ผ๋ก ์ดํดํ ์ ์๋ค!!
POSIX ACL์์์ mask ๋ ?
posix acl๋ฅผ ๊ฐ์ง๊ณ ์ต๋ํ ๋ถ์ฌํ ์ ์๋ ๊ถํ์ ๋ํ๋ด๋ ์๋ฏธ์ mask๊ฐ์ด๋ค.
setfacl ๋ช ๋ น์ด๋ก POSIX ACL๊ฐ์ ์ค์ ํ๋ ๋ช ๋ น์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
setfacl -m ACL_ENTRY FILE
์์) setfacl -m u:staff01:r userfilea
ls -l ๋ช ๋ น์ด๋ก ํ์ธํ ๊ฒฐ๊ณผ + ๊ฐ๋ง์ง๋ง์ผ๋ก ํ์๋๊ฒ์ ํ์ธํ ์ ์๊ณ ์ด๋ POSIX ACL๋ฅผ ์ฌ์ฉํ๋ค๋ ์๋ฏธ์ด๋ค
rw-rw-r--+ 1 user user 0 1์ 4 09:48 userfilea
getfacl ๋ช ๋ น์ด๋ฅผ ํตํด userfilea์ POSIX ACL๋ฅผ ํ์ธํ ์ ์๋ค.
[user@localhost work]$ getfacl userfilea
# file: userfilea
# owner: user
# group: user
user::rw- user:staff01:r--
group::rw-
mask::rw-
other::r--
์ฌ๊ธฐ์ mask๋ผ๋ ํญ๋ชฉ์ด ์ถ๊ฐ๋ ๊ฒ์ ๋ณผ์ ์๋๋ฐ, ์ด๊ฒ์ด ๋ฐ๋ก POSIX ACL mask๊ฐ์ด๋ค.
์ด์ด์ staff02์๊ฒ userfilea์ ๋ํ ๊ถํ์ rwx๋ก ๋ถ์ฌํ๋ค.
[user@localhost work]$ setfacl -m u:staff02:rwx userfilea [user@localhost work]$ getfacl userfilea
#file: userfilea
#owner: user
#group: user
user::rw- user:staff01:r--
user:staff02:rwx
group::rw-
mask::rwx
other::r--
mask๊ฐ์ด ์๋์ผ๋ก ๊ณ์ฐ์ด ๋์ด์ ๋ชจ์๋ ๊ถํ์ด ์ถ๊ฐ๋์๋ค. ์๋๋ mask๊ฐ์ด rw์๋๋ฐ, staff02์๊ฒ ๊ถํ์ rwx๋ฅผ ๋ถ์ฌํจ์ผ๋ก์จ, ์ต๋๋ก ๋ถ์ฌํ ์ ์๋ ๊ถํ์ด rwx๋ผ๋ ์๋ฏธ์ด๋ค.
POSIX ACL mask ๊ฐ ์ค์ ํ๊ธฐ
setfacl -m m::๊ถํ FILE_NAME
์์) setfacl -m m::rw userfilea
userfilea์ mask๊ฐ์ rw๋ก ์ฃผ์๋ค.
์ฐ์ , mask;:rw- ๋ผ๊ณ mask๊ฐ์ด rwx์์ rw-๋ก ๋ฐ๋๊ฒ์ ํ์ธ๊ฐ๋ฅํ๋ค.
mask๋ ์ต๋ ์ ๊ทผ๊ถํ์ด๋ผ๋ ์๋ฏธ์ด๋ฉฐ, mask๊ฐ์ rw๋ผ๊ณ ์คฌ๋ค. ์ด๋ฏธ staff02์๊ฒ rwx๋ฅผ ๋ถ์ฌํ๋๋ผ๋ mask๊ฐ์ ์ํ์ฌ ์ต๋๋ก ์ ์ฉ๊ฐ๋ฅํ ๊ถํ์ rw ์ด๋ค. user:staff02 ์์ effective:rw- ๊ฐ์ ๋ณด๋ฉด ์ ์ ์๋ค.
#effective:rw- ์์, effective ๊ฐ์ permission ๊ฐ๊ณผ mask๊ฐ์ ๋ํ & ์ฐ์ฐ์ ๊ฒฐ๊ณผ์ด๋ค.
์์ ์์์ staff02์๊ฒ ๋ถ์ฌ๋ ๊ถํ์ rwx, mask๊ฐ์ rw์ด๋ฏ๋ก & (๋
ผ๋ฆฌ ๊ณฑ ์ฐ์ฐ์) ์ฐ์ฐ์ ํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
perm rwx
& mask rw-
๊ฒฐ๊ณผ rw-
์ฝ๊ฒ ์๊ฐํ๋ฉด - ๋ ๊ฐ์ด ์๋ค๋ ์๋ฏธ์ด๋ฏ๋ก False ๊ฐ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๊ณ , r, w, x๋ผ๋๊ฒ์ ๊ฐ์ด ์๋ค๋ ์๋ฏธ์ด๋ฏ๋ก True๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
setfacl ์ต์
setfacl -n
-n ์ต์ ์ ์ฃผ๋ฉด mask๊ฐ์ ๋ค์ ๊ณ์ฐํ์ง ์๋๋ก ํ ์ ์๋ค.
์์) setfacl -n -m g:adm:rwx userfilea
mask๊ฐ์ด ์๋ rw-์๊ณ , adm์ด๋ผ๋ ๊ทธ๋ฃน์ฌ์ฉ์์๊ฒ userfilea์ ๋ํด rwx๊ถํ์ ๋ถ์ฌํ์ง๋ง, -n์ต์ ์ ์ํด์ mask๊ฐ์ด ๋ณ๊ฒฝ๋์ง ์์๋ค.
setfacl -R
์ด๋ค ๋๋ ํ ๋ฆฌ ์์ ์๋ ํ์ผ๋ค์๊ฒ ์ผ๊ด์ ์ผ๋ก ๊ถํ์ ๋ถ์ฌ
POSIX ACL Permission
r - Read ์ฝ๊ธฐ ๊ถํ
w - Write ์ฐ๊ธฐ ๊ถํ
x - Execute ์คํ ๊ถํ
X - ์คํ ๊ถํ์ ์ ํ์ ์ผ๋ก ๋ถ์ฌ ( ํ์ผ์ ์คํ๊ถํ์ด ์๋ค๋ฉด ๋ถ์ฌํ์ง ์๋๋ค. )
์์) setfacl -R -m u:staff01:rwX dir2
'Cloud Engineering > Linux ๐ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Linux] crontab ๋ช ๋ น์ด๋ก ์ฃผ๊ธฐ์ ์ธ ์์ ์ค์ผ์ค๋ง (0) | 2023.01.04 |
---|---|
[Linux] Default POSIX ACL ENTRY (๊ธฐ๋ณธ ACL) (0) | 2023.01.04 |
[Linux] ์ฌ์ฉ์ ํจ์ค์๋๋ฅผ ๊ด๋ฆฌํ๋ ๋ช ๋ น์ด : chage (0) | 2023.01.04 |
[Linux] su ๋ช ๋ น์ด๋ก ์ฌ์ฉ์ ์ ํํ๊ธฐ & sudo ๋ช ๋ น์ด (0) | 2023.01.03 |
[Linux] POSIX ACL ์ค์ ํ๊ธฐ - ์ผ๋ฐ ACL ์ค์ (0) | 2023.01.03 |