Follow twitter

Ubuntu パーミッション(権限) 変更

Ubuntuでファイルやディレクトリのパーミッションの変更方法について紹介します。

ファイルのパーミッション確認方法についてはこちらの記事を参照。
ディレクトリのパーミッション確認方法についてはこちらの記事を参照。

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–
読み取り権限
書き込み権限×
実行権限×××
数値表示664

つまり、664がfile2のパーミッションを数値モードで表しています。

今回file2に、オーナ権限とグループユーザ権限に実行権限を付与したい場合、
パーミッションの数値モード表示は774と変更することになります。
 rw-rw-r– => rwxrwxr–と変換させるということになります。

よって下記コマンドを入力します。

chmod 774 file2

終わりに

今回はchmodコマンドで権限変更方法を述べました。
シンボルモードと数値モードと2種類あることを分かって
もらえればと思います。
個人的には、数値モードのほうが使いやすいです。

Have a nice Linux life!