GNU/Linux >> Linux の 問題 >  >> Linux

Linux の世界の Windows ガイ:ユーザーとファイルのアクセス許可

しばらくの間 Windows を管理していた場合は、ユーザー アカウントの管理、NTFS ファイル システム、およびアクセス許可の設定に関する経験があるでしょう。もしそうなら、Linuxファイルパーミッションで別の世界に備えましょう! Linux では、ファイル システムは、熟練した Linux 管理者になるために学ばなければならない別の動物です。

これは、Windows 管理者の観点から Linux を学習する 4 部構成のシリーズのパート 2 です。まだ読んでいない場合は、必ずパート I を読んでください。

ファイル システムの操作

まず、Linux がファイル システムを介してファイルを保存および管理する方法に飛び込みましょう。

注:すべての例で OpenSUSE Linux を使用します。

もうドライブ文字はありません

Windows とは異なり、リムーバブル ドライブやその他のデバイスはしない ドライブ文字を自動的に取得し、再起動時に開きます。 Windows では、すべてのドライブがドライブ文字としてマウントされます:C:\D:\ など Linux のドライブ文字はどのように機能しますか?ありません!

Linux には、root というフォルダがあります。 フォルダ。このフォルダは、ファイル システムのルートまたは単純に / にあります。 .スラッシュは、システム内の他のすべてのファイルの前にある最初のスラッシュです。このスラッシュは親切です ベース C:\ のように 、ただし、他のドライブ文字が のみ C:\ のサブフォルダとして存在していました .

ルート フォルダーは、コア システム ファイルが存在する場所です。他のデバイスを含むその他すべては、この中央フォルダーのサブフォルダーです。

Linux では、フォルダーとファイル システムの境界があいまいになっています。 Linux ディレクトリ /home C:\Users に似たすべてのユーザーの「プロファイル」のルートです。 Windows のフォルダ。この場合、/home ディレクトリです。ただし、Linux の「ディレクトリ」は実際にディレクトリである必要はありません。それらは、ストレージ パーティションまたは完全に別のハード ディスクである場合もあります。この概念は、Windows のマウント ポイントに似ています。

ルート フォルダの詳細については、この記事をご覧ください。

ユーザーとホーム フォルダー

OpenSUSE を使用している場合は、ホーム 以下のように、デスクトップのフォルダに移動します。このフォルダは、C:\users\ の Linux バージョンです。 フォルダまたは「プロファイル」。 Linux の「users」フォルダは /home の下にあります

以下の例では、ユーザーの名前は homelab です。 /home/homelab にある「プロファイル」を使用します。

Linux (および Windows) では、ホーム フォルダー (または Windows のユーザー プロファイル) にはチルダ ( ~). "~/Documents/blah.txt のようなものが表示された場合 、実際にはあなたの /home//Documents/blah.txt を参照しています ファイル

Linux では大文字がすべて

すべて Linux では大文字と小文字が区別されます。この概念は、ほとんど何も大文字と小文字を区別しない Windows とは正反対です。

たとえば、/home/homelab というディレクトリがある場合、 /home/Homelab という完全に別のディレクトリを指定できます。 この概念はコマンドにも適用されます。 cd /home/homelab を実行中 CD /home/homelab とは異なります (これは失敗するはずです)。

Windows ユーザーとして、この概念は ある時点であなたをつまずかせます。大文字の使用には十分注意してください。以下に、2 つの個別のフォルダーの例を示します。 2 つの唯一の違いは大文字の使用です。Windows 環境では、これは不可能です。

ユーザー アカウント

Windows と同様に、Linux にもユーザー アカウントの概念がありますが、動作が少し異なります。まず、使い慣れた Windows ユーザー アカウントの観点から Linux ユーザー アカウントを考えることから始めます。

Windows には、管理者 などの組み込みのユーザー アカウントがいくつかあります。 、非表示の SYSTEM アカウント、Guest など。Windows には、Administrators などのさまざまな組み込みのセキュリティ グループもあります。 、ゲスト など

