Linux のファイル、ディレクトリ、およびユーザー権限を管理するためのガイド

1. ユーザーとグループの管理

導入

Linux システムでは、ユーザーとグループの管理が非常に重要です。ユーザーとグループの設定は、システムのセキュリティに関連するだけでなく、管理者がファイルやディレクトリのアクセス許可をより適切に管理するのにも役立ちます。この章では、Linux システムでユーザーとグループを管理する方法を紹介します。

ユーザーを作成

新しいユーザを作成するには、useraddコマンドを使用します。「newuser」という名前のユーザーを作成するサンプル コードを次に示します。

useradd newuser

ユーザーを削除する

ユーザを削除するには、userdelコマンドを使用します。「olduser」という名前のユーザーを削除するサンプル コードを次に示します。

userdel olduser

ユーザーのパスワードを変更する

ユーザーのパスワードを変更するには、passwdコマンドを使用できます。「newuser」という名前のユーザーのパスワードを変更するサンプル コードを次に示します。

passwd newuser

ユーザー属性の変更

ユーザーの属性を変更するには、usermodコマンドを使用できます。以下は、「newuser」という名前のユーザーのグループを「newgroup」に変更するサンプルコードです。

usermod -g newgroup newuser

グループを作る

新しいグループを作成するには、groupaddコマンドを使用します。「newgroup」という名前のグループを作成するサンプル コードを次に示します。

groupadd newgroup

グループの削除

グループを削除するには、groupdelコマンドを使用します。「oldgroup」という名前のグループを削除するサンプル コードを次に示します。

groupdel oldgroup

ユーザーをグループに追加

ユーザーをグループに追加するには、usermodコマンドを使用できます。以下は、「newuser」という名前のユーザーを「newgroup」という名前のグループに追加するサンプル コードです。

usermod -aG newgroup newuser

グループからユーザーを削除する

グループからユーザを削除するには、gpasswdコマンドを使用します。「olduser」という名前のユーザーを「oldgroup」という名前のグループから削除するサンプル コードを次に示します。

gpasswd -d olduser oldgroup

これらは、Linux におけるユーザーおよびグループ管理の基本的な操作の一部です。ユーザーとグループの管理には、より高度な機能とオプションがあります。関連情報を確認して自分で学習することができます。

2. ファイルとディレクトリのアクセス許可の管理

導入

Linux システムでは、ファイルとディレクトリのアクセス許可がデータのセキュリティを保護する鍵となります。アクセス許可を正しく設定すると、ファイルやディレクトリへのユーザー アクセス レベルを制御し、許可されたユーザーのみが読み取り、書き込み、または関連する操作を実行できるようにすることができます。この章では、ファイルとディレクトリのアクセス許可を管理する方法について説明します。

ファイル権限の概要

Linux システムでは、各ファイルとディレクトリには、誰が読み取り、書き込み、または操作を実行できるかを決定するアクセス許可があります。権限は、所有者、グループ、その他の 3 つのグループに分類されます。各グループには、独自の読み取り (r)、書き込み (w)、および実行 (x) 権限があります。以下は権限の記号表現です。

  • r: 読み取り許可 (4)
  • w:書き込み許可(2)
  • ×:実行許可(1)

数字を使用して権限の組み合わせを表します。次に例を示します。

  • rw-: 読み取りおよび書き込み権限 (6)
  • rx: 読み取りおよび実行権限 (5)
  • r–: 読み取り専用権限 (4)

ファイルのアクセス許可を変更する

ファイルのアクセス許可を変更するには、chmodコマンドを使用できます。以下は、ファイル「file.txt」のアクセス許可を、所有者は読み取りおよび書き込み可能、​​そのファイルが属するグループは読み取り可能、その他のユーザーのみが読み取り可能に設定するサンプル コードです。

chmod 644 file.txt

ファイルの所有者とグループを変更する

ファイルの所有者を変更するには、chownコマンドを使用できます。以下は、ファイル「file.txt」の所有者を「user」に変更するサンプルコードです。

chown user file.txt

