RHEL で NFS クライアントアクセスを設定する

LinuxBeginner
オンラインで実践に進む

はじめに

この実験では、Red Hat Enterprise Linux(RHEL)システムで NFS クライアントアクセスを設定するための基本的なスキルを学びます。まず、mount コマンドを使ってネットワーク共有を手動でマウントし、基本的な手順を理解します。次に、/etc/fstab に永続的なマウント設定を追加します。これにより、システムの再起動後も NFS 共有を自動的に利用できるようになり、静的なネットワークファイルシステム統合の基礎を身につけられます。

これらの基本概念を踏まえ、次はより動的で効率的な方法として automounter を設定します。autofs サービスをインストールして有効にし、必要なときにディレクトリをマウントする間接マップと、固定のマウントポイントを使用する直接マップを作成します。最後に、異なるユーザーで直接マウントと間接マウントが正しく動作することを確認し、堅牢な NFS クライアント設定を管理する力を身につけます。

mount コマンドを使用して NFS 共有を手動でマウントする

このステップでは、Network File System(NFS)プロトコルを使用して、ネットワーク上で共有されたディレクトリに手動でアクセスする方法を学びます。NFS を使うと、クライアントシステムから、ローカルストレージと同じようにネットワーク経由でファイルへアクセスできます。この演習では、必要なコマンドを練習するため、ローカルマシン上で NFS サーバーとクライアントの両方をシミュレートします。

システムには、/srv/nfs/shared_data ディレクトリをエクスポート(共有)する NFS サーバーがあらかじめ設定されています。この共有ディレクトリをローカルフォルダーにマウントし、アクセスを確認してからアンマウントします。

ローカルのマウントポイントを作成する

NFS 共有ディレクトリにアクセスするには、マウントポイントとして使用するローカルディレクトリが必要です。これは、リモート共有をマウントしたときに、その内容が表示されるクライアント側の空のフォルダーです。すべての操作は ~/project ディレクトリ内で行います。

プロジェクトフォルダー内に nfs_mount というディレクトリを作成します。

mkdir ~/project/nfs_mount

プロジェクトフォルダーの内容を一覧表示して、ディレクトリが作成されたことを確認できます。

ls -F ~/project
nfs_mount/

NFS 共有をマウントする

次に、mount コマンドを使用して、リモートの NFS 共有を作成したマウントポイントに接続します。ファイルシステムのマウントはシステムレベルの操作であるため、sudo 権限が必要です。

基本的な構文は mount -t nfs -o vers=3,nolock <server>:<remote_directory> <local_mount_point> です。

  • -t nfs -o vers=3,nolock: ファイルシステムの種類を NFS に指定し、NFSv3 を強制します。また、コンテナ化された実験環境では別個の NFS ロックサービスが動作していないため、ファイルロックをローカルで処理します。
  • localhost:/srv/nfs/shared_data: マウント元です。サーバーと、サーバーがエクスポートしているパスを指定します。
  • ~/project/nfs_mount: マウント先です。ローカルのマウントポイントを指定します。

次のコマンドを実行して共有をマウントします。

sudo mount -t nfs -o vers=3,nolock localhost:/srv/nfs/shared_data ~/project/nfs_mount

成功した場合、このコマンドは何も出力しません。

マウントを確認して共有を操作する

mount コマンドを実行したら、共有が正しくマウントされたことを確認します。確認方法はいくつかあります。

まず、mount の出力を grep に渡し、NFS マウントだけを検索します。

mount | grep nfs
localhost:/srv/nfs/shared_data on /home/labex/project/nfs_mount type nfs (rw,relatime,vers=3,rsize=...,wsize=...,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,local_lock=none,addr=...)

次に、マウントポイントの内容を確認します。リモートの /srv/nfs/shared_data ディレクトリにあるファイルが表示されます。

ls -l ~/project/nfs_mount
total 4
-rw-r--r--. 1 root root 32 Nov 10 14:30 welcome.txt

このディレクトリは、ローカルフォルダーと同じように操作できます。この実験環境では、NFS サーバーが no_root_squash で設定されているため、ファイルの所有者は root です。本番環境では、NFS サーバーの設定によっては所有者が nobody になる場合があります。マウントした共有内に新しいファイルを作成してみましょう。NFS 共有の所有者が root の場合があるため、ファイルを書き込むには tee コマンドと sudo を使用します。

echo "My test file" | sudo tee ~/project/nfs_mount/my_file.txt > /dev/null

元のファイルと同じ場所に新しいファイルが作成されたことを確認します。

