[Linux] chmodの詳しい解説

ようやくchmodでやっている内容を理解したので、備忘録として書いていきます。

chmodとは

ファイル、ディレクトリのパーミッション(アクセス権)の付与・剥奪を行うコマンド

パーミッション付与・剥奪例

text.txtに対するデフォルトのパーミッションは以下のようです。

-rwxr--r--がパーミッションを表しています。左から、所有ユーザー・所有グループ・第三者の権限を示しています。

また、

r:読み込み権限

w:書き込み権限

x:実行権限

なので、上記の例の場合は、

所有ユーザー:読み込み・書き込み・実行権限

所有グループ:読み込み権限

第三者:読み込み権限

を持っていることになります。

次に、権限の付与方法を二通り見ていきます。

記号式で付与

記号を組み合わせることで、権限の付与・剥奪を表します。

まず実際に例を示します。

上記のコマンドを実行すると、

グループユーザーの箇所に、w(書き込み権限)が付与されています。

以下の公式に習って、権限を付与できます。

chmod <ユーザー><操作><権限>

ユーザー: u(所有ユーザー)、g(所有グループ)、o(第三者)、a(全てのユーザー)

操作:+(付与)、-(剥奪)、=(引数の権限にする)

数値式で付与

0(剥奪)、1(付与)の二進数で考えて、権限付与・剥奪を表現します。

まず例を見せます。

すると、全てのユーザーに全ての権限を付与しています。

これは、7(10進数)は、二進数で111なので、対応する r w x が全て付与された状態になるからです。

なので、もう1つの例では、

755を指定しています。

7(10)・・・111

5(10)・・・101(r w xのうち、rとxが1)

なので、所有グループと第三者は、r(読み込み)とx(実行)権限を付与されたことになります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA