Ubuntu Server でファイル共有サービスをセットアップすることは、現代の IT 環境における重要なタスクであり、デバイス、オペレーティング システム、ユーザー間でのシームレスなコラボレーションと効率的なデータ交換を可能にします。Linux、Windows、macOS システムが混在する環境で作業している場合でも、共有リソースへの集中アクセスを必要とするチームをサポートしている場合でも、Ubuntu Server はファイル共有のニーズを満たす強力なツールを提供します。
このガイドでは、Ubuntu Server で 3 つの一般的なファイル共有サービス(FTP、Samba、NFS)をセットアップする手順を説明します。これらのサービスは、安全で信頼性の高いファイル共有を促進し、多様なプラットフォームや環境間での互換性を確保するように設計されています。
以前の記事:
01. Ubuntu Server 入門 – SysOSX: AI & Cloud
02. 初めての Ubuntu Server のセットアップ方法:初心者向けガイド – SysOSX: AI & Cloud
03. Ubuntu Server の Linux コマンドラインをマスターする – SysOSX: AI & Cloud
04. Ubuntu Server でのユーザーと権限の管理:包括的ガイド – SysOSX: AI & Cloud
05. Ubuntu Server のネットワークの基礎:包括的ガイド – SysOSX: AI & Cloud
06. Ubuntu Server でのソフトウェアのインストールと管理:完全ガイド – SysOSX: AI & Cloud
07.Ubuntu Server のパッチ適用とアップデート:包括的ガイド – SysOSX: AI & Cloud
08. Ubuntu Server の保護:強化と防御のための実践的な手順 – SysOSX: AI & Cloud
10. Ubuntu Server のシステム監視ツール:包括的ガイド – SysOSX: AI & Cloud
11. Ubuntu サーバーの集中ログ管理:必読ガイド – SysOSX: AI & Cloud
12. Ubuntu Server の監査とコンプライアンス:ベスト プラクティス – SysOSX: AI & Cloud
13. ホスティングと Web アプリケーションのための Ubuntu Server のセットアップ:究極ガイド – SysOSX: AI & Cloud
14. 1 台の Ubuntu Server で複数の Web サイトをホストする:役立つヒント – SysOSX: AI & Cloud
15. Ubuntu Server でのストレージとディスクの管理:シンプル ガイド – SysOSX: AI & Cloud
ファイル共有サービスの概要
ファイル共有サービスを使用すると、デバイス間でネットワーク経由でデータを交換できます。Ubuntu Server は、ファイル共有のための複数のプロトコルをサポートしています。具体的には次のとおりです:
- FTP(ファイル転送プロトコル):ネットワーク経由でデバイス間でファイルを転送するのに最適です。
- Samba:SMB/CIFS プロトコルを使用して、Linux システムと Windows システム間でファイル共有を可能にします。
- NFS(ネットワーク ファイル システム):Linux や macOS を含む、Unix ベースのシステム間でファイルを共有するために設計されています。
各プロトコルにはそれぞれ強みがあり、選択は特定のユースケースによって異なります。以下では、各サービスのセットアップ プロセスを説明します。
FTP、Samba、NFS の使用シナリオ
各ファイル共有プロトコルのユースケースを理解することで、環境に適したプロトコルを選択できます:
FTP のユースケース
FTP は、ネットワーク経由でデバイス間でファイルを転送する必要がある環境に最適です。例:
- クライアントが Web サーバーにファイルをアップロードする Web サイトのホスティング。
- 共有ディレクトリへの永続的なアクセスを必要としない外部ユーザーとのファイル共有。
- スクリプトまたは cron ジョブを使用したファイルのアップロード/ダウンロードの自動化。
Samba のユースケース
Samba は、Linux システムと Windows システムが混在する環境に最適です。一般的なシナリオは次のとおりです:
- 企業ネットワークで、Linux サーバーと Windows デスクトップ間でファイルを共有すること。
- 異なるオペレーティング システムのユーザー間のコラボレーションのために共有フォルダーを提供すること。
- Windows ユーザーが Linux ベースのファイル サーバーにシームレスにアクセスできるようにすること。
NFS のユースケース
NFS は、Linux や macOS のような Unix ベースのシステム向けに作られています。次のようなシナリオでうまく機能します:
- データセンターまたはクラウド環境で、Linux サーバー間でファイルを共有すること。
- 開発目的で、macOS システムにディレクトリをマウントすること。
- Linux で実行されるアプリケーション向けに、永続的で高性能な共有ストレージを提供すること。
FTP のセットアップ
FTP は、デバイス間でファイルを転送するために広く使用されているプロトコルです。Ubuntu で FTP サーバーをセットアップするには:
ステップ 1: vsftpd をインストールする
次のパッケージをインストールするために、次のコマンドを実行します:vsftpd:
sudo apt update
sudo apt install vsftpd
ステップ 2: vsftpd を設定する
設定ファイルを編集します:
sudo nano /etc/vsftpd.conf
次の変更を行います:
- 匿名アクセスを有効にします(任意):
anonymous_enable=NO - ローカル ユーザーを許可します:
local_enable=YES write_enable=YES - ユーザーをホーム ディレクトリに制限します:
chroot_local_user=YES - ホーム ディレクトリを書き込み不可にする
sudo chmod a-w /home/yourusername
ファイルを保存して閉じ、FTP サービスを再起動します:
sudo systemctl restart vsftpd
ステップ 3: FTP サーバーをテストする
FTP クライアント(FileZilla など)またはコマンドラインを使用して、サーバーに接続します:
ftp <server-ip>
出力:
PS C:\> ftp 10.0.0.13
Connected to 10.0.0.13.
220 (vsFTPd 3.0.5)
200 Always in UTF8 mode.
User (10.0.0.13:(none)): uadmin
331 Please specify the password.
Password:
230 Login successful.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
uploads
226 Directory send OK.
ftp: 12 bytes received in 0.00Seconds 12000.00Kbytes/sec.
ftp> put test.txt
200 PORT command successful. Consider using PASV.
553 Could not create file.
ftp> cd uploads
250 Directory successfully changed.
ftp> pwd
257 "/uploads" is the current directory
ftp> put test.txt
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
test.txt
226 Directory send OK.
ftp: 13 bytes received in 0.00Seconds 13000.00Kbytes/sec.
ftp>

