ファイルのパーミッション確認方法についてはこちらの記事を参照。
ディレクトリのパーミッション確認方法についてはこちらの記事を参照。
Contents / 目次
chmodコマンドでパーミッション変更
ファイルやディレクトリのパーミッション(アクセス権限)を変更するには、
chmodコマンドを使用します。chmodはchange modeの略だと思います。
chmodコマンドでは2種類の方法でパーミッションを変更できます。
・シンボルモード
・数値モード
シンボルモードでパーミッションを変更
シンボルモードでパーミッションを変更するには、
chmod [変更対象ユーザ][変更記号][権限種類] 対象ファイル
変更対象ユーザとは、オーナ権限/グループ権限/その他ユーザ権限なのかを
対象者選択します。選択には以下の記号を使用します。
変更対象ユーザ | 記号 |
オーナ権限 | u |
グループ権限 | g |
その他ユーザ権限 | o |
オーナ、グループ、その他ユーザのすべて | a |
オーナ権限だけuと覚えづらいが、それ以外はgroup, others, allと覚えれます。
変更記号とは、どのように変更するかの記号のことです。
以下の記号を使用します。
変更内容 | 記号 |
権限を追加する | + |
権限を削除する | – |
権限を権限種類と等しくする | = |
上の説明の前に先に権限種類について述べます。
権限種類とは、前回のパーミッション確認で述べたとおり、rwxのことです。
ファイルの場合、
r: read 読み取り権限あり
w: write 書き込み権限あり
x: execute 実行権限あり
でしたね。
ファイルのパーミッション確認方法についてはこちらの記事を参照。
ディレクトリのパーミッション確認方法についてはこちらの記事を参照。
変更記号が+で権限種類がwであれば
書き込み権限を追加する、という意味になります。
変更記号が-で権限種類がxであれば
実行権限を削除する、という意味になります。
変更記号が=で権限種類がrxであれば、
読み込みと実行権限に変更するという意味です。
例えば、rw-rw-r–のfile1というファイルの権限を
オーナ、グループ、その他ユーザの全てにrwxの権限を与える場合、
chmod a=rwx file1
上記コマンドを実行します。下図のように変更されたことがわかります。
数値モードでパーミッションを変更
数値モードの場合は下記コマンドを入力します。
chmod 変更後の数値表示 ファイル名
数値表示とは、オーナ、グループ、その他ユーザ権限を8進法で表示することです。
まず、権限種類について下記のような数値が割り振られています。
権限種類 | 数値 |
r: read 読み取り権限 | 4 |
w: write 書き込み権限 | 2 |
x: execute 実行権限 | 1 |
-: 権限なし | 0 |
与えられた数値の和が与えられた権限を意味します。
数値 | 意味 | 権限表示 |
0 | 権限なし | — |
1 | 実行権限あり | –x |
2 | 書き込み権限あり | -w- |
3 (=1+2) | 実行と書き込み権限あり | -wx |
4 | 読み取り権限あり | r– |
5 (=1+4) | 実行と読み取り権限あり | r-x |
6 (=2+4) | 書き込みと読み取り権限あり | rw- |
7 (=1+2+4) | 実行、書き込み、読み取り権限あり | rwx |
例えばrw-rw-r–のファイル、file2の場合は下記の表示なります。
権限範囲 | オーナ権限 | グループユーザ権限 | その他ユーザ権限 |
表示 | rw- | rw- | r– |
読み取り権限 | ○ | ○ | ○ |
書き込み権限 | ○ | ○ | × |
実行権限 | × | × | × |
数値表示 | 6 | 6 | 4 |
つまり、664がfile2のパーミッションを数値モードで表しています。
今回file2に、オーナ権限とグループユーザ権限に実行権限を付与したい場合、
パーミッションの数値モード表示は774と変更することになります。
rw-rw-r– => rwxrwxr–と変換させるということになります。
よって下記コマンドを入力します。
chmod 774 file2
終わりに
今回はchmodコマンドで権限変更方法を述べました。
シンボルモードと数値モードと2種類あることを分かって
もらえればと思います。
個人的には、数値モードのほうが使いやすいです。
Have a nice Linux life!