はじめに
ネット上にはumaskコマンドやマスク値の紹介が色々ありますが、
論理和、論理積、ビットの反転など難しく感じたため記事を投稿します。
umaskコマンドとは
ファイルやディレクトリを新規作成する際に、
どのようなアクセス権(パーミッション)をマスクするかを決めます。
各ユーザごとにマスクすることができます。
ちなみに、umaskはuser maskの略称です。
マスクとは
そもそも、マスクとは何かというと「覆い隠す」という意味です。
私達が身につけているマスクも口元を「覆い隠して」いますよね。
umaskとマスク値の仕組み
umaskコマンドとマスク値の関係をみていきます。
元々は、ファイルやディレクトリを新規作成する際は、全権限(777)が付与されます。
そこに、マスク値を引き算することで、実際に付与されるアクセス権が決まります。
. 777 ←新規ファイルや新規ディレクトリを作成するときのアクセス権
-) 022 ←umaskコマンド実行結果(マスク値)
ーーーーーーーー
. 755 ←umask -Sの実行結果・・・※
ファイルを作成するときは、※のアクセス権からx権が剥奪されて
644(rw-r--r--)になります。
実機操作
参考
umaksコマンドを実行したときに出力される、千の位の「0」は特殊なアクセス権を表します。
- 4:SUID
- 2:SGID
- 1:スティッキービット
- 0:特殊なアクセス権なし
まとめ
ファイルやディレクトリを新規作成する時のアクセス権を変更したい場合は、umaskコマンドを使いましょう。
ファイル作成時はX権が剥奪されるため、プログラムファイルとして実行したいときは
chmodコマンドでX権を付与しましょう。
早くマスクの流通がもとに戻りますように・・・