【Linux】chmodでファイル権限を変更する
はじめに
人は時としてファイル・ディレクトリの権限を変更したくなる時があると思います。皆さんも、社内で共有されているファイル・ディレクトリを読み込み、書き込み、実行等した時に権限がなくて出来ないという事も無きにしもあらずだと思います。
そこで、ファイル・ディレクトリの権限を以下のようなコマンドで編集する方法をまとめていきます。
$ chmod 755 sample.sh
当然だと思いますが、社内の大切なファイルやディレクトリの権限を編集する時は確認を取りましょう笑
実装
まずはchmodコマンドの使い方について簡単に説明いたします。
chmodは以下のように使用する想定です。
$ chmod <1から7までの数字が3つ並ぶ> <権限を変更するファイルやディレクトリ>
う〜ん、よくわからんな〜
1から7までの数字が3つ並ぶ?
どういう事?
って読者の方、思ってらっしゃると思います。
安心してください!
解説しますよ!
この数字の謎を解明する前に
皆さんターミナルでll
コマンドもしくはls -la
を実行すると
以下のような表示されると思います。
ここで注目して欲しいのは
-rw-r--r-- 18 user user 6 3月 3 00:00 sample.sh
-rw-r--r-x 31 user user 9 4月 4 00:00 sample.txt
drwxrwxrwx 2 user user 10 5月 5 00:00 sample.js
以下の部分です。
-rw-r--r--
-rw-r--r-x
drwxrwxrwx
この文字列は以下の区切りで分ける事ができます。
ファイルの種類 | ファイルの所有者(ユーザー)の権限 | ファイルの所有グループの権限 | その他の権限
- | --- | --- | ---
1文字目のファイルの種類ですが、以下の通りになっています。
シンボリックリンク/エイリアスはショートカットのようなものです。
文字 | 意味 |
---|---|
- | ファイル |
d | ディレクトリ |
l | シンボリックリンク/エイリアス |
2文字目から10文字目の各3文字は
以下の順番で表示されています。
表示されている文字列の権限を付与する事ができます。
-
が指定されている所は権限がない事を示します。
rwx
r、w、xの各文字は以下の数字と権限を持っています。
文字 | 数字 | 権限 |
---|---|---|
r | 4 | 読み込み |
w | 2 | 書き込み |
x | 1 | 実行 |
例えば、以下の文字列を読み解くと
-rw-r--r--
以下のようになります。
ファイル | 6 | 4 | 4
もう一個だけ見てみましょう。
こいつは、、、
drwxrwxrwx
以下のようになりますね!
ディレクトリ | 7 | 7 | 7
これで1から7までの数字が3つ並ぶの謎が解けましたね!!
では、いよいよchmodを使ってファイル・ディレクトリの権限を変更していきましょう。
例えばsampleという名前である「ディレクトリ」の、「所有者(ユーザー)」に対して「読み込み」と「実行」権限を「所有グループ」に対して、「読み込み」と「書き込み」権限を「その他」に対して「全て」の権限を与える時は、以下のように実行すれば大丈夫ですね。
$ chmod 567 sample
まとめ
今回はchmodでファイル・ディレクトリの権限を変更する方法について書いていきました。あまり、共有ファイル・ディレクトリの権限をいじるという事は少ないかもしれませんが、Linux使いの方は知っておいても損はないと思います。
気が向いたら、アルファベットを用いたchmodで権限を変更する方法でもまとめようかしら。。。
To Be Continued...
Discussion