Home > Linux -リナックス- > umask値 - 作成されるパーミッションの指定について -

KENスクールはITエンジニア・Web/DTP・オフィスPCの専門パソコンスクール

umask値 - 作成されるパーミッションの指定について -

【こちらの記事は、約5分程でお読みいただけます。】

皆さん、こんにちは!

Linuxでファイルやディレクトリを作成したときに、
自動的に設定されるアクセス許可(パーミッション)が、
「umask値」という値を参照していることは知っている方も多いと思いますが、
実際に「umask値」がどのように処理されているか、ご存知でしょうか?

今回は、この「umask」について、ご紹介します!


多くの参考書やWebサイトでは、
「基準となるパーミッションの値から、umask値を引いた値が、
作成されたファイルやディレクトリのパーミッションに設定される」
と紹介されています。


たとえば、次のような形です。

⇒ 『作成されるパーミッション』 = 【基準のパーミッション】 - 【umask値】

基準のパーミッション 6 6 6
1 1 0 1 1 0 1 1 0
umask 0 2 2
0 0 0 0 1 0 0 1 0
作成されるパーミッション 6 4 4
1 1 0 1 0 0 1 0 0


引き算という計算方法は、人間にとって比較的計算しやすいもので、
ほとんどのケースでは問題は起きません。

しかし、この引き算を使った処理をumask値で行う場合、
umask値自体に「027」のように"7"という値を含んでいると、
作成されるパーミッションの値にマイナスの値が出てしまいます。

では、実際どのような処理をしているかというと、
次のような形になります^^

umask値「027」として例を見てみます。

計算式はこうなります。

⇒  『作成されるパーミッション』 = 【基準のパーミッション】 & 【 (~umask値) 】

基準のパーミッション 6 6 6
1 1 0 1 1 0 1 1 0
umask 0 2 7
0 0 0 0 1 0 1 1 1
(~umask) 7 5 0
1 1 1 1 0 1 0 0 0
作成されるパーミッション 6 4 0
1 1 0 1 0 0 0 0 0


「&」は論理積を表し、「~」はビットの反転を表します。

基準のパーミッションとumask値を反転したものの論理積を求めるということです。
コンピューターにとっては、引き算よりもこちらのほうが
都合がよいのですが、人間にとっては、とても面倒です。

ですので、普段は「引き算」で考えてよいと思いますが、
『本当は違うんだ』ということを知っておくことが、大事ですね^^


--------------------------------------------------------------------------------

Linuxの設定方法を学習したいあなたへ、
プロが教えるKENスクールで、一からチャレンジしませんか??

【ネットワーク Linux講座一覧】
WebサーバやメールサーバではLinuxが50%以上に
シェアを伸ばしている一方で、情報管理者の63.5%が
「Linuxを管理できる人員が不足している」と感じています。

今、この機会にLinuxを覚えておけば、就転職のニーズが
あること間違いなし!ぜひ学習していきましょう!


本日の更新者:
パソコンスクール KENスクール Networkコース
インストラクター 吉川

Home > Linux -リナックス- > umask値 - 作成されるパーミッションの指定について -

Search
Feeds

ページトップへ