Linuxでファイルの所有権を適用するには?

Linuxでファイルの所有権を適用するには?

私のシステムで特定のユーザーグループの権限を変更するのに問題があります。

4人のユーザーu1、v1とu2、v2と2つのグループg1とg2があるとします。 u1とv1はグループg1に属し、u2とv2はそれぞれグループg2に属する。

これで、グループg1(rwx)のu1だけが「foo.bar」というファイルにアクセスできるようになります。これを行うには、次のように入力しました。

sudo chown u1:g1 foo.bar
sudo chmod 700 foo.bar

しかし、次のような問題があります。

最初。グループにファイルの所有権を付与したら、chmodコマンドを使用して他のユーザーを制限できます。このコマンドの用途は何ですか? (ファイル権限の3番目のフィールドはrwx-rwx-です。読み書き) chown はここでどのような用途に使用されますか?

この問題の例を見てみましょう。私は、システム内のどのユーザーでもg1ユーザーだけが「foo.bar」にアクセスできるようにしたいと思います。 chownコマンドのみを使用してこれを実行できますか?そうでなければ、そのアプリケーションは何ですか!

第二。特定のグループに特定の権限を付与するにはどうすればよいですか?たとえば、g1グループに自分が所有するすべてのファイルに対して読み取り権限のみを持たせたいとします。だから端末に次のように入力すると

sudo chown :g1 foo.bar

追加のコマンドがないと、すべてのユーザーu1とv1はこのファイルへの読み取りアクセス権を持ちます。 chownでしか達成できませんか?

私の主張がすべての人に明確になったことを願っています。

答え1

chownとchmodは2つの異なる用途に使用されます。

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

  1. 特定のグループへのアクセスを制限するには:グループはファイルの所有者でなければならず、許可ビットを正しく設定する必要があります。

    sudo chown :g1 foo.bar && sudo chmod 770 foo.bar
    

    最後の3つの許可ビットは他のすべてのユーザーに関連付けられます。 Chown コマンドは所有権を設定します。所有者以外のユーザーは、最後の3つの許可ビットに焦点を当てます。

  2. ファイル所有者グループに特定の権限を設定する場合:sudo chmod 770 foo.barファイルを作成するときに設定することもできます。マスク

また、各グループに異なる権限を付与するには、ACL権限を確認することをお勧めします。これにより、r--g1、rwxg2などを設定できます---

答え2

foo.barこれで、グループ()内でのみアクセスできるrwxファイルが必要です。これを行うには、次のように入力しました。u1g1

sudo chown u1:g1 foo.bar
sudo chmod 700 foo.bar

u1これにより、ユーザーにのみファイル権限が付与されます。そのグループのメンバーには権限が設定されていないため、ファイルをどのグループに設定するかは関係ありません。あるいは、「その他」権限とまったく同じ権限を持つため、特定のユーザーのアクセス権が「グループ」権限によって決定されるのか、「その他」権限によって決定されるのかは重要ではありません。

直接リクエストできないことに注意してください。両方照合するユーザーとグループ。u1上記のファイルは、グループのメンバーであるかどうかに関係なくアクセス可能です。

たとえば、ユーザーとグループだけがアクセスできるディレクトリを作成し、root.g1その中にユーザーが所有し、u1ユーザーだけがアクセスできるファイルを作成します。これは、特定のユーザーが所有しているが特定のツールでのみ変更できるcrontabで最も一般的に使用されます。たとえば、/var/spool/cron/crontabs/Debian/Ubuntu システムを参照してください。

グループにファイルの所有権を付与する目的は何ですか? chmodコマンドを使用して他のユーザーを制限できます。システムの[他の]ユーザーではなく、foo.barユーザーのアクセスのみが必要です。g1

ファイルグループをに設定し、g1そのグループに必要なアクセス権を付与します。たとえば、chown a.g1 file && chmod 660 fileユーザーaとグループのメンバーだけがg1ファイルを読み書きできます。 (また、ユーザーがa権限を変更する可能性があります。これを回避するには、これを行わないユーザーがファイルを所有していることを確認する必要があります。)

特定のグループに特定の権限を付与するにはどうすればよいですか?たとえば、g1グループが所有するすべてのファイルに対してのみ読み取り権限を持つことを望みます。

あなたはできません。権限は、ユーザーまたはグループではなくファイルの属性です。上記の場合、ファイルにグループに対する読み取り/書き込み権限が付与されているため、これが発生しました。必要に応じて、このグループにファイルの書き込み権限を付与しないように注意してください。

[コメントの質問]chown主にグループに所有権を与えるために使用されるので、後でchmodyes?コマンドを使用して、グループユーザーをファイルに制限できます。それ以外の場合は、chmodそれを使用せずに単独で使用して、所有者を除く他のすべてのユーザーを制限できますchown

ほとんど終わりました。もちろん、保証されている場合は、所有ユーザーを実際に変更するrootためにも使用できますchown。これは、少なくとも新しいユーザーを作成したときに発生します。ホームディレクトリの所有権は何とか設定する必要があります。

(ユーザーの基本的な組み合わせが適切でなければchmod使用できますが、chownこれは不要なものを省略するだけですchown。)

関連情報