Windows と Linux 向けの Samba の設定
Samba は、Linux システムと Windows システム間でファイルを共有するのに最適です。Samba をセットアップするには、次の手順に従ってください:
ステップ 1: Samba をインストールする
次のコマンドを実行します:
sudo apt update
sudo apt install samba
ステップ 2: Samba を設定する
Samba の設定ファイルを編集します:
sudo nano /etc/samba/smb.conf
ディレクトリを共有するために、次のセクションを追加します:
[SharedFolder]
path = /path/to/shared/folder
read only = no
browsable = yes
guest ok = yes
force user = nobody
ステップ 3: 権限を設定する
共有フォルダーに適切な権限があることを確認します:
sudo chmod -R 0777 /path/to/shared/folder
sudo chown -R nobody:nogroup /path/to/shared/folder
Samba サービスを再起動します:
sudo systemctl restart smbd
ステップ 4: Samba 共有にアクセスする
- Windows:エクスプローラーを開き、サーバーの IP アドレスを入力します(例:
\\<server-ip>). - Linux:次を使用します:
smbclientコマンド、または次を使用して共有をマウントします:cifs.

次を使用して、SMB のユーザー名とパスワードを設定します:
sudo smbpasswd -a username
Samba サーバーをセットアップし、SMB のユーザー名とパスワードを追加して /www/var を共有したら、Windows マシンからアクセスしてみてください。

Linux と macOS 向けの NFS のセットアップ
NFS は、Unix ベースのシステム間でファイルを共有するための強力なプロトコルです。NFS のセットアップ方法は次のとおりです:
ステップ 1: NFS サーバーをインストールする
次のコマンドを実行します:
sudo apt update
sudo apt install nfs-kernel-server
ステップ 2: NFS エクスポートを設定する
NFS エクスポート ファイルを編集します:
sudo nano /etc/exports
共有するディレクトリを追加し、クライアントの IP またはネットワークを指定します:
/path/to/shared/folder <client-ip>(rw,sync,no_subtree_check)
次に、次を使用してエクスポートを確認します:
exportfs -v

ステップ 3: 変更を適用する
NFS サービスを再起動します:
sudo systemctl restart nfs-kernel-server
ステップ 4: NFS 共有をマウントする
クライアント マシンで、次のコマンドを使用して NFS 共有をマウントします:
sudo mount <server-ip>:/path/to/shared/folder /mount/point
クライアント側で、コマンドラインを使用して NFS クライアントをインストールします:
sudo apt install nfs-common
#Check if the NFS server is listening on the required ports:
sudo showmount -e nfs-server-ip

一般的な問題のトラブルシューティング
ファイル共有サービスでは、設定ミスやネットワーク設定が原因で問題が発生することがあります。一般的な問題と解決策は次のとおりです:
ファイアウォールの設定
必要なポートが開いていることを確認します:
- FTP:ポート 21
- Samba:ポート 137-139 と 445
- NFS:ポート 2049 など(詳細は次を確認:
/etc/services)。
次のポートを許可するには、次を使用します:ufw。
sudo ufw allow <port-number>
権限エラー
共有フォルダーのディレクトリの権限と所有権を確認します。
接続の問題
ネットワーク設定を確認し、サーバーとクライアントが同じサブネット上にあることを確認します。
その他のリソース
詳細については、各サービスの公式ドキュメントを参照してください:
次の章:高度なトピック
次の章では、次について詳しく説明します:高度なトピック。サーバー管理スキルをさらに向上させるための内容です。最初のトピックは次に焦点を当てます:Ubuntu での安全なデータベース サーバーのセットアップ。ここでは、Ubuntu サーバーに MySQL や MariaDB のようなデータベースをインストールして設定する方法を学びます。お楽しみに!
3 thoughts on “16. Setting Up File Sharing Services on Ubuntu Server: a complete guide”