ファイルが属するグループを変更するには、chgrpコマンドを使用します。以下は、ファイル「file.txt」のグループを「group」に変更するサンプルコードです。

chgrp group file.txt

ディレクトリの権限を変更する

ディレクトリのアクセス許可を変更するには、chmodコマンドを使用し、再帰オプション (-R) を追加して、ディレクトリ内のファイルとサブディレクトリを同時に変更します。次のサンプル コードは、ディレクトリ "dir" とその内容のアクセス許可を、所有者に対しては読み取り、書き込み、および実行に設定し、グループおよびその他の場合には読み取りと実行のみに設定します。

chmod -R 755 dir

ファイルとディレクトリのアクセス許可をリストする

ファイルとディレクトリの権限を一覧表示するには、lsコマンドを使用し、長い形式のオプション (-l) を追加します。現在のディレクトリ内のすべてのファイルとディレクトリとそのアクセス許可を一覧表示するサンプル コードを次に示します。

ls -l

特別な権限を使用する

Linux システムでは、ファイルやディレクトリに適用できる特別なアクセス許可もあります。

  • Setuid (SUID): プログラムが実行時にファイル所有者のアクセス許可を取得できるようにします。コマンドを使用しchmodて数値を 4 に設定すると、Setuid 権限が有効になります。

  • Setgid (SGID): プログラムが実行時にファイルが属するグループのアクセス許可を取得できるようにします。コマンドを使用しchmodて数値を 2 に設定すると、Setgid アクセス許可が有効になります。

  • Sticky Bit: 通常はディレクトリ内で使用され、ファイル所有者だけがそのディレクトリ内のファイルを削除できることを示します。コマンドを使用しchmodて数値を 1 に設定すると、スティッキー ビットのアクセス許可を有効にできます。

ファイルとディレクトリのアクセス許可のケーススタディ

次の例は、ファイルとディレクトリのアクセス許可を設定し、特別なアクセス許可を使用する方法を示しています。

  1. 「example.txt」という名前のファイルを作成します。
touch example.txt
  1. ファイルの所有者を「user」に、グループを「group」に設定します。
chown user:group example.txt
  1. 所有者のみがファイルの読み取りと書き込みを実行でき、グループとその他のユーザーは読み取りのみができるように設定します。
chmod 644 example.txt
  1. 「example_dir」というディレクトリを作成します。
mkdir example_dir
  1. ディレクトリの所有者を「user」に、グループを「group」に設定します。
chown user:group example_dir
  1. 所有者のみがディレクトリの読み取り、書き込み、実行を実行でき、グループとその他のユーザーは読み取りと実行のみができるように設定します。
chmod 755 example_dir

以上がLinuxにおけるファイルやディレクトリの権限管理の内容です。システムとデータのセキュリティを確保するには、権限を正しく設定することが重要です。

ファイルとディレクトリのアクセス許可を管理する必要がある場合、システム内のファイルとディレクトリをより適切に管理するのに役立つ操作と概念が他にもいくつかあります。

親ディレクトリのアクセス許可を継承する

デフォルトでは、新しく作成されたファイルとディレクトリは、親ディレクトリのアクセス許可を継承します。これは、親ディレクトリのアクセス許可を変更すると、新しく作成されたファイルとディレクトリにもそれに応じて新しいアクセス許可が与えられることを意味します。これは、一貫した権限設定を維持するのに役立ちます。

特別な権限の使用例

特別な権限の使用例をいくつか示します。

  • 設定時間(SOUTH):

    • 実行可能プログラムに Setuid 権限がある場合、そのプログラムは現在のユーザーではなく、ファイルの所有者として実行されます。これは、ファイルの所有者だけがアクセスできるリソースに一部のプログラムがアクセスする必要がある場合に便利です。たとえば、passwd プログラムには Setuid 権限があるため、一般ユーザーが自分のパスワードを変更できます。
    • Setuid 権限を設定するコマンド:chmod u+s filename
  • セットギッド(SGID):

    • 実行可能プログラムに Setgid 権限がある場合、そのプログラムは現在のユーザーとしてではなく、ファイルが属するグループとして実行されます。これは、特定のプログラムを特定のグループのコンテキストで実行する必要がある場合に便利です。たとえば、ユーザーが新しいファイルまたはディレクトリを作成すると、そのユーザーが属するディレクトリのグループが自動的に継承されます。
    • Setgid 権限を設定するコマンド:chmod g+s filename
  • スティッキービット:

    • ディレクトリの場合、スティッキー ビット権限により、ファイルの所有者のみがファイルを削除できます。これは、共有ディレクトリで他のユーザーが他の人のファイルを誤って削除するのを防ぐのに役立ちます。
    • スティッキー ビットのアクセス許可を設定するコマンド:chmod +t directoryname

