Linuxの基礎コマンド-chmod

わかったようでよくわからないコマンド、chmod

linux chmod

✅ frontmatterを追加しました!

chmod(Linuxのコマンド)

#Linux ファイル・フォルダのパーミッションを変更する。いつも忘れる。

$ls -l
total 4
drwxr-xr-x 3 kyakko kyakko 4096 May 22 16:48 linux_programs
-rw-r--r-- 1 kyakko kyakko    0 May 22 17:10 testfile
  • 1文字目:ファイル種別 これがファイルなのかフォルダなのかを表す。
1文字目意味
-ファイル
dフォルダ
lリンク
  • 2~4文字目:所有者に対する権限
  • 5~7文字目:所有グループに対する権限
  • 8~10文字目:その他のグループに対する権限
文字意味
-だめ
r読取り
w書込み
x実行

アクセス権限の変更

指定方法は2通りある。

1. 数値で指定する

$ chmod 764 testfile.txt のような感じ。 この数字は3桁で表記され、それぞれ以下の数字の合計値を入力する。

数字mode意味
4r読取り
2w書込み
1x実行
つまり、上の例は
  • 所有者(7):rwx(読取・書込・実行)
  • 所有グループ(6):rw-(読取・書込)
  • その他グループ(4):r—(読取) を表してるってこと。 $ chmod 777 testfile なら、すべてに対して実行権限(rwx)を付与している。

2. アルファベットで指定する

$ chmod u+x testfile.txtのような感じ。 これも3文字で表記され、変更対象・変更方法・変更内容を表す。

変更対象意味変更方法意味変更内容意味
uユーザ=指定した権限に変更r読取り
gグループ+指定した権限を追加w書込み
oその他-指定した権限を消去x実行
aすべて

つまり、上の例は

  • ユーザに対して
  • 次の権限を追加する
  • 実行権限 を表している。 この指定方法は複数選択可能なので、 $ chmod go+wx testfile.txtとすることもできる。