Sambaを使用してUbuntuでネットワーク共有フォルダーを設定する方法

ホームネットワーク上のファイルを複数のオペレーティングシステム間で簡単に共有したいと思ったことがある場合は、Samba以外の何物でもありません。

このガイドでは、Sambaを使用してUbuntuLinuxでネットワーク共有フォルダーを設定する方法を説明します。 Sambaサーバーを使用すると、Windows、macOS、またはLinuxのいずれを使用しているかに関係なく、ネットワーク上でファイルを簡単に共有できます。

サンバとは?

Sambaは、元々MicrosoftとIBMによって開発されたSMBプロトコルスイートのオープンソースバージョンを実装するファイル共有サービスです。 Sambaには、MicrosoftWindowsファイル共有プロトコルとの相互運用を可能にするプログラムが含まれています。

Sambaを使用すると、標準のTCP / IPネットワークを使用して他のクライアントと簡単に通信することもできます。

ステップ1:Sambaをインストールする

このガイドではUbuntuLinux 20.04 LTSを使用しますが、Ubuntu16.04以降を使用している場合でも手順は機能するはずです。パッケージのソース情報を更新することから始めます。

 sudo apt update

次に、以下のコマンドを使用してSambaをインストールします。

 sudo apt install samba

Sambaが正常にインストールされたかどうかを確認するには、次のコマンドを実行します。

 smbd --version

出力は次のようになります。

ステップ2:Sambaを構成する

他のネットワークデバイスとファイルを安全に共有できるようにするには、Sambaサーバーを構成する必要があります。 Sambaのメイン構成ファイルは、PCの/etc/samba/smb.confにあります。このガイドでは、Vimテキストエディターを使用してSamba構成ファイルを編集しますが、他の任意のテキストエディターを自由に使用してください。

注:構成ファイルを編集するには、管理者権限が必要です。

 sudo vim /etc/samba/smb.conf

構成ファイルの最後に次の行を追加します。

 [sambashare]
comment= Network Shared Folder by Samba Server on Ubuntu
path = /home/your_username/sambashare
force user = smbuser
force group = smbgroup
create mask = 0664
force create mode = 0664
directory mask = 0775
force directory mode = 0775
public = yes
read only = no

パスパラメータをユーザー名で更新することを忘れないでください。次のコマンドを実行して、ユーザー名を取得できます。

 echo $USER

変更を加えた後にVimエディターを終了するには、 :wq入力しEnterキーを押します。

構成を理解する

追加した構成行の簡単な説明は次のとおりです。

  • セクション:構成ファイルの新しいセクションは、角括弧( [] )で表されます。この場合、セクションは[sambashare]です。
  • コメント:このコード行は、このセクションの内容の概要を示しています。特に、設定ファイルに複数の共有ディレクトリセクションがある場合に便利です。
  • パス:これは、指定したネットワーク共有フォルダのディレクトリへのパスです。
  • 強制ユーザー:Sambaサーバーがファイルの共有に使用するシステムユーザー。
  • 強制グループ:Sambaシステムユーザーが属するグループの名前。
  • マスクの作成:このパラメーターは、共有フォルダーに新しく作成されたファイルのアクセス許可を設定します。この場合、値は0664です。これは、ファイルの所有者とグループが読み取りと書き込みのアクセス許可を持ち、他のユーザーは読み取りのアクセス許可のみを持つことを意味します。
  • 強制作成モード:正しいファイル権限を設定するために、作成マスクパラメーターと連携して機能します
  • ディレクトリマスク:このパラメータは、共有フォルダ内のフォルダのアクセス許可を決定します。 0775のアクセス許可は、所有者とグループが読み取り、書き込み、および実行のアクセス許可を持っているのに対し、他のユーザーは読み取りと実行のアクセス許可のみを持っていることを意味します。
  • 強制ディレクトリモード:このパラメータは、ディレクトリマスクと連携して機能し、正しいディレクトリ権限が設定されていることを確認します。
  • パブリック:このパラメーターは、これがネットワーク上のパブリックフォルダーであり、他のデバイスがアクセスできることを指定します。
  • 読み取り専用:共有フォルダー内のファイルを変更するためのアクセス許可を指定します。