ACL (アクセス制御リスト)

ACL は、特定のユーザーまたはグループに対してより詳細な権限を設定できる、より柔軟で詳細な権限制御メカニズムです。ACL を使用すると、所有者、グループなどだけでなく、ファイルまたはディレクトリに追加のユーザーおよびグループのアクセス許可を追加できます。ACL は特定の状況で役立ちますが、ACL をサポートするファイル システムが必要です。

umask

umask は、新しく作成されたファイルとディレクトリのデフォルトの権限を決定するために使用されるシステムレベルの権限マスクです。特定のアクセス許可をブロックすることで、ファイルとディレクトリの最終的なアクセス許可に影響を与えます。デフォルトでは、Linux システムの umask 値は通常 022 に設定されており、新しいファイルやディレクトリのアクセス許可から書き込みアクセス許可が削除され、他のユーザーがそれらを編集できないようになります。

umaskこのコマンドを使用して現在の umask 値を表示したり、umask <value>このコマンドを使用して新しい umask 値を設定したりできます。umask 値は 8 進数であることに注意してください。

予防

ファイルとディレクトリのアクセス許可を管理するときは、次の点に留意してください。

  • ファイルとディレクトリに対する現在のアクセス許可を理解し、それらが適切に変更されていることを確認します。
  • 特別な権限を乱用せず、必要な場合にのみ使用してください。
  • システムとデータのセキュリティを確保するために、権限は定期的にチェックおよび更新されます。
  • ACL の概念と使用法を理解し、より詳細な制御が必要な場合に使用します。
  • 必要に応じて umask 値を調整し、新しく作成されたファイルとディレクトリがニーズを満たしていることを確認します。

要約する

この記事では、ユーザーとグループの管理、およびファイルとディレクトリのアクセス許可管理の重要な概念と操作について学びました。まず、ユーザーの作成、削除、変更方法と、ユーザーのパスワードと属性の変更方法を確認しました。次に、グループを作成および削除する方法を確認し、グループにユーザーを追加および削除するプロセスを示しました。

次に、ファイルとディレクトリのアクセス許可管理について詳しく説明し、使用法とケーススタディを提供します。ファイルのアクセス許可がどのように機能するかを学び、ファイルのアクセス許可、ファイルの所有者とグループを変更する方法、およびディレクトリのアクセス許可を変更する方法を学びました。ファイルとディレクトリのアクセス許可情報を一覧表示する方法も学びました。

セキュリティと柔軟性を高めるために、特別な権限の使用例を紹介します。Setuid アクセス許可を使用すると、実行可能プログラムをファイルの所有者として実行できる一方、Setgid アクセス許可を使用すると、実行可能プログラムをファイルが属するグループとして実行できます。さらに、スティッキー ビットのアクセス許可により、他のユーザーが誤ってファイルを削除することを防ぎます。

また、より詳細な権限制御メカニズムを提供し、特定のユーザーまたはグループに追加の権限を設定できる ACL (アクセス コントロール リスト) についても学びました。最後に、新しく作成されたファイルとディレクトリのデフォルトのアクセス許可に影響を与える umask について説明しました。umask 値を理解して調整することで、確実にニーズを満たすことができます。

要約すると、ユーザーとグループの管理、およびファイルとディレクトリのアクセス許可の管理は、システムのセキュリティとデータの整合性を維持するための重要な操作です。これらの概念と技術を習得することで、許可されたユーザーのみがファイルにアクセスして変更できるようになり、システムを不正なアクセスや損傷から保護できます。注意点に留意し、必要に応じてこれらのヒントを適用することで、ファイルとディレクトリのアクセス許可を効果的に管理できるようになります。


