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)をマスク&0777に設定し(つまり、マスクのファイル許可ビットのみを使用)、マスクの以前の値を返します。