はてなあたまさんのブログです。

WEB開発勉強中でーす

1-2.Linuxのセキュリティー/権限(umaskについて)

**1-2.Linuxのセキュリティー

   権限(umaskについて)


umaskとはコマンドの1つでdefaultの権限が設定されているところです。

default値は「0022」で、

Linuxコマンドプロンプトに「umask」を打つと

STDOUT としてdefault値が表示されます。


 0022とは

0:sticky bitで0の場合は何も設定されてません。

1は設定されている。

4は SUIDでset user idですが、この値が設定されます。

0: octal mode → defaultファイル権限決定

2: octal mode → defaultファイル権限決定

2: octal mode → defaultファイル権限決定

*ファイル‘の権限を計算する時には

ファイル権限:666 フォルダ―権限:777

ex) 0022 (2桁目からdefault umask設定)

touch sds -> 666 - 022 ,

octal modeでdefaultファイル権限 : 644 , rw-r--r--

0026 ->666-026 640 rw-r-----

0026->777-026 751 rwxr-x--x

 *ファイル権限

(1) octal mode

-> read/write/exeモード

ex)

     r--  4

     -w- 2

     --x  1

     rwx 7

     rw-  6

     r--  100        ->   2^2 x 1 + 2^1 x 0 + 2^0 x 0 =  4

     rwx -> 111 -> 7

     r-x  101   ->   5 

(2)symbolic mode

->3つで分けて分析してみます。

まず、例文のコマンドをもとに説明していきます。

ex)

コマンド : cdmod o+r newfile.txt


まず、symbolicモードの1番目のコマンドの説明から

させていただきます。

ここでsymbolicモードコマンドというと 「o+r」の部分ですね!!

o (others): 誰のためのファイルモードなのか。

-> 一応、 ファイルモードの種類は4つがあります。

 ****u(user)

 ****g(group)

 ****o(others=外部ユーザー)

 ****a(all)

ここで  a(all)と o(others)の違いは・・・

まず、o(others)からいきましょう!

 chmod o+x (2番目がモードパラメータ) test.txt

 ->test.txtに対して実行権限が追加されると意味です。

Octalモードだったら rw-rw-rw- => rw-rw-rwx 感じですね!

次は a(all) です。

chmod (ここは略したオプションを追加可能) a+x (2番目がモードパラメータ) test.txt

☆ 略したオプション : -R(recursive、複数の場合使用)などがあります!☆

Octalモードだったら rw-rw-rw- => rwx-rwx-rwx 感じですね!

つまり、作成者とグループのユーザーを含む全てのユーザーか

もしくは外部ユーザーのみが該当するかの問題です。


ここからは2番目のモードパラメータの説明です。

symbolic modeはファイルの権限をどうするか・・を表すモードです。

例え、2番目のモードパラメータが

”+”だったら権限を与えることで

”-”だったら与えた権限を解除するという意味になります。

”=”だったらファイル権限を設定することです!


最後に3番目のモードパラメータの説明です!

o+r の「r」の部分ですね。

r : どのようなpermissionに関することか❓

Octalモードと一緒で

read, w(write), x(execute)で選択することが出来ます。

他の例のコマンドとしては・・・!

ex)

cdmod u-x newfile.txt

Octalモードで解析してみると

-rwxrw-r-- -> -rw-rw-r--  になります。

作成者の実行権限を解除すると意味ですね。