我在 Windows 上创建了 zip 文件,我想在 Linux 上解压它。对于提取的文件,我希望拥有权限 644。但是,提取文件以 770 结尾。
我努力了
umask 644
unzip update.zip -d .
但没有效果,解压出来的文件权限还是770。
答案1
你的umask
模式不对。
# umask 644
# touch test1
# stat -c "%a %n" test1
22 test1
要获取结果文件644
,您需要设置umask 0022
.
# umask 0022
# touch test2
# stat -c "%a %n" test2
644 test2
从man umask
:
umask() 将调用进程的文件模式创建掩码(umask)设置为 mask & 0777(即仅使用 mask 的文件权限位),并返回掩码的先前值。