Permissions
ACL 遮罩未按預期工作
如果我複制具有以下基本 ACL 的文件:
u::rw-,g::r--,o::r--
進入具有預設 ACL 的目錄:
u::rwx,g::r-x,g:users:rwx,m::rwx,o::r-x
我獲得了一個帶有遮罩的文件
m::r--
。我本來期望兩個組條目(即m::rwx
)權限的聯合。為什麼會這樣?它是否取決於創建文件時
mode
使用的參數cp
?
(我假設您正在使用 Linux,ACL 的工作方式因 unix 變體而異。)
cp
複製文件時沒有做任何特別的事情;它以原始文件的模式創建文件,由目錄的遮罩屏蔽。由於cp
不對文件的遮罩做任何事情,因此遮罩最終成為目錄遮罩 ( ) 和文件的組權限 ( ) 的交集。rwx``r
open("dir/file", O_WRONLY|O_CREAT|O_EXCL, 0644)