【chmod】パーミッション(権限)を設定する方法!図解有り!
chmodとは
-rw-rw-r-- 中略 hayana.txt
linuxのターミナル上で「ls -l」を入力すると上記のように表示されます。右部が「ファイル名」で左部が現在設定されているパーミッション(権限)を表示しています。
「chmod」を使用すると指定したファイルのパーミッションを設定をすることが出来ます。
詳しくは後述しますが、簡単には「所有者(user)」、「グループ(group)」、「その他(other)」の3種のユーザ権限に対してそれぞれファイルやディレクトリの「読み込み(read)」、「書き込み(write)」、「実行(executive)」の3つの権限を「与えるか」、「与えないか」の設定することが出来ます。以下の表の項目を設定することになります。
権限設定表 | |
ユーザ権限 | ファイル・ディレクトリ権限 |
所有者:user(u) |
・読み込み(r)「与える」「与えない」 ・書き込み(w)「与える」「与えない」 ・実行 (x)「与える」「与えない」 |
グループ:group(g) |
・読み込み(r)「与える」「与えない」 ・書き込み(w)「与える」「与えない」 ・実行 (x)「与える」「与えない」 |
その他のユーザ:other(o) |
・読み込み(r)「与える」「与えない」 ・書き込み(w)「与える」「与えない」 ・実行 (x)「与える」「与えない」 |
指定したファイルに「u」「g」「o」それぞれに「r」「w」「x」の中からどれを与えてあげようか(複数選択可)というのを選んであげる設定です。
これを設定すると下図の「許可された操作」という部分を設定してあげることが出来ます。許可がない項目は操作できません。
パーミッションの確認方法
最上にあるパーミッションの例だと説明しずらいので、一度すべての権限を開放します。
すると以下のように表示されます。現在のパーミッションを確認するには「ls -l」を使うと良いでしょう。
-rwxrwxrwx 中略 hayana.txt
確認する場所は上記の左側です。一番左の「ー」「d」「l」はファイルタイプを表しているので無視します。
注目するべきところはその次から書いてある、「rwxrwxrwx」と書かれている場所です。
ここがパーミッションを表しています。
この9つの文字列を3文字ずつに分けてみてあげると
「rwx rwx rwx 」という風に見てあげることが出来ます。
一番左側のrwxには所有者の、真ん中のrwxにはグループの、一番右側のrwxにはその他のユーザのパーミッションが記載されています。
パーミッションの変更
ここでやっと「chmod」の出番です。
chmod
所有者、グループ、その他のユーザそれぞれのパーミッションを変更することが出来ます。
【chmod】の使用例(使用ファイル:hayana)
//chmodの書き方
chmod 権限設定 hayana
//3桁の数字を使って設定する書き方
chmod 777 hayana
//権限指定の設定記号を使用して設定する書き方
chmod u+r hayana //所有者に読み込み権限を付加する
chmod o-w hayana //その他のユーザから書き込み権限を削除する
chmod g=x hayana //グループの権限を実行のみに変更する
といったようにパーミッションを変更していきます。
3桁の数字での権限設定
数字で権限を設定する際、数字の意味を知らないと思った通りの設定が行えません。
数字の意味を捉えてから利用していきましょう。
なぜ3桁なのか
これは、一番左の桁に所有者の権限、真ん中の桁にグループの権限を、一番右の桁でその他のユーザの権限をそれぞれ設定しているからです。
3桁目: 所有者の権限 |
2桁目: グループの権限 |
1桁目: |
0~7 | 0~7 | 0~7 |
それぞれの項目に0~7番まで割り振ることが出来ます。
そのため、権限の数字は、000番から777番までの778種類を変更を行うことが出来ます。
778種類も覚えられないよ~
そんな鬼みたいな量の暗記をしなくても大丈夫です。
ここで覚えるのは3桁の意味と0~7の表を覚えるだけで、ある程度の事はできるようになります。
0~7での権限設定
数値 | 権限 (ls -l) | 権限の意味 |
0 | — | 権限なし |
1 | –x | 実行権 |
2 | -w- | 書込権 |
3 | -wx | 書込・実行権 |
4 | r– | 読込権 |
5 | r-x | 読込・実行権 |
6 | rw- | 読込・書込権 |
7 | rwx | 全ての権限 |
上記2つの事を踏まえて、以下のパーミッション例を見てみましょう。
chmod 257 hayana
上記の様に権限を変更したファイル「hayana」のパーミッション以下のようになります。
〇:権限あり × :権限なし
設定範囲(数字) | 読み込み権限 | 書き込み権限 | 実行権限 |
所有者 (2) | × | 〇 | × |
グループ(5) | 〇 | × | 〇 |
その他 (7) | 〇 | 〇 | 〇 |
ls -lでの出力結果は以下の通りになります。
--w-r-xrwx 中略 hayana
設定用の記号でのアプローチ
この設定方法は、ユーザと操作する権限を限定してパーミッションを設定するアプローチです。
数字でのアプローチは、設定するシーン全てでユーザ権限を考慮して設定しなくてはならないので少し面倒でしたが、このアプローチは、操作したいユーザに対してどのような権限を操作したいのかをそのまま設定できます。以下の例を見てみましょう。
chmod u+w hayana
例の設定では所有者に書き込み権限を付加するという設定をしています。
各種権限と操作の表を覚えれば何不自由なくパーミッションの変更ができるようになります。
ユーザ範囲 | 記号 | 記号の意味 |
所有者 | u | user |
グループ | g | group |
その他 | o | other |
全ユーザ | a | all |
操作記号 | 意味 |
+(半角) | 指定したユーザ範囲に権限を付加する |
ー(半角) | 指定したユーザ範囲から権限を削除する |
=(半角) | 指定したユーザ範囲の権限を変更する |
記号 | 権限 |
r | 読み込み権限 |
w | 書き込み権限 |
x | 実行権限 |
//全てのユーザから実行権を削除したい場合
chmod a-x hayana
//その他のユーザの権限を読み取り権と実行権に変更したい場合
chmod o=rx hayana
//全てのユーザに読み込み権限を付加し、その他のユーザから書き込み権限を削除する
chmod a+r,o-w hayana
記号でのアプローチは、上記の様なパーミッション操作ができます。
細かい設定がしたい場合は、非常に役に立つアプローチだと思います。
是非、使ってみてください!
関連記事
WindowsのPCでVPN接続する際に出る様々なエラーを解決!!
ここでは、VPNの接続設定を済ませているのに、接続しようとするとエラーが出て接続 ...
【サクラエディタ】置換後に黄色のマークが付いてしまう原因と消し方
今回は、サクラエディタで置換後の文字に黄色のマーカーがついてしまったときの原因と ...
iPhoneスクリーンショットの画像サイズを軽くする方法【無料】
皆さんはiPhoneのスクリーンショットって一枚でどのくらいの容量を使っているか ...
【図解有り】超簡単!!ファイル名・フォルダ名に日付と時間をつけるバッチファイル【Windows】
今回はバッチファイルを作成してみようと思います。 簡単なバッチファイルの例として ...
「家から実家のファイルサーバを使いたいんじゃ!」シリーズ!!
「家から実家のファイルサーバを使いたいんじゃ!」シリーズ始めます! 家から実家の ...
ディスカッション
コメント一覧
まだ、コメントがありません