lusrmgr.msc を実行すると、ローカル ユーザーとグループ MMC を介してすべての Windows ユーザーとグループを表示できます MMC スナップイン。

Windows SID

ユーザーとグループを一意に識別するために、Windows はユーザーとグループを SID と呼ばれるもので参照します。 Windows では、以下のいくつかの PowerShell コマンドを実行して、各ユーザーとグループの SID を見つけることができます。

Get-LocalUser | select name, sid
Get-LocalGroup | select name,sid

各 Windows グループ SID は、すべての Windows コンピューターで同じです。ビルトイン user SID for Windows は一意です。その 管理者 SID 上記のスクリーンショットでわかるように、すべての Windows コンピューターで異なるはずです。今後 Windows で作成されるユーザーまたはグループはすべて一意になります。 テストの下に注意してください グループ。 テストを作成する場合 Windows コンピューターのグループでは、SID は異なります。

Linux ユーザー ID

反対に、Linux はユーザーとグループを同じように処理しますが、今回は Linux が SID を使用せず、ユーザー ID (UID) とグループ ID (GID) を使用します。また、Windows とは異なり、ユーザーとグループはコンピュータに固有ですが、すべて で固有ではありません。 コンピュータ。これは、コンピュータ A の UID がまったく同じ UID である可能性があることを意味します 同じユーザーでなくても、コンピューター B で。

UID と GID はどちらも単純な数値規則に従います。各 UID と GUID は 0 から始まり、内部システム アカウントの場合は 1 ~ 999、カスタム ユーザー アカウントの場合は 1000 以上の範囲で 1 ずつ増加します。

ビルトイン root ユーザー 常に UID は 0 で、GID は 0 です。また、Windows の非表示の SYSTEM アカウントと同様に、この root アカウントは通常 (Linux ディストリビューションによっては) ログインできませんでした。

組み込みの root ユーザーは、Windows の SYSTEM および管理者の組み込みアカウントに似ており、一種の 1 つにまとめられています。 Windows で管理者として作業している場合でも、Windows を完全に破壊することを防ぐための組み込みのセーフガードがいくつかあります。

一方、root ユーザーは絶対的な権限です。意図的に root ユーザーにドロップする場合 (コマンド sudo su を使用して、コマンド ラインでこれを行うことができます) ) を実行してオペレーティング システム全体を削除しようとすると、root は喜んでシステムが停止するまで削除します。

homelab というユーザーを作成したとします。 . homelab の UID その後、1000 または homelab によって参照できます。 .ユーザーは自動的に内部グループ users のメンバーになります グループ ID 100 で参照できます。getent passwd を実行すると、これらのマッピングのリストを見つけることができます。 以下に示すコマンド:

getent group のグループについても、上記と同じ情報を見つけることができます。 コマンド。

Linux ファイルのアクセス許可

Windows の世界では、ファイル システムのアクセス許可は楽しいものではありません。 NTFS でのアクセス許可の設定と管理は、ACE、ACL、継承、伝播などの悪夢に変わることがあります。幸いなことに、Linux ファイルシステムのアクセス許可ははるかに簡単です。

Linux では、ファイルに割り当てることができる権限には、読み取り、書き込み、実行の 3 つのタイプがあり、所有者、グループ、その他の 3 つのアクセス カテゴリがあります。

  • owner は、ファイル/フォルダーを所有するユーザーです。すべてのファイルまたはフォルダーには所有者が指定されています。
  • group は、ファイル/フォルダーを所有するグループです。これは、所有者が属するグループと同じである必要はありません。すべてのファイルまたはフォルダは 1 つのグループにのみ属することができます。
  • others は… まあ… others です。所有グループに属していないか、指定された所有者ではない人です。

すべてのカテゴリのすべてのオプションを許可または拒否できます。例として、所有者には読み取り、書き込み、実行オプションを与え、グループやその他には読み取り/実行オプションを与えることができます。下のスクリーンショットでそれを見ることができます。これは、以外の誰もが フォルダーの所有者であるユーザーは、フォルダーを変更できません。

