Sambaは、LinuxサーバーまたはデスクトップからSMB/CIFSクライアントへのシームレスなファイルおよびプリンター共有を可能にする非常に強力なツールです。Sambaを使えば、LinuxマシンをWindowsドメインに接続することも可能です。しかし、Sambaのより高度な機能に取り組む前に、まずSambaを稼働させておく必要があります。
ここでは、Windows ドメイン コントローラーについては扱いません。代わりに、Windows ワークグループに参加し、そのワークグループ上のすべてのクライアントとフォルダーを共有するという、はるかに簡単なタスクに焦点を当てます。
必要なもの
Samba を起動して実行するために必要なものは多くありません。
- Windows ワークグループ。
- Linux マシン。
- 少しの時間です。
ここではUbuntu Desktop 23.04でデモを行いますが、ほとんどのLinuxディストリビューションで手順は同じです。まず、ワークグループ内で匿名共有を許可するフォルダを作成し、次にパスワードで保護された共有を作成します。
注:選択したディストリビューションに応じて手順を変更する必要があります。
Sambaのインストール方法
- Linux マシンでターミナル ウィンドウを開きます。
- 次のコマンドで必要なソフトウェアをインストールします。
sudo apt-get install -y samba
- sudo パスワードを入力し、Enter キーを押します。
- インストールが完了するまで待ちます。
- コマンドを使用して、
sudo systemctl status smbd
Samba サービスが開始され有効になっているかどうかを確認し、起動時に開始されるようにします (図 A )。
図A

- Samba が起動していない場合は、コマンドを使用して
sudo systemctl start smbd
起動します。 - Samba が有効になっていない場合は、コマンドを使用して
sudo systemctl enable smbd
有効にします。
これで完了です。Samba がインストールされ、起動します。
Sambaの設定方法
Samba のメイン設定ファイルは /etc/samba/smb.conf です。多くの人は、このファイルをバックアップして、特定の内容の新しいファイルを作成することを勧めますが、インストールした Samba のリリースに合わせてより適切に調整されているため、このファイルを使用することをお勧めします。
参照: TechRepublic Premium の Web サーバー構成および管理ポリシーをご覧ください。
1. デフォルトの設定ファイルをバックアップする
そのため、デフォルトの設定ファイルのコピーを作成しておくと、元のファイルを安全に編集でき、いつでも作業用コピーを参照できます。設定ファイルのバックアップは以下の手順で行います。
- 次のコマンドを発行します。
sudo cp -pf /etc/samba/smb.conf /etc/samba/smb.conf.bak
- 次に、お気に入りのテキスト エディターで /etc/samba/smb.conf ファイルを開き、変更を加える準備をします。
- 次の行を探します:
workgroup = WORKGROUP
- ネットワークのニーズを反映するように WORKGROUP を変更します。
次に編集する必要があるセクションは、共有定義の一番下にあります。
2. Linuxで共有したいディレクトリを作成する
Sambaの設定を行う前に、Linuxサーバー上に共有したいディレクトリを作成する必要があります。この例では/srv/sambaを使用します。このディレクトリを作成するには、以下の手順に従います。
- 次のコマンドを使用します:
sudo mkdir /srv/samba
- 次に、次のコマンドを実行して、そのディレクトリを世界が書き込み可能かつ世界が閲覧可能になるようにします。
sudo chmod a+rwx /srv/samba
- ファイルの下部に移動して、次の内容を追加します。
[Anonymous]
path = /srv/samba
browseable = yes
writable = yes
read only = no
guest ok = yes
- そのファイルを保存し、次のコマンドで Samba を再起動します。
sudo systemctl restart smbd
ネットワーク上のどのマシンからでもこれらの共有にアクセスできるはずです。
3. 共有アクセスをテストする
この共有を匿名に設定しているので、ユーザーはログインしなくても共有内のファイルやフォルダにアクセスできます。これをテストするには、LinuxサーバーのIPアドレスが必要です。これは ip a コマンドで取得できます。
- ネットワーク上の任意の Windows マシンで、ファイル エクスプローラーを使用して共有ファイルを参照します。アドレス バーに \\your-server-ip という構文を入力し、Enter キーを押します (以下を参照、図 B )。
図B

- Anonymousフォルダをクリックして共有にアクセスします。そこに新しいファイルを作成し、保存します(図C)。
図C

- その後、ディレクトリ内の Linux サーバーからそのファイルの内容を確認できます
/smb/samba
(図 D )。
図D

パスワードで保護された共有の追加
誰でもアクセスできる匿名共有を追加しました。パスワードで保護されたフォルダ(例として/samba/shares)を追加する場合は、以下の手順に従ってください。
- Samba サーバーでターミナル ウィンドウを開きます。
- コマンドを使用して新しいグループを作成します
sudo addgroup smbgrp
。 - コマンドを使用して新しいユーザーを作成します
sudo useradd shares -G smbgrp
。 - コマンドを使用して、ユーザーの Samba パスワードを作成します
sudo smbpasswd -a shares
。 - ユーザーのパスワードを入力して確認します。
- コマンドを使用してフォルダーを作成します
sudo mkdir -p /srv/samba-secured
。 - コマンドを使用してフォルダーの権限を変更します
sudo chmod -R 0770 /srv/samba-secured
。 - コマンドを使用してフォルダーの所有権を変更します
sudo chown root:smbgrp /srv/samba-secured
。 - 次に、/etc/samba/smb.conf ファイルを開き、共有定義の下またはファイルの下部に次の内容を追加します。
[SECURED]
path = /srv/samba-secured
valid users = @smbgrp
browseable = yes
writable = yes
read only = no
- ファイルを保存し、コマンドで Samba を再起動します
sudo service smbd restart
。
これで、パスワードで保護されたSamba共有が使用できるようになりました。共有にアクセスする必要があるユーザーは、ユーザー名sharesとコマンド実行時に設定したパスワードでログインしますsudo smbpasswd -a shares
。
Windowsでは、上記で作成した認証情報の入力を求められます(図E)。入力すると、フォルダにアクセスできるようになります。
図E

重要な注意点として、上記の匿名共有に接続した場合、Windows ではセキュリティ保護された共有へのログインが許可されない場合があります。この問題を解決するには、Windows コンピューターを再起動してもう一度お試しください。
フィットするように曲げる
Sambaの優れた点の一つは、ニーズに合わせて自由にカスタマイズできることです。共有を好きなだけ作成(パスワード保護の有無にかかわらず)したり、プリンターを共有したり、Windowsドメインに参加したりすることも可能です。これはSambaの使い方のほんの始まりに過ぎません。以下の方法については、当社のガイドをご覧ください。
- Windows から Linux Samba 共有に接続します。
- Samba でパスワードなしのゲスト共有を作成します。
- グループ用に Samba 共有を設定します。
- Linux に Samba を Active Directory ドメイン コントローラーとして展開します。
SambaはLinuxとWindows間でリソースを共有する数ある方法の一つであることに留意してください。もしSambaがニーズに合わないと感じる場合は、Linux側でSSHとSFTP、Windows側でFileZillaを利用する、より従来的なファイル共有アプローチを検討することをお勧めします。