始める前に、 ls -l を見てみましょう ファイルとディレクトリのアクセス許可に関する情報を提供するコマンド出力。
ls -l
名前が付けられたユーザーのホームディレクトリのように。 Linux、 を見ることができます Linux リア ファイルというファイルがあります linuxhintdir という名前のディレクトリ . 2 番目と 3 番目の列でわかるように、所有者とグループはファイルとディレクトリの両方に対応しています Linux .
ユーザー Linux のユーザー所有権を変更したいとしましょう 、および linuxhint という名前のユーザーを作成します Linux リア ファイル の所有者 Linux としてファイルする .
グループに影響を与えずにファイルのユーザー所有権を変更するための正しい構文を以下に示します。
チョウン
上の画像でわかるように、ls -l を再度実行すると、ユーザーの所有権が Linux から変更されていることがわかります。 linuxhint に グループは同じままです。
この 2 番目の例は、chown の使用方法を示しています。 同じファイル (Linux リア ファイル) のユーザーとグループの両方の所有権を変更するコマンド )。構文は前の例と似ていますが、以下に示すように、ユーザー名の後にコロンを追加し、その後にグループ名を追加する必要があります。
ちゅん私の場合、linuxhintfile のユーザーとグループの所有権が必要です root ユーザーとグループに変更するので、これを入力します。
[cc lang=”text” width=”100%” height=”100%” escaped=”true” theme=”blackboard” nowrap=”0”]
chown root:root linuxhintfile
ご覧のとおり、ユーザーとグループの両方の所有権が root に変更されました。
ユーザーとグループの両方の所有権を同じユーザーに変更する場合は、実際にはグループを指定する必要がないことに注意してください。このような場合、ユーザーの後にグループを指定せずにコロンを入力するだけで、グループは自動的に新しい所有者と同じになります。つまり、コロンを続けてグループを入力しないと、ファイルのグループがユーザーのグループに変更されます。
次の例では、ユーザーとグループの両方が root:root から変更する必要があります。 to linuxhint:linuxhint ただし、ユーザー名の後にコロンを追加したという理由だけで、グループに入らなかった.
chown linuxhint:linuxhintfile
ご覧のとおり、ユーザーとグループの両方の所有権が linuxhint に変更されました .
ディレクトリの所有権を変更するには、ディレクトリに含まれるサブディレクトリとファイルを含む所有権を再帰的に変更する場合、同じ構文が必要であり、フラグの実装が必要です。
ディレクトリ、サブディレクトリ、およびそれらの現在の所有権を見てみましょう。
ls -Rl
ご覧のとおり、linuxhintdir というディレクトリがあります。 、その所有者はです。 Linux です ユーザー、グループは Linux グループ。 linuxhintsubdir というサブディレクトリがあります。 所有者とグループが root である .
再帰的なアクセス許可に移る前に、それらを変更するとどうなるか見てみましょう linuxhintdir フラグのないプロパティ。次の例では、ユーザーとグループの所有権を linuxhintdir から変更しています。 Linux から linuxhint に .
chown linuxhint:linuxhintdir /
ご覧のとおり、それは linuxhintdir です 所有者が linuxhint に変更されました .ただし、linuxhintsubdir ユーザーとグループのサブディレクトリは保持されます root .
では、サブディレクトリやサブファイルを含め、所有権を再帰的に変更するにはどうすればよいでしょうか?
-R を使用するだけです (再帰) フラグ。
次の例は、linuxhintdir の所有権を再帰的に適用する方法を示しています。 ディレクトリとそのファイルおよびサブディレクトリ。前に示したように、ユーザーとグループはメイン ディレクトリ linuxhint に属しています。 、サブディレクトリのユーザーとグループはそれに属しますroot .
次のコマンドは、ユーザーの所有権を linux という名前のユーザーと Linux lat に再帰的に変更します。 グループ。
chown -R linux:linuxlat linuxhintdir /
ご覧のとおり、ディレクトリの所有権と内容が変更されました。それが -R です フラグはあります。
次のシナリオでは、特定のユーザーのすべてのファイルとディレクトリの所有権を再帰的に変更する方法について説明します。
この新しいシナリオでは、下の画像でわかるように、メイン ディレクトリ linuxhintdir、 があります。 名前付きユーザー Linux に属する 、およびグループ Linux lat .そこに含まれるサブディレクトリとファイルは、Linux という名前のユーザーに属しています 、ルート および Linux lat 、名前付きグループ Linux lat 、Linux とlinuxhint .
ls -Rl
ここで、特定のユーザーに属するファイル/ディレクトリのみのユーザーとグループの所有権を変更したいとします。この場合、メイン ディレクトリと、Linux という名前のユーザーのすべてのファイルとサブディレクトリを指定します。 linuxhint という名前のユーザーに .
これを行うには、-R する必要があります パーミッションを再帰的に変更したいので、先に説明したフラグ。さらに、–Of = する必要があります。 以下の画像に示すように、オプションの後に現在の所有者 (および/または必要に応じてグループ) のユーザー名、つまりファイルとディレクトリを所有する新しいユーザーが続きます。
chown -R –from =linux linuxhint:linuxhintdir /
ご覧のとおり、ユーザーのファイルはすべて Linux という名前です。 現在、linuxhint という名前のユーザーに属しています .このように、1 つのコマンドで、特定のユーザーに属する多くのファイルの所有権を変更できます。
卒業証書
ファイルとディレクトリの適切な管理は、共有リソースを扱う Linux ユーザーにとって必須です。ご覧のとおり、コマンドは簡単に習得して使用できます。
詳細については、chown を参照してください。 https://linux.die.net/man/1/chown で。また、Setuid、Setgid、Sticky Bit Explained もお読みください。
Linux で chown コマンドを使用する方法を説明するこのチュートリアルがお役に立てば幸いです。 Linux に関するその他のヒントやチュートリアルについては、このブログをフォローしてください。