ls -l ~/project/nfs_mount
total 8
-rw-r--r--. 1 root  root  13 Nov 10 14:35 my_file.txt
-rw-r--r--. 1 root  root  32 Nov 10 14:30 welcome.txt

NFS 共有をアンマウントする

ネットワーク共有の使用が終わったら、umount コマンドを使用して正しくアンマウントすることが重要です。これにより、すべてのデータが同期され、接続が適切に閉じられます。指定するのはマウントポイントだけです。

sudo umount ~/project/nfs_mount

共有がアンマウントされたことを確認するには、~/project/nfs_mount ディレクトリの内容を一覧表示します。再び空になっているはずです。

ls -l ~/project/nfs_mount
total 0

/etc/fstab に永続的な NFS マウントを設定する

このステップでは、手動マウントの方法を学んだ後、NFS マウントを永続化します。手動マウントは一時的なもので、システムを再起動すると解除されます。マウントを永続化するには、/etc/fstab(「file systems table」の略)にエントリを追加します。このファイルには、システムの起動時に自動的にマウントされるファイルシステムとデバイスの一覧が記載されています。

ここでは、/etc/fstab にエントリを追加して、同じ NFS 共有を永続的にマウントします。

環境を準備する

まず、前のステップで使用したマウントポイント ~/project/nfs_mount が存在し、空であることを確認します。前のステップから続けて作業している場合は、すでに存在しているはずです。

ディレクトリが存在しない場合は、作成します。

mkdir -p ~/project/nfs_mount

また、このディレクトリに現在何もマウントされていないことを確認します。umount コマンドを実行すると、マウントされていない場合はエラーが表示されますが、それで問題ありません。

sudo umount ~/project/nfs_mount

/etc/fstab ファイルを編集する

次に、永続的な NFS マウントを定義する新しい行を /etc/fstab に追加します。このシステム設定ファイルを編集するには sudo が必要です。ここでは nano エディターを使用します。

次のコマンドでファイルを開きます。

sudo nano /etc/fstab

ファイルの末尾に次の行を追加します。このファイルの構文に誤りがあると、システムの起動に問題が発生する可能性があるため、十分注意してください。

localhost:/srv/nfs/shared_data /home/labex/project/nfs_mount nfs defaults,_netdev,vers=3,nolock 0 0

この行の各項目を確認します。

  • localhost:/srv/nfs/shared_data: マウントするデバイスです。NFS サーバー(localhost)と、エクスポートされたディレクトリ(/srv/nfs/shared_data)を指定します。
  • /home/labex/project/nfs_mount: 共有にアクセスするためのローカルマウントポイントです。
  • nfs: ファイルシステムの種類を指定します。
  • defaults,_netdev,vers=3,nolock: マウントオプションです。defaults には、読み書き可能を示す rw など、標準的なオプションが含まれます。_netdev はネットワークファイルシステムに重要なオプションで、ネットワークが有効になるまで、この共有のマウントを開始しないようシステムに指示します。vers=3,nolock は、別個のロックサービスを必要とせず、このコンテナ化された実験環境で動作する NFS プロトコルを使用します。
  • 0: dump フィールドです。dump バックアップユーティリティで使用されます。値 0 は無効化を意味します。
  • 0: pass フィールドです。fsck ユーティリティが起動時のファイルシステムチェックの順序を決めるために使用します。値 0 はファイルシステムをチェックしないことを意味します。

行を追加したら、Ctrl+XYEnter の順に押してファイルを保存し、nano を終了します。

/etc/fstab のエントリをテストする

新しい /etc/fstab のエントリをテストするために、システムを再起動する必要はありません。mount コマンドは /etc/fstab を読み取れます。マウントポイントだけを指定すると、mount/etc/fstab 内の対応するエントリを検索し、その情報を使用します。

マウントポイントだけを指定して共有をマウントします。

sudo mount ~/project/nfs_mount

コマンドがエラーなしで完了すれば、/etc/fstab のエントリは正しく設定されています。

マウントを確認する

mount コマンドの出力を確認し、ディレクトリの内容を一覧表示して、共有がマウントされたことを確認します。

mount | grep nfs_mount
localhost:/srv/nfs/shared_data on /home/labex/project/nfs_mount type nfs (rw,relatime,vers=3,rsize=...,wsize=...,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,local_lock=none,addr=...,_netdev)

次に、内容を確認します。共有内のファイルが表示されるはずです。

ls -l ~/project/nfs_mount
total 4
-rw-r--r--. 1 root root 32 Nov 10 14:30 welcome.txt

