ウェブサイト検索

LinuxでSambaを使用して必要なホームネットワークファイル共有を行う方法はこちらです。


重要なポイント

  • 約30分でSambaを使用してLinuxファイルサーバーを設定し、ネットワークストレージを完全に制御します。
  • Sambaは、Linuxサーバー上でファイルを簡単に維持およびアクセスできるためのファイル共有に最適です。
  • Windows、macOS、Android、iPhoneからシームレスにSambaネットワーク共有に接続します。

外付けドライブを使ったり、クラウドストレージの制限に悩んだりするのはもううんざりですか?約30分でシンプルなLinuxサーバーとSambaを作成し、実質的にどの家庭用デバイスからでもアクセスできる個人用ネットワークストレージを利用しましょう。接続速度や追加のハードウェアについて心配する必要はありません。

私はローカルマシンにファイルを保存する際にミニマリストなアプローチを取っています。物事を整理整頓し、十分な空き容量を確保することが好きです。これは、ディスクスペースがメガバイトで測定されていた時代からの習慣です。

付属のストレージはうまく機能しますが、持ち運ばない限りは依然としてローカルです。別のデバイスにUSBメモリを置き忘れた回数は数え切れません。クラウドストレージは良い代替手段ですが、接続速度やファイルサイズには制限があり、大きなファイルを扱う際には特に問題になります。

サンバが救助する

Linuxサーバーを構築し始めて以来、Sambaは自宅ネットワークでファイルを共有するための私のお気に入りです。ファイルを安全に保管し、今後必要ないかもしれないものをアーカイブするのに最適です—でも、一応保管しておきたいと思っています。

私はヘッドレスのUbuntuサーバーを使ってメディアをストリーミングしたり、プリンターを共有したり、大きなファイルを保存したり、重要なデータをバックアップしています。SSH経由でどこからでも管理できており、これはシステムの更新、ユーザーの追加、一般的な管理タスクには問題なく機能しています。大きなファイル操作—たとえば、整理したり移動させたりする場合—はコマンドラインが煩雑になることがあるので、MacやWindowsのデスクトップからファイルやフォルダーを管理するためにネットワーク共有を使用しています。

LinuxにSambaをインストールする

私たちは、Ubuntu、Fedora、およびArch Linux上でコマンドラインを介してSambaをインストールします。インストールが完了したら、Sambaの設定はLinuxディストリビューションに関係なく同じです。

ウブントゥ

お気に入りのターミナルエミュレーターを開いて、Sambaパッケージをインストールしてください。

sudo apt update

sudo apt install samba

オプションとして、サーバーでファイアウォールが稼働している場合、Sambaを通過させる必要があるかもしれません。

sudo ufw allow samba

最後に、Sambaサービスを起動して有効にします。

sudo systemctl start smbd

sudo systemctl enable smbd

フェドラ

Sambaパッケージをインストールしてください。

sudo dnf install samba samba-client

オプションで、ファイアウォールを設定します。

sudo firewall-cmd --permanent --add-service=samba

sudo firewall-cmd --reload

Sambaサービスを開始して有効にしてください。

sudo systemctl start smb

sudo systemctl enable smb

Arch Linux

Sambaパッケージをインストールしてください。

sudo pacman -S samba

Sambaサービスを開始して有効にしてください。

sudo systemctl start smb

sudo systemctl enable smb

firewalldを使用している場合は、Sambaをファイアウォールを通過させるように許可してください。

sudo firewall-cmd --permanent --add-service=samba

sudo firewall-cmd --reload

ufwを使用している場合:

sudo ufw allow Samba

最初のSamba設定を構成する

信じるか信じないかですが、それが多分一番難しい部分です。サンバは現在あなたのシステムで動作しています。サーバーが動作しているか確認するにはsudo systemctl status smbdと入力できます。

サンバが稼働していても、ファイルサーバーがローカルネットワーク上で視認できるように構成する必要があります。そして、シンプルな共有を設定してください。

これらはすべてsmb.confファイルで行います。このファイルはほぼ常に/etc/samba/smb.confにあります。

お気に入りのテキストエディタを使用して、sudo vim /etc/samba/smb.conf と入力してSambaの設定ファイルを開きます。

グローバル設定

これから以下に基づいて非常に基本的なSamba構成を作成できます:

[global]
  workgroup = WORKGROUP
  netbios name = MYSERVER
  server string = Samba Server %v
  security = user
  map to guest = Bad User

smb.confファイルのグローバルセクションは、Sambaサーバーの全体的な設定を定義します。これらの設定はすべての共有に適用され、サーバーがネットワーク上のクライアントとどのように相互作用するかを制御します。

