はじめに
chmodをやってもらう機会があったので、まとめてみました。
chmodの意味
change mode の略。
ファイルへの権限変更するときのLinuxコマンド。
具体的なコード
全権限を全ユーザに付与
$ touch test.txt
$ chmod 777 text.txt
$ ls -l
-rwxrwxrwx 1 hajime staff 0B Aug 24 11:18 test.txt
確認では lsコマンドの -l オプションを使って、ファイルの詳細を表示する.
左から順に
- ファイルタイプ(「-:ファイル」「d:ディレクトリ」「l:シンボリックリンク」)
- パーミッション
- ハードリンクの数
- オーナー名
- グループ名
- バイトサイズ
- タイムスタンプ
- ファイル名
となっている
パーミッションの部分に着目すると、
rwxrwxrwx
となっている。
覚え方
覚えなくてもいいと思うのですが、
4 が読み取り権限を表し、rで表される
2 が書き込み権限を表し、wで表される
1 が実行権限を表し、xで表される
chmodコマンドのあとの「3桁の引数」で数字を指定することによって、誰にどの権限を渡すか指定します。
3桁の引数では
一番左の数字が、所有者の権限を表し、
真ん中の数字が、グループ権限を表し、
一番右の数字が、その他のユーザの権限を表す。
全権限を全ユーザに付与
$ chmod 777 test.txt → 7は(4+2+1)なので、全権限
これだと全権限を全ユーザに付与することになる
所有者に読み取り権限のみ付与
$ chmod 400 test.txt
$ ls -l
-r-------- 1 hajime staff 0B Aug 24 11:18 test.txt
これだと所有者に読み取り権限のみ
AWSのEC2にsshするときとか、これにしました。
まとめ
基礎of基礎ですが、誰かの役に立てば。