これでマウントは永続化され、再起動後に自動的に再確立されます。

環境をクリーンアップする

後の演習との競合を避けるため、ここで変更を元に戻します。まず共有をアンマウントし、次に /etc/fstab に追加した行を削除します。

ディレクトリをアンマウントします。

sudo umount ~/project/nfs_mount

/etc/fstab を再度開き、エントリを削除します。

sudo nano /etc/fstab

矢印キーで、追加した行(localhost:/srv/nfs/shared_data ... vers=3,nolock ...)に移動し、Ctrl+K を押して行全体を削除します。その後、Ctrl+XYEnter の順に押して保存し、終了します。

これで、実験の次のパートに進むためのクリーンな状態になります。

autofs をインストールして有効にし、automounter を設定する

このステップでは、手動マウントと永続的なマウントから、自動マウントへ移行します。/etc/fstab は永続的なマウントに適していますが、起動時にすべてをマウントしようとするという欠点があります。ネットワーク共有が利用できない場合、起動処理が遅くなったり、停止したりする可能性があります。autofs サービスが提供する automounter は、ネットワークファイルシステムを最初にアクセスしたときだけ、必要に応じてマウントすることでこの問題を解決します。

autofs サービスは「マップ」と呼ばれる設定ファイル群を使用して、どのリモート共有をどこにマウントするかを決定します。このステップでは、必要なパッケージをインストールし、サービスを起動して、automounter を使用できるようにシステムを準備します。

autofs パッケージをインストールする

autofs の機能は、RHEL のデフォルトインストールには含まれていません。dnf パッケージマネージャーを使用してインストールする必要があります。この操作には sudo 権限が必要です。

次のコマンドを実行して autofs パッケージをインストールします。-y フラグを指定すると、確認プロンプトに自動的に「yes」と回答できます。この実験では便利なオプションです。

sudo dnf install -y autofs

このコマンドによって、autofs パッケージと必要な依存関係がダウンロードされ、インストールされます。次のような出力が表示されます。

Last metadata expiration check: ...
Dependencies resolved.
================================================================================
 Package       Architecture    Version                Repository           Size
================================================================================
Installing:
 autofs        x86_64          1:5.1.7-50.el9         ...                  ...
...

Transaction Summary
================================================================================
Install  1 Package

Total download size: ...
Installed size: ...
...
Complete!

autofs サービスを起動する

標準的な RHEL システムでは、systemctl を使用してサービスを起動し、有効化します。しかし、この実験は systemctl を使用できないコンテナ化された環境で実行されます。そのため、ここでは automount コマンドを直接使用して autofs デーモンを起動します。

このコマンドは automounter デーモンを起動します。デーモンはバックグラウンドで実行され、マップに設定されたディレクトリへのアクセスを監視します。

次のコマンドを実行してサービスを起動します。

sudo automount

成功した場合、このコマンドは何も出力しません。デーモンプロセスを起動するだけです。

サービスが実行中であることを確認する

サービスを確認するために systemctl status autofs を使用できないため、ps コマンドで automount プロセスが実行中か確認します。ps aux コマンドは実行中のすべてのプロセスを一覧表示します。その出力をパイプ |grep に渡し、automount プロセスだけを検索します。

ps aux | grep automount

少なくとも automount プロセス自身を示す行が 1 行表示されます。grep automount と表示される 2 行目は実行した grep コマンドそのものなので、無視してください。

root      ...  0.0  0.0 ...      ?        Ssl  15:30   0:00 /usr/sbin/automount
labex     ...  0.0  0.0 ...      pts/0    S+   15:31   0:00 grep --color=auto automount

/usr/sbin/automount プロセスが表示されれば、サービスが実行中で、必要に応じたマウントを処理できる状態です。次のステップでは、autofs の動作を指定するマップを設定します。

動的なディレクトリ用の間接 automount マップを作成する

このステップでは、最初の automount ルールとして 間接マップ を設定します。間接マップは、最も一般的な automount 設定です。/home/net のような 1 つのベースディレクトリとマップファイルを関連付けます。ユーザーがそのベースディレクトリ内のサブディレクトリにアクセスすると、autofs はマップファイルでサブディレクトリ名を検索し、対応するリモート共有を必要に応じてマウントします。

この方法は、ユーザーのホームディレクトリや複数の共有プロジェクトフォルダーを、すべて一度にマウントせずに利用したい場合に非常に便利です。ここでは、/project_shares という新しいベースディレクトリの下にあるプロジェクトディレクトリを動的にマウントする間接マップを設定します。

