はじめに
この実験では、Linux システムで有効になっている認証方法を確認する方法を学びます。ユーザーの認証と承認を管理する重要な設定ファイルを調査します。
まず、/etc/pam.d/ にある PAM (Pluggable Authentication Modules、プラガブル認証モジュール) 設定ファイルを調べて、認証の基本フレームワークを理解します。次に、/etc/sssd/sssd.conf の SSSD (System Security Services Daemon、システムセキュリティサービスデーモン) 設定ファイルを確認して、リモート ID ソース用に設定されているかどうかを確認します。最後に、/etc/nsswitch.conf の NSS (Name Service Switch、名前サービススイッチ) 設定を確認して、システムがユーザーとグループ情報を検索する順序を判断します。この実験の終わりまでに、Linux システムでアクティブな認証方法を特定するためにどこを調べればよいかについての基本的な理解を得ることができます。
ls /etc/pam.d で PAM 設定を確認する
このステップでは、Linux がユーザーの認証と承認をどのように処理するかを調査し始めます。重要なコンポーネントの 1 つが PAM (Pluggable Authentication Modules、プラガブル認証モジュール) です。PAM は、ユーザーがログインしたり、パスワードを変更したり、システムリソースにアクセスしたりする方法を柔軟に管理する手段を提供します。
PAM を、アプリケーション (ログイン画面や sudo など) がユーザーにアクションを実行させる前に参照する一連のルールと考えてください。これらのルールは、主に /etc/pam.d/ ディレクトリにある設定ファイルで定義されています。
このシステムの PAM 設定ファイルを見てみましょう。ディレクトリの内容を一覧表示する ls コマンドを使用します。
ターミナルが開いていない場合は開きます。デスクトップの左側にある Xfce Terminal アイコンから開くことができます。
次のコマンドを入力して Enter キーを押します。
ls /etc/pam.d/
ファイルの一覧が表示されます。各ファイルは通常、PAM を認証に使用するサービスまたはアプリケーションに対応しています。たとえば、common-auth、login、sudo、sshd などのファイルが表示されることがあります。
atd
chfn
chsh
common-account
common-auth
common-password
common-session
common-session-noninteractive
cron
... (出力は異なる場合があります)
これらのファイルには、各サービスの特定の PAM ルールが含まれています。現時点ではファイルの内容の詳細には踏み込みませんが、これらの設定がどこにあるかを知っておくことは重要です。
PAM を理解することは、Linux でのユーザーアクセスとセキュリティを管理するために不可欠です。/etc/pam.d/ の内容を一覧表示することで、このシステムで認証がどのように設定されているかを確認する最初のステップを踏みました。
Continue をクリックして次のステップに進みます。
cat /etc/sssd/sssd.conf で SSSD 設定を確認する
このステップでは、ユーザー管理と認証に関連するもう 1 つの重要なコンポーネントである SSSD (System Security Services Daemon、システムセキュリティサービスデーモン) を見ていきます。SSSD は、LDAP、Active Directory、または FreeIPA などのリモート認証および ID ソースへのアクセスを提供するサービスです。
SSSD は資格情報と情報をキャッシュすることができるため、パフォーマンスが向上し、リモートソースへのネットワーク接続が一時的に利用できない場合でもユーザーが認証できるようになります。
SSSD の主な設定ファイルは通常、/etc/sssd/sssd.conf にあります。このファイルの内容を表示するために cat コマンドを使用します。cat コマンドは、ファイルの内容を表示するためのシンプルなユーティリティです。
ターミナルに次のコマンドを入力して Enter キーを押します。
cat /etc/sssd/sssd.conf
SSSD の設定詳細が表示されます。このファイルの内容は、SSSD が外部の ID ソースに接続するように設定されているかどうかによって異なります。基本的なシステムでは、ファイルは最小限の内容であるか、デフォルト設定が含まれている場合があります。
[sssd]
domains =
config_file_version = 2
services = nss, pam
[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3
[pam]
reconnection_retries = 3
この出力は sssd.conf ファイルの基本構造を示しています。[sssd] セクションにはグローバル設定が含まれており、services 行は SSSD が nss (Name Service Switch、名前サービススイッチ) と pam のサービスを提供していることを示しています。[nss] と [pam] セクションには、それらのサービスに固有の設定が含まれています。
SSSD がリモートソース用に完全に設定されていない場合でも、sssd.conf での存在と基本設定は、システムが認証と ID 検索に SSSD を潜在的に使用するように設定されていることを示しています。
このファイルを調べることで、システムが SSSD を使用するように設定されているかどうか、およびどのサービスと統合されているかを理解するのに役立ちます。
Continue をクリックして次のステップに進みます。
cat /etc/nsswitch.conf で NSS 設定を確認する
この入門実験の最後のステップでは、Name Service Switch (NSS、名前サービススイッチ) の設定を調べます。NSS は、Linux システムがユーザー、グループ、ホスト名、およびその他のネットワーク関連データに関する情報をどこから探すかを決定する上で重要な要素です。
プログラムがユーザーの情報 (ユーザー ID やホームディレクトリなど) を検索する必要がある場合、NSS 設定を参照して、どのソースをチェックするか、およびその順序を知ります。これらのソースには、ローカルファイル ( /etc/passwd や /etc/group など)、DNS、LDAP、または先ほど見た SSSD のようなサービスが含まれます。
NSS の設定ファイルは /etc/nsswitch.conf です。再び cat コマンドを使用してその内容を表示します。
ターミナルに次のコマンドを入力して Enter キーを押します。
cat /etc/nsswitch.conf
異なる種類の情報に対してどのソースを使用するかを指定する行が表示されます。各行は情報の種類 (例:passwd、group、hosts) で始まり、その後にコロンとチェックするソースのリストが続きます。
## /etc/nsswitch.conf
#
## Example configuration of GNU Name Service Switch functionality.
## If you have the `glibc-doc-reference' and `info' packages installed, try:
## `info libc "Name Service Switch"' for information.
passwd: compat systemd
group: compat systemd
shadow: compat
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
この出力例では:
passwd: compat systemdは、ユーザー情報を検索する際に、システムはまずcompatで構成されたソース (多くの場合/etc/passwdのような従来のファイルを指す) をチェックし、次にsystemdをチェックする必要があることを意味します。hosts: files dnsは、ホスト名を解決する際に、システムはまずローカルの/etc/hostsファイル (files) をチェックし、次に DNS を使用する必要があることを意味します。
各行のソースの順序は重要です。システムは要求された情報が見つかるまでソースを順番にチェックします。
nsswitch.conf を理解することで、システムがこれらの情報を検索する順序を知ることができ、ユーザーログイン、ホスト名解決、およびその他の ID 関連の問題をトラブルシューティングするのに役立ちます。
これで、Linux のユーザー管理と認証に関連する 3 つの重要な領域である PAM、SSSD、および NSS を簡単に見てきました。これは、システムが ID とアクセスをどのように処理するかを理解するための基礎的なステップです。
Continue をクリックしてこの実験を完了します。
まとめ
この実験では、重要な設定ファイルを調べることで、Linux がユーザー認証をどのように管理しているかの探索を始めました。まず、ls /etc/pam.d/ を使用して、Pluggable Authentication Modules (PAM、プラグ可能な認証モジュール) の設定ファイルを一覧表示しました。これらの設定ファイルは、様々なサービスやアプリケーションの認証ルールを定義しており、システム上のコア認証ポリシーが保存されている場所を示しています。
次に、cat コマンドを使用して /etc/sssd/sssd.conf の System Security Services Daemon (SSSD、システムセキュリティサービスデーモン) の設定ファイルを表示しようと試みることで、SSSD の調査を始めました。SSSD は、リモートの ID および認証ソースと統合するための重要なサービスであり、その設定を調べることで、システムが外部ディレクトリに対して認証するように設定されているかどうか、およびその方法を判断するのに役立ちます。



