\r\n\r\n

linuxでのchownコマンドの使い方

linuxシステム上のファイルやディレクトリは誰かに属しています。chownコマンドで所有者を変更することができます。その方法を紹介します...

Linuxシステム上のファイルやディレクトリは,誰かの所有物です.その所有権を変更するには,chownコマンドを使います.

各ファイルは、ユーザーとグループに属している

Linuxはマルチユーザーシステムです。オペレーティングシステムでは、複数のユーザーアカウントを定義し、有効なユーザーであれば誰でもコンピューターにログオンできるようになっています。さらに、複数のユーザーが同時にパソコンを使用することも可能です。

Linuxでは、どのファイルがどのユーザーのものであるかを記録し、セキュリティを強化するために、所有権という概念を用いています。各ファイルは、ユーザーとグループという1人のオーナーに属しています。

ファイルを作成すると、そのファイルを作成したユーザーがオーナーになります。ファイルを「所有」するグループは、ユーザーの現在のグループです。ユーザーとグループには名前があり、また、ユーザー(またはユニーク)識別子(UID)とグループ識別子(GID)と呼ばれる番号で識別されます。

ファイルを作成すると、そのファイルの所有者は自分になり、現在のグループに所属することになります。通常、ログインしているグループです。デフォルトでは、ユーザー名と同じ名前を持つグループで、システム上でユーザーとして作成したときに作成されたものです。

chownコマンドを使えば、所有者の値を別の値に変更することができます。新しいオーナー、新しいグループ、または新しいオーナーと新しいグループの両方を設定することができます。ファイルの所有者は、グループの所有権を変更することができますが、ユーザーの所有権を変更するには、別のユーザーが関与するため、rootユーザーしかできません。ルート権限を持っていない場合、システム上の他のユーザーが不用意にファイルを「採用」することは許されません。

なぜ所有者を変えたいのですか?

以下は、そのような場合の例です。

  • 異なるLinuxまたはUnix系OS間でファイルを転送する場合、ユーザーとグループの所有者を、新しいLinuxコンピュータでファイルを使用するアカウントの新しいユーザーとグループの所有者に変更する必要があります。
  • ユーザーが組織を離れると、彼のファイルはすべて他のスタッフの責任となります。オーナーとグループオーナーを、これらのファイルに対して現在責任を負っているスタッフに変更する必要があります。
  • 特定のユーザーが使用するスクリプトを記述することができます。
  • 自分はルートユーザーとしてログインしているが、特定のユーザーにアクセスさせたいファイルやディレクトリを作成することができます。

グループ、uid、gidを表示する

自分が所属しているグループの一覧を表示するには、groupコマンドを使用します。

groups

グループとその数値ID、そしてあなたのUIDとGIDのリストを取得するには、以下のidコマンドを使用します。

id

のIDを持ついくつかのオプションを使って、出力を最適化することができます。

  • -u:あなたのUIDをリストアップします。
  • -g:有効な(現在の)GIDをリストアップします。
  • -ユーザー名を記載する。
  • -ng: 現在のグループ名をリストアップします。
id -u id -g id -nu id -ng

ファイルのユーザーとグループの所有権を表示

ファイルやディレクトリの所有者を確認するには、ls と一緒に -l (long list) オプションを使用します。

ls -l007Ys3FFgy1gp632w0cgxj30hy02pmx8

daveという名前がリストの中に2回出てくることがわかります。一番左の外観は、ファイルの所有者がdaveという名前のユーザーであることを示しています。右端のdaveは、そのファイルが同じくdaveという名前のグループに属していることを示しています。

デフォルトでは、Linuxユーザーを作成すると、ユーザー名を冠したプライベート・グループに追加され、そのグループの唯一のメンバーとなります。

この実行ファイルの所有者はユーザーmaryで、ファイルの所属するグループはmaryのプライベートグループです。

ls -l

このファイルの所有者はユーザー oscar ですが、このファイルが所属するグループは researchlab です。

007Ys3FFgy1gp632wu0ccj30hy02pdfw

ユーザーの所有権変更

いくつかの例を見てみましょう。このコマンドは while.c ファイルのユーザーオーナーシップをユーザー mary に変更します。

sudo chown mary while.c

lsを使って、ファイルの属性に加えられた変更を確認することができます。

ls -l while.c

chownを使用すると、複数のファイルの所有者を一度に変更することができます。

sudo chown mary getval.c global.c goto.c

これにより、3つのファイルすべてのユーザー所有権が変更されます。

ls -l getval.c global.c goto.c

このコマンドは、"c "で始まるすべてのファイルのユーザー所有権を変更します。

sudo chown mary c*.*

すべてのファイルの所有者がMaryになりました。グループの所有権は変更されていませんのでご注意ください。

ls -l mary c*.*

ディレクトリの所有者を変更してみましょう。chownにはファイル名ではなく、ディレクトリ名を渡します。

sudo chown mary ./archive/

ディレクトリの所有者属性を調べるには、lsを使用しますが、-d(ディレクトリ)オプションも使用します。これは、ディレクトリ内のファイルではなく、そのディレクトリの属性を一覧表示します。

ls -l -d ./archive/

ディレクトリ内の全ファイルの所有権を変更するには、-R(recursive)オプションを使用することができます。このオプションは、アーカイブフォルダ内の全ファイルのユーザー所有権を変更します。

sudo chown -R mary ./archive/

では、アーカイブディレクトリの中のファイルを見てみましょう。

ls -l ./archive/

当然のことながら、すべてのファイルは現在Maryのものです。

グループ帰属の変更

所有権の再編成には、さまざまな方法があります。

ユーザーの所有権を変更すると同時にグループの所有権を変更するには、新しい所有者名と新しいグループ名をコロン「:」で区切ってください。

sudo chown mary:researchlab charm.c

ファイルが所属するユーザーオーナーとグループが変更されました。

ls -l charm.c

グループの所有者を新しい所有者の現在のグループに変更するには、単にコロンを提供し、グループ名を省略します。

sudo chown mary: caps.c ls -l caps.c

ユーザーオーナーシップとグループオーナーシップの両方がmaryに変更されました。

グループの所有者のみを変更するには、その前にコロンを置き、ユーザー名を省略します;ユーザーの所有者は変更されません。

sudo chown :researchlab at.c ls -l at.c

グループオーナーシップが変更されましたが、ユーザーオーナーシップは変わりません。

uidとgidの値でchownを使用する

UIDとGIDの数値は、chownコマンドで使用できます。このコマンドは、ユーザーとグループの所有権をmaryに設定します。

sudo chown 1001:1001 at.c ls -l at.c

所有は法の九分九厘

とか言われています。しかし、Linuxでは、所有権はファイルセキュリティの重要な一部であり、残りはファイルのパーミッションによって提供されます。システム上のファイルへのアクセスを保護するには、chown と chmod コマンドを使用します。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