NFS サーバーのエクスポートを作成する

まず、シミュレートした NFS サーバー上に、共有するディレクトリを準備します。/srv/nfs/ 内に designtesting という 2 つのプロジェクトディレクトリを作成します。

ディレクトリを作成し、それぞれにサンプルファイルを配置します。

sudo mkdir -p /srv/nfs/{design,testing}
sudo sh -c 'echo "Design documents" > /srv/nfs/design/README'
sudo sh -c 'echo "Testing scripts" > /srv/nfs/testing/README'

次に、NFS サーバーにこれらのディレクトリをエクスポートするよう指示します。/etc/exports ファイルにエントリを追加します。

nano でファイルを開きます。

sudo nano /etc/exports

次の行をファイルに追加します。これらの行は、NFS サーバーが designtesting ディレクトリを、任意のクライアント(*)に読み書き(rw)権限で共有することを指定します。

/srv/nfs/design *(rw,sync,no_root_squash)
/srv/nfs/testing *(rw,sync,no_root_squash)

ファイルを保存して終了します(Ctrl+XYEnter)。

最後に、すべてのディレクトリを再エクスポートして、NFS サーバーに変更を適用します。

sudo exportfs -ra

マスターマップのエントリを作成する

autofs の設定は、マスターマップファイル /etc/auto.master から始まります。ベストプラクティスは、このファイルを直接編集せず、/etc/auto.master.d/ ディレクトリに新しい設定ファイルを追加することです。

プロジェクト共有用の新しいマスターマップファイルを作成します。

sudo nano /etc/auto.master.d/shares.autofs

次の 1 行をファイルに追加します。

/project_shares /etc/auto.shares

この行は autofs に対して、「/project_shares ディレクトリ以下へのアクセスについては、/etc/auto.shares にあるマップファイルを参照して指示に従う」よう指定します。

エディターで保存して終了します。

間接マップファイルを作成する

次に、マスターマップで参照した間接マップファイル /etc/auto.shares を作成します。

sudo nano /etc/auto.shares

次の行をファイルに追加します。

design  -fstype=nfs,rw,sync,vers=3,nolock   localhost:/srv/nfs/design
testing -fstype=nfs,rw,sync,vers=3,nolock   localhost:/srv/nfs/testing

1 行の構成を確認します。

  • design: 「キー」です。/project_shares 以下のサブディレクトリ名に対応します。ユーザーが /project_shares/design にアクセスすると、この行が使用されます。
  • -fstype=nfs,rw,sync,vers=3,nolock: マウントオプションです。ファイルシステムの種類、読み書きアクセス、同期書き込み、NFS バージョン、この実験環境で使用するローカルロックを指定します。
  • localhost:/srv/nfs/design: マウントするリモート NFS 共有の場所です。

エディターで保存して終了します。

autofs を再読み込みしてマウントをテストする

autofs が新しいマップファイルを認識するには、設定を再読み込みする必要があります。systemctl は使用できないため、automount プロセスに HUP(hangup)シグナルを送ります。これにより、プロセスが設定を再読み込みします。

sudo killall -HUP automount

次に、動作をテストします。まず、ベースディレクトリ /project_shares の内容を一覧表示します。まだ何もマウントされていないため、空に見えます。

ls -l /project_shares
total 0

次に、サブディレクトリの 1 つにアクセスします。これが autofs にマウントを実行させるトリガーになります。

ls -l /project_shares/design
total 4
-rw-r--r--. 1 root root 17 Nov 10 16:10 README

成功です。design 共有が自動的にマウントされました。ここでベースディレクトリを再度一覧表示すると、アクティブなマウントポイントである design ディレクトリが表示されます。

ls -l /project_shares
total 0
dr-xr-xr-x. 2 root root 0 Nov 10 16:12 design

testing ディレクトリについても同じ操作を行い、正常に動作することを確認します。

ls -l /project_shares/testing
total 4
-rw-r--r--. 1 root root 16 Nov 10 16:10 README

これで、間接 automount マップの設定とテストが完了しました。

固定マウントポイント用の直接 automount マップを作成する

このステップでは、2 種類目の automount 設定である 直接マップ について学びます。複数のマウントを共通のベースディレクトリの下にまとめる間接マップとは異なり、直接マップではファイルシステム内の任意の場所に、個別のマウントポイントを指定します。直接マップの各エントリは、1 つの絶対パスに対応します。

