#パーミッション権限の確認と変更
だいぶ慣れてきたが、ふと分からなくなることがあるので書き留めておく。
##パーミッション権限の確認
$ls -l
上記コマンドを押すと以下のような一覧が出てくる。
-rwxr--r-- 1 user group 9 12月 31 00:00 hoge.txt
drwxr-xr-x 6 user group 1 12月 31 00:00 ダウンロード
##読み解き方
最初の1文字目はファイル種別を示している。
- ファイル
d ディレクトリ
l シンボリックリンク
※シンボリックリンク
fileA シンボリックリンクA があるとする。
シンボリックリンクAにアクセスするとfileAが開く。
シンボリックリンクAを消してもfileAは消えない。
windowsでいうところのショートカットみたいなもの。
2文字目から4文字目はファイルの所有者に対する権限を表し、
5文字目から7文字目はファイルの所有グループに対する権限を表し、
8文字目から10文字目はその他に対する権限を表す。
先ほどのものをもう一度表示すると
-rwxr--r-- 1 user group 9 12月 31 00:00 hoge.txt
drwxr-xr-x 6 user group 1 12月 31 00:00 ダウンロード
-rwxr--r--
は、
「ファイル種別」が「ファイル」
「所有者」は「読み取り」と「書き込み」と「実行」の権限を持ち
「所有グループ」は「読み取り」の権限を持ち
「その他」に「読み取り」の権限があることを示している。
drwxr-xr-x
は、
「ファイル種別」が「ディレクトリ」であり、
「所有者」に「読み取り」と「書き込み」と「実行」の権限があり、
「所有グループ」に「読み取り」と「実行」の権限があり、
「その他」に「読み取り」と「実行」の権限があることを示している。
ちなみにそれぞれ
所有者(Owner) ファイル/ディレクトリの所有者、本人のこと
所有グループ(Group) 同じサーバーを利用できるユーザ全体
その他(Other) その他全て、第三者のこと
を指してます
#権限の変更
パーミッションの権限変更にはchmodコマンドを使う。
chmod 数字(それぞれの足し算) 対象ファイル名
数字 | A | 権限 |
---|---|---|
4 | r | 読み取り |
2 | w | 書き込み |
1 | x | 実行 |
ここでいう実行ってのはそのファイル、プログラムを動かしていいかどうかって事です。
$chmod 777hoge.txt
-$ ls -l
-rwxrwxrwx 1 user group 9 1月 1 00:00 hoge.txt
777だと全員OKってことですね
$ chmod 764 hoge.txt
$ ls -l
-rwxrw-r-- 1 user group 9 1月 1 00:00 hoge.txt
それぞれ数字の7が最大数と考えて足算して考えれば良いわけですね。
↓アルファベットでもできる
chmod g+x <ファイルorディレクトリ>
「g+x」は、g(グループ)に x(実行権限)を +(加える)という意味になる
逆に権限をなくす場合は、「g-x」とすれば良い、
既存のものに変更を加えたりするときはこっちにが使いやすい!
#所有者の変更
chown
を使う
chown <[所有者]or[所有者:グループ]> <ファイルorディレクトリ>
dataフォルダの所有者をsatouに変更する
chown satou data
dataフォルダの所有者をsatouにグループをstaffにする
chown satou:staff data
それぞれ
ディレクトリごと権限を変更したい場合
-Rをつければ良い!