Linux - File Permission



 ◆ ファイルのパーミッションと所有者の確認

 ls -l コマンドの後にファイル名を指定すると、そのファイル情報の詳細情報が得られます。


 $ ls -l data.txt
 -rw-rw-r--. 1 admin admin 950 May 25 00:12 data.txt



   



 ◆ アクセス権

 Linuxで作成されるファイルやディレクトリにはアクセス権(
パーミッション)が設定されます。これで
 ユーザごとにファイルへのアクセスの許可または禁止を設定できます。アクセス権には、以下の3種類が
 あります。ファイルへのアクセス権限、ディレクトリへのアクセス権限のそれぞれの意味を理解しよう。

 ◆ ファイルへのアクセス権限
アクセス権 表記 説明
読み取り r  read。ファイルの読み取りが可能 ( 内容表示など )
書き込み w  write。ファイルへの書き込みが可能 ( 編集や上書きコピーなど )
実行 x  execute。ファイルの実行が可能 ( プログラムやシェルスクリプトの実行 )


 ◆ ディレクトリへのアクセス権限
アクセス権 表記 説明
読み取り r  read。ディレクトリの読み取りが可能 (ディレクトリに登録されているファイル名の表示)
書き込み w  write。ディレクトリの書き込みが可能 ( 新規ファイル作成、削除、名前変更など)
実行 x  execute。ディレクトリに登録されいているファイルへのアクセスが可能

 ※ ファイルへのアクセス権限にreadの許可があっても、ディレクトリのexecute許可がなければファイルにアクセスできません。


 ls -l コマンドにより確認できるアクセス権の見方は以下の通りです。


    


 ファイルの種別の表示は3つあり「 - 」はファイル、「 d 」はディレクトリ、「 l 」はリンクを表します。
 また、アクセス権は数値で表すことができます。下表のとおり、読み取り(r = 4)、書き込み(w = 2)
 実行(x = 1)であることが分かります。つまり全権限(
rwx)は「4+2+1=7」であることが分かります。

記号表記 2進数 8進数
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7


 具体的に見てみます。あるファイルのアクセス権「rwx r-x r-x」は、数値では「755」と表記できます。


        


 アクセス権は、chmodコマンドにより変更することができます。

 ◆ 構文 : chmod [ オプション ] アクセス権 ファイル名

オプション 説明
-R  指定したディレクトリ以下の全てのファイルのアクセス権の変更


 ◆ 実行例 : 「testdata.txt」というファイルのアクセス権を「 rw- r-- r-- 」にする設定
 $ chmod 644 testdata.txt




 一般的には上記でアクセス権限の設定変更を行いますが、以下の3つの記号を使用しても設定できます。

カテゴリー 説明
u  所有者
g  グループ
o  その他のユーザ
a  全てのユーザ

定義 説明
+  アクセス権の追加
-  アクセス権の削除
=  アクセス権の指定

権限 説明
r  読み取り権限
w  書き込み権限
x  実行権限
s  SUID または SGID
t  スティッキービット


 ◆ 実行例 : 「testdata.txt」というファイルのアクセス権が変更前「644」である値を、変更後に「666」とする設定
 $ chmod go+w testdata.txt


 上記解説ですが、アクセス権「644 = rw- r-- r--」であるので、「666 = rw- rw- rw-」にするために
 「グループ = g 」と「その他のユーザ = o」の項目で「w」を追加する必要があり「go+w」となります。



Linux 技術入門

Copyright(C) 2002-2024 ネットワークエンジニアとして All Rights Reserved