直接マップは、共有ツールディレクトリを /usr/local/tools にマウントする場合のように、少数の共有を、固定された既知の場所にマウントするときに便利です。ここでは、共有された common_data ディレクトリを /mnt/common にマウントする直接マップを設定します。

NFS サーバーのエクスポートを準備する

前と同様に、まずシミュレートした NFS サーバー上で、共有するディレクトリを準備します。common_data というディレクトリを作成します。

ディレクトリと、その中のサンプルファイルを作成します。

sudo mkdir -p /srv/nfs/common_data
sudo sh -c 'echo "Common shared data" > /srv/nfs/common_data/info.txt'

次に、/etc/exports にエントリを追加して、このディレクトリを NFS 経由で利用できるようにします。

sudo nano /etc/exports

次の行をファイルに追加します。これにより /srv/nfs/common_data ディレクトリが共有されます。

/srv/nfs/common_data *(rw,sync,no_root_squash)

ファイルを保存して終了します(Ctrl+XYEnter)。

すべてのディレクトリを再エクスポートして、NFS サーバーに変更を適用します。

sudo exportfs -ra

直接マップ用のマスターマップエントリを作成する

直接マップを使用するには、まずマスターマップ設定から直接マップを参照する必要があります。特殊なマウントポイント /- は、関連付けられたマップファイルが直接マップであることを示します。

直接マウント用の新しいマスターマップファイルを作成します。

sudo nano /etc/auto.master.d/direct.autofs

次の 1 行をファイルに追加します。

/- /etc/auto.direct

この行は autofs に対して、「直接マウントの一覧として /etc/auto.direct ファイルを参照する。マウントポイントは、そのファイル内で絶対パスとして定義されている」と指定します。

エディターで保存して終了します。

直接マップファイルを作成する

次に、先ほど参照した直接マップファイル /etc/auto.direct を作成します。

sudo nano /etc/auto.direct

次の行をファイルに追加します。間接マップとは形式が少し異なります。

/mnt/common -fstype=nfs,rw,sync,vers=3,nolock   localhost:/srv/nfs/common_data

この行の構成を確認します。

  • /mnt/common: 「キー」です。ただし直接マップでは、キーはマウントポイントの 完全な絶対パス です。
  • -fstype=nfs,rw,sync,vers=3,nolock: マウントオプションです。前と同じく、NFS バージョンと、この実験環境で使用するローカルロックを含みます。
  • localhost:/srv/nfs/common_data: リモート NFS 共有の場所です。

エディターで保存して終了します。

autofs を再読み込みして直接マウントをテストする

間接マップの場合と同じように、新しい直接マップを認識させるため、autofs の設定を再読み込みします。

sudo killall -HUP automount

次に、直接マウントをテストします。間接マップとは異なり、アクセスを試みるまでファイルシステム上に /mnt/common マウントポイントは存在しません。

/mnt/common ディレクトリにアクセスします。これにより autofs がマウントポイントを作成し、共有をマウントします。

ls -l /mnt/common
total 4
-rw-r--r--. 1 root root 19 Nov 10 17:00 info.txt

成功です。直接マウントが必要に応じて作成されました。この実験環境では、NFS サーバーとクライアントが同一マシンであるため、マウント表示は変化する場合があります。そのため、ls -l /mnt/common が正常に完了し、上記のように出力されることが最も信頼できる確認方法です。

これで、動的なサブディレクトリ用の間接マップと、固定された絶対マウントポイント用の直接マップの両方を設定できました。

異なるユーザーで直接マウントと間接マウントを確認する

このステップでは、複数ユーザー環境で automounter がどのように動作するかを確認します。自動マウントによって共有は利用可能になりますが、実際にファイルを読み書きできるユーザーを制御するのは、NFS サーバー側のファイルシステム権限です。2 つのテストユーザーを作成し、それぞれに対応する NFS 共有の所有権を設定して、間接マップと直接マップの両方へのアクセスをテストします。

この演習では、異なるチーム(たとえば design チームと testing チーム)がそれぞれの共有ディレクトリを所有し、他のユーザーには読み取りを許可しながら、書き込みは所有者に制限するという、実際の環境に近いシナリオを確認します。

テストユーザーを作成して権限を設定する

まず、designer1tester1 という 2 つの新しいユーザーを作成します。また、これらのアカウントへ切り替えられるよう、簡単なパスワードを設定します。

useradd コマンドでユーザーを作成します。-m フラグを指定すると、ホームディレクトリも作成されます。

sudo useradd -m designer1
sudo useradd -m tester1

