コンテンツにスキップ

chmod と chown と chgrp

1
2
ls -l
-rw-r--r--  1 user user   703 Oct  4 09:39 requirements.txt
項目 説明
- -: ファイル、d: ディレクトリ、l: シンボリックリンク
rw- 所有者の権限
r-- 所有グループの権限
r-- その他のユーザーの権限
1 ハードリンクの数
user 所有者
user 所有グループ
703 ファイルサイズ[Byte]
Oct  4 09:39 最終更新日時
requirements.txt ファイル名

chmod

chmod でファイルやディレクトリの権限を変えることができる。

1
$ chmod [-R] $PERMISSION_CODE $FILE_OR_DIRECTORY_NAME

パーミッションコード

70を所有者、所有グループ、その他のユーザーに対して指定するので777000で指定することになる。

権限 2 進数 10 進数 説明
rwx 111 7 読み込み、書き込み、実行を許可する
rw- 110 6 読み込み、書き込みを許可する
r-- 100 4 読み込みを許可する

以下の形式で権限を設定することもできる。

1
2
3
4
5
6
# chmod [ugoa][+-=][rwx] <ファイル名>
# u: オーナー, g: グループ, o: その他のユーザ, a: ugoすべて
# +: 権限を追加する, -: 権限を削除する, =: 指定した権限と等しくする
$ chmod u+w file.txt    # file.txtについてオーナーに書き込み権限を追加する
$ chmod g-w file.txt    # file.txtについてグループから書き込み権限を削除する
$ chmod go=r file.txt   # file.txtについてグループとオーナーの権限を読み取り権限のみにする

コマンドの例

コマンド 説明
chmod -R 777 $DIRECTORY_NAME ディレクトリについて再帰的にすべてのユーザーに対して読み書き実行を許可する
chmod 600 $FILE_NAME ファイルについて自分だけ読み書き可能にする
chmod a+x $FILE_NAME ファイルについてすべてのユーザーに対して実行権限を追加する

chown

1
$ sudo chown [-R] $NEW_USER_NAME $FILE_NAME

chgrp

1
$ sudo chgrp [-R] $NEW_GROUP_NAME $FILE_NAME