Windows エクスプローラーと同様に、Ubuntu では、次の操作を行うことでこの情報を確認できます。

<オール>
  • デスクトップのホーム フォルダを開きます。
  • 問題のファイル/フォルダに移動します。
  • ファイル/フォルダを右クリックし、[プロパティ] をクリックします。 .
  • 権限をクリックします タブ
  • [高度な権限] をクリックします .
  • 高度な権限に入ったら ボックスに、そのファイルまたはフォルダーに割り当てられているすべてのアクセス許可をグラフィカルに表示できます。

    以下は、高度な権限です。

    ファイルの所有権

    Windows と同様に、各ファイルとフォルダーには所有者がいます。 Windows では、GUI または takeown を介してファイルの所有権を取得できます。 指図。 Linux では、chown : を実行して所有権を取得します。 コマンドラインで。

    Windows と同様に、通常、sudo を使用してファイルの所有権を変更するには管理者権限が必要です。 sudo は、Windows のユーザー アカウント制御 (UAC) に相当する Linux です。管理コマンド ライン ウィンドウを開く代わりに、コマンドの前に sudo を付けて、管理者として実行します。

    専用のフォルダを作成しましょう これらの概念のいくつかを示すために root が所有しています。

    <オール>
  • ホーム フォルダを開き、[ドキュメント] に移動します
  • 右クリック —> アクション —> ここでターミナルを開く でコマンド プロンプトを開きます 、次を実行します:
  • sudo mkdir owned-by-root
    sudo chmod 700 owned-by-root
    

    このフォルダには、所有者の読み取り/書き込み/実行権限のみがあります。管理者権限でフォルダを作成したため、その所有者は現在 root です。

    パーミッションものみに変更しました 所有者はアクセスできます。所有グループおよび他のユーザーは、このフォルダーにまったくアクセスできません。実際、フォルダにはアクセス権がないことを示す大きな鍵が付いていることに気付くでしょう。

    以下に、このフォルダーの所有権を取得する方法を示します。

    <オール>
  • 同じフォルダにある別の端末を開きます (または、既に持っている端末を使用します)
  • sudo chown homelab:users ./owned-by-root を実行
  • 所有権を取得したので、プロパティ ウィンドウを使用してエクスプローラ GUI 内のファイル アクセス許可を変更することもできます。

    (通常) ファイルのパーミッションではなく、所有権のみを変更したい場合。 Linux は、デフォルトでどのようなパーミッションが必要かを把握するのが得意です。影響を知らなくても、「chmod」によって本当に物事を台無しにすることができます。

    ファイル権限の数値表記

    何かしたことがある場合 Linux のトラブルシューティングでは、オンラインで番号スキームを使用してファイルのアクセス許可を説明している人を見たことがあるかもしれません。以下のスクリーンショットで強調表示されていることがわかります:

    Linux では、0600 のような数字を使用して、このアクセス システムの簡略表記を使用します。 .最初の数字は、追加できるいくつかの特別なプロパティです。一般的に 無視。実際、ほとんどの人は表記に 3 桁のみを使用し、先頭の 4 桁を無視しています。

    ファイル権限の数値表記について詳しくは、この記事をご覧ください。

    まとめ

    以上で、A Windows Guy in a Linux World ブログ投稿シリーズのパート II です。パート III で勢いを維持してください!


    Linux
    1. LinuxとWindows間でSAMBAサーバーを構成してファイルを転送する方法

    2. WindowsとLinuxの相互運用性:Sambaの概要

    3. Linux.htaccessのヒントとコツ

    1. Linux –ファイルパーミッションは実行のみですか?

    2. Linuxファイルパーミッションの概念

    3. Linux でサポートおよび推奨されるファイル システム

    1. Linuxを使用してWindowsでpodmanを起動して実行する

    2. ファイル/ディレクトリおよびファイル システム ユーザー タイプの権限テーブル

    3. Windows から Linux にファイルをコピーする