Linuxにはファイルのパーミッションを設定できる「chmod」コマンドがあります。ここでは「chmod」コマンドについて以下の内容で解説していきます。
この記事では「chmod」コマンドについてわかりやすく解説していますので、ぜひ使い方を覚えておきましょう!
chmodコマンドとは
「chmod」コマンドはLinuxでファイルのパーミッションを設定するときに使用するコマンドです。パーミッションとは実行権限のことで、ファイルによって「所有者」「グループ」「その他のユーザ」のそれぞれ権限が割り振られています。
たとえば、所有者やグループによってファイルやプログラムのアクセス権限を指定したい場合に、「chmod」コマンドを使用することで、それぞれの権限を細かく指定することが可能になります。
「chmod」コマンドは以下のように記述します。
$ chmod パーミッション ファイル名
次項ではそんな「chmod」コマンドについて詳しく解説していきます。
chmodコマンドの使い方
ここではchmodコマンドの使い方をパターン別に紹介します。
パーミッションを確認する
まずはパーミッションを確認する方法について解説します。ファイルのパーミッションを確認するには「ls」コマンドに「-l」オプションを付けると、ファイルの詳細情報まで確認できます。
$ ls -l test.txt
実行結果:
lsで表示された左側の文字列「rw-rw-r–」がパーミッション情報になります。表示されたパーミッションは左から「所有者:rw-」「グループ:rw-」「その他のユーザ:r–」となります。それぞれのパーミッションの有効無効は0~7の数値で表します。
以下がパーミッションの対応表になります。
アクセス権 | 数値 | 説明 |
---|---|---|
--- | 0 | 読み込み書き込み不可 |
--x | 1 | 実行のみ |
-w- | 2 | 書き込みのみ |
-wx | 3 | 書き込み実行のみ |
r-- | 4 | 読み込みのみ |
r-x | 5 | 読み込み実行のみ |
rw- | 6 | 読み込み書き込みのみ |
rwx | 7 | 読み込み書き込み実行ができる |
パーミッションを変更する
では実際にパーミッションの変更をしてみましょう。
以下では全てのパーミッションで読み込み書き込み実行を許可します。
$ chmod 777 test.txt
$ ls -l
実行結果:
数値の7は読み込み書き込み実行が可能です。ここでは「所有者」「グループ」「その他ユーザ」全てを7に指定しています。「chmod」コマンド実行後にlsコマンドを実行すると、実行権が「rwxrwxrwx」になっていることがわかりますね!
グループの実行権のみ読み込みのみの権限にしたい場合は「747」に指定すればOKです。
chmodコマンドのオプション
以下に「chmod」コマンドで使用する主なオプションを紹介します。
オプション | 説明 |
---|---|
-f | エラーメッセージを表示しない |
-c | コマンド実行時に変更があったときのみ結果を表示 |
-v | コマンド実行時に詳細を表示 |
-R | ディレクトリ内の複数のファイルも変更対象とする |
-vで詳細を表示する
コマンド実行時に詳細な結果を確認したい場合は「-v」オプションを使用します。「-v」オプションを使用することで、意図したとおりにパーミッションが変更できたか確認することができます。
$ chmod -v 666 test.txt
`test.txt' のモードを 0777 (rwxrwxrwx) から 0666 (rw-rw-rw-) へ変更しました
-Rでディレクトリ内の複数ファイルを設定する
ディレクトリ内の複数ファイルのパーミッションも一括で設定したい場合は「-R」オプションを使用します。ここでは、testディレクトリ内にある複数のファイルの実行権を変更しています。
$ chmod -R 777 test
$ ls -l test/
実行結果:
全てのファイルのパーミッションが「777」に設定されたことがわかりますね!
Linuxについてもっと知りたい方へ
そもそもLinuxについて、
Linuxを効率よく学習する方法が知りたい
といった情報を知りたい方は、以下の記事も参考にしてみてくださいね!
まとめ
ここでは、Linuxでファイルのパーミッションを設定する「chmod」コマンドについて、
- パーミッションの確認方法
- chmodコマンドの使い方
- chmodコマンドのオプションと使い方
などについて解説しました。
「chmod」コマンドはLinuxを開発で使用する上で、変更されたくないファイルに対してアクセス制限をしたり、セキュリティ面からも使用する頻度が高いコマンドです。
もし「chmod」コマンドの使い方を忘れてしまったら、この記事を参考にしてくださいね。