Linuxのファイルのモードとは?drwxr-xr-xの意味

ファイルのモードとは?

linux上でファイルやディレクトリを確認するコマンド「ls」のオプション「-l」でみるとファイルのモードというものをみることができます。

「drwxr-xr-x」のように見えるものです。

この意味について紹介していきます。

ファイルのモードとは?

ファイルのモードはそのファイルの

  • 種類(ファイルなのか?ディレクトリなのか?)
  • パーミッション(リードオンリーか?書き込み可能なのか?)

を表記したものです。

全部で10桁ありますが、それぞれの桁数の位置に意味があります。「-」にも意味があります。

d rwx r-x r-x

10桁は「1, 3, 3, 3」の区切りで別れていて、最初の1桁ファイルの種別、残りはファイルの権限を意味します。

  • 先頭の1桁:ファイルの種類
  • 2~4桁:ユーザーに対する権限
  • 5~7桁:グループに対する権限
  • 8~10桁:それ以外に対する権限

です。

先頭1桁はファイルかディレクトリか?

最初の一桁目には「-」「d」「l」などが来ます。

  • 「-」ファイルを意味
  • 「d」ディレクトリ(フォルダ)を意味
  • 「l」ショートカット(シンボリックリンクファイル)

です。

drwxr-xr-xは「d」なのでディレクトリということがわかります。

ファイルの場合は-rwxr-xr-xとなります。

パーミッションとは?

ユーザーに対する権限、グループに対する権限などファイルへのアクセスに関してユーザーやグループに対してファイルへの利用を制限することができます。

2~4桁の3つ分は先頭からr:読み取り、w:書き込み、x:実行を意味します。

rwxと書かれていればユーザに対して読み書き実行を許可していることになります。

r-xであれば読み取りと実行は許可されていますが、書き込みは不可になっています。

読み取り、書き込み、実行はファイルとディレクトリでは若干意味が異なります。

ファイル ディレクトリ
読み取り ファイルを読み込んで表示 catコマンド ディレクトリの内容を表示 lsコマンド
書き込み ファイルに追記 viで上書き ディレクトリを作成、mkdirコマンド
実行 スクリプトファイルなど実行 sourceコマンド ディレクトリへの移動 cdコマンド

umask値

ファイルやディレクトリを作成したときに設定されるパーミッションはumask値によって決められます。

umask値は4桁の数字で下3桁がパーミッションの決定にかかわっています。ファイルの権限は666、ディレクトリは777を基準として、umask値を差し引いたものがデフォルトのパーミッションの値です。つまり、umask値が111である時、作成したファイルの権限は666-111=555となり、ディレクトリの場合は777-111=666となります。

現在設定されているumask値は$umaskで、設定は$umask 022というように設定できます。

$ umask
0000
$ touch permi
$ ls -al
-rw-rw-rw-  permi →666-000=666

 

コメントを残す

メールアドレスが公開されることはありません。