おすすめのPythonブティックコラム


Pythonの基礎知識(0基礎入門)

【Python基礎知識】 0.print()関数
【Python基礎知識】 1.データ型、データ応用、データ変換
【Python基礎知識】 2.if条件判定と条件ネスト
【Python基礎知識】 3.input()関数
【Pythonの基礎知識】 4. リストと辞書
【Pythonの基礎知識】 5. Forループとwhileループ
【Pythonの基礎知識】 6. ブール値と4種類のステートメント(break、Continue、pass、else)
【Pythonの基礎知識】 7. 実践操作 ~Pythonを使って「Word PK」ゲームを実装してみる(1)
【Pythonの基礎】 7. 実践操作 ~Pythonを使って「Word PK」ゲームを実装してみる(2)
【Pythonの基礎】 8. プログラミング的思考:問題の解決方法 思考編
【Pythonの基礎知識】 9. 関数の定義と呼び出し
【Pythonの基礎知識】 10. 関数を使ったプログラムの書き方 実践編
【Pythonの基礎知識】 10. Pythonの使い方じゃんけんゲームを実装する - 関数の実践操作編
【Pythonの基礎】 11. デバッグ方法 - よくあるエラー原因とトラブルシューティングの考え方 - 考え方の章
【Pythonの基礎】 12. クラスとオブジェクト(1)
【Pythonの基礎】 12 . クラスとオブジェクト (2)
【Pythonの基礎知識】 13. クラスとオブジェクト (3)
【Pythonの基礎知識】 13. クラスとオブジェクト (4)
【Pythonの基礎知識】 14. ライブラリ管理システムの構築(実践)クラスやオブジェクトの操作)
【Pythonの基礎知識】 15. コーディングの基礎知識
【Pythonの基礎知識】 16. ファイルの読み書きと操作の基礎
【Pythonの基礎知識】 16. 「古詩書き取り問題」のPython実装(ファイルの読み書きとコーディング~実践操作)
【Pythonの基礎知識】 17. モジュールの概念と導入方法
【Python基礎】 18. 実践的な運用~Pythonを使って大量メール自動送信~
【Python基礎】 19. プロダクトの考え方とフローチャートの使い方~考え方
【Python基礎】 20. Pythonの実装「お昼何を食べるか」の(プロダクト思考~実践運用編)
【Pythonの基礎知識】 21. 効率よくダラダラ開く正しい開き方~卒業
【Python ファイル処理】 CSV ファイルの読み込み・加工・書き込み
【Python ファイル処理】 】Excel自動処理(openpyxlを使用)
【Pythonファイル処理】 - Excel形式処理


Python クローラーの知識

【python クローラー】 1. クローラーの基礎知識
【python クローラー】 2. Web ページの基礎知識
【python クローラー】 3. クローラー初体験(BeautifulSoup 解析)
【python クローラー】 4. クローラーの実践操作(ディッシュクローリング)
【pythonクローラー】 5 .クローラーの実践操作(歌詞のクローリング)
【Python クローラー】 6. クローラーの実践操作(パラメーター付きデータのリクエスト)
【Python クローラー】 7. クロールされたデータはどこに保存されるの?
[Python クローラー] 8. 過去を振り返り、新しいことを学ぶ
[Python クローラー] 9. Cookie (クッキー) でログインする
[Python クローラー] 10. ブラウザーに自動で動作するよう指示する (Selenium)
[Python クローラー] 11. クローラーに任せる時間通りに報告する
[Python クローラー] 12. クローラー軍団を構築する
[Python クローラー] 13. 太らない食事とは (クローラー実習)
[Python クローラー] 14. Scrapy フレームワークの説明
[Python クローラー] 15. Scrapy フレームワークの実践(人気のジョブクローリング Take)
【Python クローラー】 16. クローラーの知識ポイントのまとめと復習

おすすめ

転載: blog.csdn.net/qq_41308872/article/details/132900249