chmod と chown の主な違いは何ですか?

chmod と chown の主な違いは何ですか?

いくつかの例では、chownの代わりにが使用されています。とをchmodどこで使用すればよいのかわかりません。 これらの違いと、どちらを使用すべきか、またその理由を教えてください。chmodchown

答え1

簡単に言えば、 chownはファイルの所有権を変更するために使用され、chmodはファイル モード ビットを変更するために使用されます。

  • chownファイルの所有者を定義します。
  • chmod誰が何をできるかを定義します。

誰かをファイルの所有者にすると、その人はそのファイルに対してほぼ何でもできるようになります。たとえば、ファイルchmodの mod (権限など) を変更して、誰が何を実行できるかを定義することができます。

$ ls -l file
-rwxrwxr-x  2  ravexina admins   26 May  9 12:49 file

ravexina上記の行では、 がファイルの所有者であり、 がadminsグループであることがわかります。 : を使用してsudo chown dave:sudo file、ファイルの所有者を にdave、グループを に変更できますsudo。これで、ファイルは「dave」と「sudo」グループの全員に属します。

ただし、chmod誰が何をできるかを定義します。誰がファイルを読み取る権限、ファイルに書き込む権限、またはファイルを実行する権限を持っているかです。例:

chmod 777 file

所有者、グループ、その他すべてのユーザーを含むすべてのユーザーに読み取り、書き込み、実行の権限を与えます。

からターンオフ: ここに画像の説明を入力してください

答え2

ファイルを作成しましょう

touch rainbow

ファイルのメタデータを見てみましょう

$ ls -l rainbow
-rw-rw-r-- 1 zanna zanna 0 May 24 10:09 rainbow

情報の最初の部分はファイルの種類(-先頭は通常のファイルであることを意味します)と権限ビットです。

その後、所有者 (zanna) とグループ (zanna) が表示されます。chownこれらを変更するには、次のコマンドを使用します。

$ sudo chown pixie rainbow
$ ls -l rainbow
-rw-rw-r-- 1 pixie zanna 0 May 24 10:09 rainbow

chmodそして、許可ビットを変更するために使用します

$ sudo chmod 333 rainbow
$ ls -l rainbow
--wx-wx-wx 1 pixie zanna 0 May 24 10:09 rainbow

権限ビットは所有者、グループ、その他ごとに別々に設定されるため、chownとを組み合わせることで異なるユーザーのファイル権限を制御できますchmodこの短いガイドLinux の権限に関する短期集中講座です。

答え3

ファイル (またはディレクトリなど) の権限を検討する場合、次の 2 つの要素があります。

  • 誰がファイルの所有者 - ユーザーとグループ、そして
  • 読み取り、書き込み、実行、またはそれらの組み合わせが可能です。

chownを扱う誰が.chmodは、どちらか一方を他方の代わりに使用することはできません。

シンプルな Unix 権限では、ファイルにアクセスしようとするユーザーを次の 3 つのタイプに分類します。

  1. ファイルの所有者
  2. ファイルを所有するグループのメンバーであるユーザー
  3. 他のみんな

chown最初の 2 つを変更するために使用されます。chmodこれらのタイプに付与された権限を変更するために使用されます。

答え4

すでに非常に良い回答がありますが、権限が非常にわかりやすい投稿をしたいと思います。

chmod u=r+w,o=r-w,g=-r-w test.php

u = user
o = other
g = group

この方法ではファイルに簡単に権限を追加できます。上記の例では

user = read + write
other = read but not write
group = not read not write

-R権限を再帰的に変更する場合は、を忘れないでください。

関連情報