次に、それぞれのユーザーにパスワードを設定します。この実験では簡単にするため、両方のパスワードに labex.io を使用します(長さ、大文字と小文字の混在、数字、特殊文字を含む複雑さの要件を満たします)。

sudo passwd designer1
## Enter new UNIX password: labex.io
## Retype new UNIX password: labex.io
## passwd: password updated successfully

sudo passwd tester1
## Enter new UNIX password: labex.io
## Retype new UNIX password: labex.io
## passwd: password updated successfully

次に、「サーバー」側の共有ディレクトリ(/srv/nfs/*)の所有者を変更し、新しいユーザーがアクセスできるようにします。

sudo chown -R designer1:designer1 /srv/nfs/design
sudo chown -R tester1:tester1 /srv/nfs/testing

/srv/nfs/common_data ディレクトリは root が所有する状態にするため、一般ユーザーは読み取り専用になります。

designer1 ユーザーとしてアクセスをテストする

su(substitute user)コマンドを使用して、designer1 ユーザーアカウントに切り替えます。- を指定すると、そのユーザーの完全なログイン環境が読み込まれます。

su - designer1
## Password: labex.io

コマンドプロンプトが [designer1@host ~]$ に変わります。

まず、間接マップを通じて design 共有にアクセスします。これは成功するはずです。

ls -l /project_shares/design
total 4
-rw-r--r--. 1 designer1 designer1 17 Jun 16 16:12 README

次に、このディレクトリにファイルを書き込みます。これも成功するはずです。

echo "My design file" > /project_shares/design/design_file.txt
ls -l /project_shares/design
total 8
-rw-r--r--. 1 designer1 designer1 15 Jun 16 16:18 design_file.txt
-rw-r--r--. 1 designer1 designer1 17 Jun 16 16:12 README

次に、testing 共有へのアクセスを試みます。内容は確認できますが、所有者が tester1 であるため、書き込みはできません。

ls -l /project_shares/testing
total 4
-rw-r--r--. 1 tester1 tester1 16 Jun 16 16:12 README

最後に、直接マップされた共有をテストします。designer1 は読み取れますが、書き込みはできないはずです。

cat /mnt/common/info.txt
Common shared data
echo "test" > /mnt/common/new_file.txt
-bash: /mnt/common/new_file.txt: Permission denied

designer1 のセッションを終了し、labex ユーザーに戻ります。

exit

tester1 ユーザーとしてアクセスをテストする

次に、tester1 ユーザーとして同様のテストを行います。

su - tester1
## Password: labex.io

design 共有にアクセスします。designer1 が作成したファイルを含む内容を確認できますが、書き込みはできません。

ls -l /project_shares/design
total 8
-rw-r--r--. 1 designer1 designer1 15 Jun 16 16:18 design_file.txt
-rw-r--r--. 1 designer1 designer1 17 Jun 16 16:12 README

次に、testing 共有へアクセスして書き込みます。tester1 がこのディレクトリを所有しているため、成功するはずです。

ls -l /project_shares/testing
total 4
-rw-r--r--. 1 tester1 tester1 16 Jun 16 16:12 README
echo "My test script" > /project_shares/testing/test_script.sh
ls -l /project_shares/testing
total 8
-rw-r--r--. 1 tester1 tester1 16 Jun 16 16:12 README
-rw-r--r--. 1 tester1 tester1 15 Jun 16 16:19 test_script.sh

tester1 のセッションを終了します。

exit

環境をクリーンアップする

実験を終了し、システムを元の状態に戻すため、作成したテストユーザーを削除します。userdel -r コマンドは、ユーザーとそのホームディレクトリを削除します。

sudo userdel -r designer1
sudo userdel -r tester1

これで、autofs を使用した NFS 管理の実験は終了です。

まとめ

この実験では、RHEL システムで NFS クライアントアクセスを設定する方法を学びます。まず、ローカルのマウントポイントを作成し、mount コマンドを使用して NFS 共有に接続することで、手動マウントを行います。mount コマンドによる手動接続を確認した後、/etc/fstab にエントリを作成して永続的なマウントを設定し、起動時に共有が自動的にマウントされるようにします。

さらに、autofs サービスを使用したオンデマンドマウントの設定も扱います。サービスをインストールして有効にした後、2 種類の方法で共有のマウント方法を定義します。動的にディレクトリをマウントする間接マップと、あらかじめ決めた固定場所に共有をマウントする直接マップを作成します。最後に、異なるユーザーで直接マウントと間接マウントが正しく動作することを確認します。