こちらの記事では、
ファイル権限 パーミッションの変更について
解説します
ファイルへのアクセスを試みてPermissionDeniedとアクセスできなかった方!
これでエラー解消になります!
なお、そういったエラーが出ていない!という方にも解説等のせておりますので、是非最後までお読み下さい!
それでは見ていきましょう!
権限の変更
主に2通りの変更方法があります
①数字を使う
$ chmod <数値> <対象のファイル>
【例】sample.txtの権限を変更
$ chmod 755 sample.txt
数値の意味
必ず3桁
755
1桁目からそれぞれ、
ユーザー、グループ、その他
を表します
数値は権限の足し算
権限は3種類あり、それぞれは数値に置き換えられます
- 読み取りは、「4」
- 書き込みは、「2」
- 実行は、「1」
つまり、全ての権限を与えたい場合は、4+2+1の「7」
書き込みのみの場合は、「2」
など当てはまるものを対象の桁の部分に入力します
$ chmod 755 sample.txt
こちらの例ですと、
ユーザーは「7」で全ての権限を持ち、
グループとその他は「5」
つまり、4 + 1となるので、読み取り、実行の2つの権限をもつ
ことになります
②英字を使う
$ chmod 【誰に】【どうする】【何を】
【例】
$ chmod u+r
意味としては、
【ユーザーに】【追加する】【読み取り権限】
となります
コマンド一覧
誰に
u ユーザー
g グループ
o その他
a 全て
どうする
+ 追加
– 削除
= 右辺の権限へ変更する
何を
r 読み取り
w 書き込み
x 実行
つまり
u+r
とは、ユーザーに読み取りを追加することになります
フォルダー内のファイルも全て一括で変更!
$ chmod <数値> -R <対象のファイル>
数値の後に、
-R
をつけましょう!
おまけ①:権限の確認方法
$ ls -l
$ ls -la
$ ll
のどれでも可能です!
[output例]
-rw-r--r-- 1 root root 199 Mar 25 02:58 requirements.txt drwxr-xr-x 11 root root 4096 Mar 29 14:21 src drwxr-xr-x 5 root root 4096 Oct 14 2019 venv
おまけ②:権限を解読する
権限が書いてあるのは、
行の最初のアルファベットが権限になります
-rw-r--r-- drwxr-xr-x drwxr-xr-x
全部で10文字
最初の1文字目が「d」の場合はディレクトリ(フォルダー)ということになります
2文字目から、3文字ずつ
ユーザー、グループ、その他
に割り振られた権限を示しています
それぞれのアルファベットの意味
- 「r」は読み取り
- 「w」は書き込み
- 「x」は実行
を表します
実例
それでは下記「src」フォルダには誰にどんな権限があるでしょうか?
drwxr-xr-x 11 root root 4096 Mar 29 14:21 src
【回答】
ユーザーには、「rwx」で読み、書き、実行全ての権限が付与されています
グループには、「r-x」で読み、実行
その他には、「r-x」で読み、実行
となりますね!
以上となります!
本日もありがとうございました!!!