ステップ3:Sambaリソースを作成する

Sambaサーバーを構成したら、Sambaユーザーや共有するディレクトリなどの必要なリソースを作成する必要があります。これらのリソースは、ネットワーク上のフォルダーを共有するプロセスを容易にします。

1.共有フォルダ

上記のSamba構成ファイルで指定されたパスに共有フォルダーを作成する必要があります。このガイドでは、ホームディレクトリにあるsambashareという名前の共有フォルダを使用します。

cdコマンドを使用してホームディレクトリに移動します。

 cd ~

次に、以下のコマンドを使用して共有ディレクトリを作成します。

 mkdir -p sambashare

2.Sambaユーザーとグループ

次のステップは、構成ファイルで指定されたSambaシステムのユーザーとグループを作成することです。

次のコマンドを使用して、Sambaシステムグループを作成できます。

 sudo groupadd --system smbgroup

次に、 useraddを使用してSambaシステムユーザーを作成します

 sudo useradd --system --no-create-home --group smbgroup -s /bin/false smbuser

上記のコマンドは、システムユーザーを作成し、そのユーザーを上記で作成したSambaグループに追加します。また、これはシステムユーザーであるため、ホームディレクトリは作成されません。

3.共有フォルダの所有者を変更する

Sambaユーザーとグループを配置したら、共有フォルダーの所有者を新しいユーザーsmbuserに変更し、グループをsmbgroupに変更できます。以下のコマンドを使用してこれを実現できます。

 sudo chown -R smbuser:smbgroup ~/sambashare

最後に、以下のコマンドを発行して、グループに共有フォルダーとその中のコンテンツへの書き込みアクセス権を付与します。

 sudo chmod -R g+w ~/sambashare

ステップ4:Sambaサービスを再起動する

Samba構成ファイルの変更を有効にするには、Sambaサービスを再起動する必要があります。

 sudo systemctl restart smbd

サービスが再起動した後、以下のコマンドでそのステータスを確認できます。

 sudo systemctl status smbd

:ファイアウォールを有効にしている場合は、ufwコマンドを使用して有効なルールにSambaも追加する必要があります。

 sudo ufw enable samba

ステップ5:共有フォルダーへのアクセス

これで、ネットワーク上のデバイスから共有フォルダーにアクセスできるようになりました。

Windowsの場合

Windowsでは、Windowsエクスプローラーを使用して共有フォルダーにアクセスできます。 Windows + Eのキーボードショートカットを使用してファイルエクスプローラーを起動できます。

アドレスバーに「 ip_address_of_pc_with_shared_folder sambashare」と入力します。

正しいIPアドレスと共有フォルダー名に置き換えることを忘れないでください。

LinuxPCのユーザーのユーザー名とパスワードの入力も求められます。

Ubuntuの場合

Ubuntu Linuxでは、デフォルトのファイルマネージャーを開き、[その他の場所]ボタンをクリックします。次に、[サーバーに接続]入力に、次の形式でIPアドレスを入力します。

 smb://ip_adresss_of_pc_with_shared_folder/sambashare

登録ユーザーまたは匿名で接続できます。ドロップダウンから[登録ユーザー]を選択した場合は、ユーザーの資格情報を指定する必要があることに注意してください。

macOSの場合

Macユーザーも共有フォルダに簡単にアクセスできます。 Finderメニューで[ネットワーク]タブをクリックすると、パブリック共有フォルダのあるコンピュータが一覧表示されます。それを選択すると、ファイルにアクセスできるはずです。

複数のデバイス間で効率的にファイルを共有する

このガイドでは、Sambaを使用してネットワーク上でファイルを共有する方法について説明しました。 Sambaを使用すると、デバイスで実行しているオペレーティングシステムに関係なく、ネットワーク上でファイルを共有できます。

Linuxだけでなく、Windowsマシンで共有ネットワークフォルダーを構成することもできます。