変更したいパラメータは、ワークグループとNetBIOS名の2つだけです。ワークグループのパラメータは、プロセスを簡素化し、ネットワークの発見と相互作用を向上させます。コンピュータが異なるワークグループにいる場合でも、ファイルを共有することはできますが、デバイス間のアクセスと通信を円滑にするために追加の設定ステップが必要になるかもしれません。NetBIOS名を使えば、その名前でサーバーを見たり接続したりすることができ、IPアドレスの代わりに使用できます。

シェアの設定

これがどのように機能するかを示すために、現在、ユーザーのホームディレクトリを使用して1つのシンプルな共有を設定する必要があります。このセクションをsmb.confファイルのグローバル設定の下に追加してください。

[HomeShare]
path = /home/your_username
browseable = yes
writable = yes
valid users = your_username
create mask = 0700
directory mask = 0700

HomeShareセクションは、ユーザーのホームディレクトリを指すシェアを定義し、ネットワーク経由でのアクセスを可能にします。それはディレクトリパス、アクセス権限を指定し、特定のユーザーにアクセスを制限することで、所有者のみがコンテンツを閲覧および変更できるようにします。必要に応じて、好きなだけシェアを作成できます。

このセクション(および今後作成する他のセクション)では、共有の[name]、パス、および有効なユーザーのパラメータがあなたの設定と一致する必要があります。作成マスクおよびディレクトリマスクのパラメータは、ファイルの所有者(htg)だけが共有内に新しく作成されたファイルやディレクトリにアクセスできることを保証します。Linuxの権限は最初は理解しにくいかもしれませんが、正しく設定することで、他の人にアクセスしてほしくないものをロックダウンするのに役立ちます。

[HTG Home]
   path = /home/htg
   browseable = yes
   writable = yes
   valid users = htg
   create mask = 0700
   directory mask = 0700

基本的な smb.conf を作成したら、それを保存してコマンドラインに戻り、sudo systemctl restart smbd と入力して Samba デーモンを再起動します。

最後に、sudo smbpasswd -a your_usernameを使用してユーザーをSambaに追加するだけです。

さて、これでネットワーク上のすべてのデバイスからあなたの共有にアクセスできるようになったはずです。あなたのsmb.confでできることはもっとたくさんありますし、それに追加できるさまざまなセクションやパラメータを説明する豊富な文書があります。

変更を加えた場合は、設定が有効であることを確認するために testparm を入力することが役立ちます。設定を変更するたびに、Samba を再起動する必要があることを忘れないでください。

Windows、macOS、Android、iPhoneという4つの大きな商業オペレーティングシステムをそれぞれ見て、ネットワーク共有への接続方法を説明しましょう。

Windowsで接続中

Windowsで共有にアクセスするには、ファイルエクスプローラーを開いて、場所フィールドに\NETBIOS_NAMEまたは\IP_ADDRESSと入力します。その後、ユーザー名とSambaパスワードの入力を求められます。




または、ネットワーク見出しを右クリックして、マップネットワークドライブを選択し、共有ネットワークリソースにエクスプローラーでドライブ文字を割り当てます。サンバ共有の完全なパスを提供する必要がありますので、ご注意ください。例: "//ubuntu-vm/HTG Home".





macOSで接続する

macOSでは、ネットワークリソースに接続する最も信頼できる方法は、Finderを開き、[移動]>[サーバーに接続]を選択するか、キーボードショートカットCmd+Kを使用することです。空のフィールドに「smb://サーバー名」または「smb://サーバーIPアドレス」と入力し、[接続]をクリックします。すると、ユーザー名とSambaパスワードを入力するように求められます。毎回接続するたびに認証情報を入力したくない場合は、「このパスワードをキーチェーンに記憶する」を選択することを忘れないでください。





macOSではWindowsのように共有ネットワークリソースをマウントすることはできませんが、Finderでコンピュータの場所に移動し、それらをサイドバーにドラッグして後でアクセスできるようにピン留めすることができます。

アンドロイド

多くのAndroidデバイスにはSMBプロトコルをサポートする標準のファイルマネージャーが付属していないため、それをサポートするものをインストールする必要があります。私はFile Manager +を使用しており、これは無料で、SMB、FTP、SFTP、WebDAVを含むリモートソースへの接続に必要な機能を備えています。






ローカルネットワークオプションを選択しました。これにより、ホスト(IPアドレス)とディスプレイ名(NetBIOS名)が自動的に入力されるため、他のマシンに接続するのが少しだけ簡単になります。

iPhone

iPhoneデバイスには標準で搭載されているFilesアプリを使って、サーバーリソースに接続できます。このFilesアプリはサーバー名の使い方に関して厄介であったため、サーバーに接続するためにIPアドレスを入力する必要がありました。






LinuxマシンにSambaファイルサーバーを設定することは、さまざまなデバイスやオペレーティングシステムでファイルを管理するための強力で多用途なソリューションを提供します。プラットフォーム間でファイルを共有する他の方法を探している場合は、LocalSendを試すか、NextCloudを使用して自分自身のクラウドサーバーを作成することもできます。

関連記事: