Ubuntu 16.04上で小規模組織のためのSamba共有を設定する方法
著者は「Write for DOnations」プログラムの一環として、寄付を受けるためにテクノロジー教育基金を選びました。
紹介
サンバは、Windows環境でのファイルやプリンターへのアクセス、アクティブディレクトリなどの共有サービスに使用されるSMB/CIFSネットワークプロトコルのオープンソース実装です。サンバは、スタンドアロンサーバーと呼ばれる構成で、クロスプラットフォームのファイル共有を作成するためにも使用できます。
このガイドでは、架空の小規模組織であるExample.comのために、ネットワークファイルストレージまたは共有を提供するスタンドアロンのSambaサーバーをインストールおよび構成します。この組織のファイル共有にはいくつかの要件があります: 1. すべての従業員に個人用のプライベートファイル共有が必要です; 2. すべての従業員は共通のファイル共有に対して読み取りおよび書き込みアクセスを持つべきです; 3. 管理者ユーザーはすべての個人共有への読み取りおよび書き込みアクセスを持ち、共通の共有の所有権を持つべきです。
あなたのSambaサーバーは、これらすべての要件を満たします。また、Windows、Linux、およびmacOSから共有にアクセスする方法も学ぶことができます。
前提条件
このガイドを始める前に、以下のものが必要です:
非ルートsudoユーザーを持つUbuntu 16.04サーバー。詳細については、Ubuntu 16.04初期サーバー設定ガイドを参照してください。Sambaは控えめなRAMおよびCPU要件を持ち、1GBのサーバーでうまく機能します。ストレージスペースが不足する可能性が高いため、サーバーサイズを選択する際の最も重要な考慮事項とするべきです。
ポート
445での TCP 接続が許可されています。UFW ファイアウォールを使用している場合は、Ubuntu および Debian クラウドサーバーで UFW を使用してファイアウォールを設定する方法を参照してください。別の外部ファイアウォールを使用している場合は、関連するドキュメントを参照してください。
ステップ1 — Sambaのインストール
まずは、Ubuntuのパッケージ管理システムを使用してSambaをインストールしましょう。
新しいパッケージをインストールする前に、Ubuntuのリポジトリから最新のバージョンを含めるためにローカルパッケージインデックスを更新しましょう:
- sudo apt-get update
次に、Sambaをインストールします。
- sudo apt-get install samba
このコマンドは、SambaサーバーsmbdとSamba NetBIOSサーバーnmbdの両方をインストールして起動します。このチュートリアルにはnmbdは必要ありませんので、安全のためにsystemctlを使って停止し無効にすることができます:
- sudo systemctl stop nmbd.service
- sudo systemctl disable nmbd.service
コマンドsudo systemctl disable nmbd.serviceを実行すると、以下の出力が生成されます:
nmbd.service is not a native service, redirecting to systemd-sysv-install
Executing /lib/systemd/systemd-sysv-install disable nmbd
insserv: warning: current start runlevel(s) (empty) of script `nmbd' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `nmbd' overrides LSB defaults (0 1 6).
nmbdはネイティブのsystemd管理構成を持たないため、古いSysV initシステムによって無効化されていることを示しています。
未設定のネットワーク対応サービスを実行することから生じる可能性のあるセキュリティ問題を避けるために、設定の詳細が整うまでSambaサーバーを停止しましょう:
- sudo systemctl stop smbd.service
Sambaは現在インストールされており、設定する準備が整いました。
ステップ2 — Sambaのグローバルオプションの設定
Sambaサーバーの動作を定義するために、/etc/samba/smb.confにある設定ファイルを修正しましょう。このファイルは二つの部分から成り立っています:[global]セクションと[shares]セクションです。[global]セクションはSambaサーバーの動作を構成し、[shares]セクションはファイル共有を構成します。まずは、[global]セクションに指示を設定することから始めましょう。
直接/etc/samba/smb.confを編集するのではなく、名前をsmb.conf.originalに変更し、新しいファイルをsmb.confという名前で作成してください:
- sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.orig
編集する前に /etc/samba/smb.conf の内容を、Sambaに認識させるべき利用可能なインターフェースを確認しましょう。次のコマンドを入力してください:
- ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 02:21:2c:03:ef:e2 brd ff:ff:ff:ff:ff:ff
この出力は、loがループバックインタフェースであり、eth0が外部ネットワークインタフェースであることを示していますが、外部インタフェースは異なる場合があります。両方のインタフェースに注意してください。これらは、smb.confファイルの[global]セクションでinterfacesディレクティブに含める必要があります。
このファイルの編集をnanoまたはお好きなエディタで始めましょう:
- sudo nano /etc/samba/smb.conf
このファイルの[global]セクションでは、サーバーの名前、役割、その他の詳細、ネットワークインターフェースを定義します。
[global]
server string = samba_server
server role = standalone server
interfaces = lo your_network_interface
bind interfaces only = yes
disable netbios = yes
smb ports = 445
log file = /var/log/samba/smb.log
max log size = 10000
これらの指示は次のことを指定します:
サーバーストリング- これは、接続中にユーザーに提供される識別情報です。samba_serverや、サーバーを識別するための別の名前を使用できます。このチュートリアルの全体を通して、samba.example.comという文字列が、組織Example.comのためのSamba共有を示すために使用されるのを目にするでしょう。サーバーロール- これは、どのタイプのSambaサーバーが作成されるかを定義します。この場合、それはスタンドアロンサーバー、つまりファイル共有です。他のサーバータイプには、ドメインメンバーサーバーやドメインコントローラーが含まれます。interfaces- これはSambaがバインドするネットワークインターフェースです。loはループバックインターフェース(127.0.0.1)であり、必須です。以前に出力した外部ネットワークインターフェースも含める必要があります。通常、これはeth0です。インターフェイスのみをバインド- これにより、Sambaはインターフェイス行にリストされているインターフェイスにのみバインドします。セキュリティ対策として、これによりSambaは指定されたインターフェイスに対応しないパケットを無視します。NetBIOSを無効にする- これはスタンドアロンサーバーで必要のないすべてのNetBIOS機能を無効にします。これにより、サーバー名の解決プロセスとSMBトラフィックの輸送が簡素化されます。smbポート- これはSambaがリッスンするポートを設定します。ポート445はSambaの標準ポートです。ログファイル- これにより、Sambaのログファイルの名前と場所が設定されます。最大ログサイズ- これはログファイルのサイズ制限を設定します。リストされている数値はバイト単位で、10MBに相当します。このサイズ制限を設定する際に考慮すべきこと:制限に達すると、Sambaは新しいログファイルを生成し、古い内容を.old拡張子を持つ重複ファイルに移動します。再び制限を超えた場合は、既存の.oldファイルが破棄されます。これにより、単一のログファイルの内容でディスク/パーティションスペースが圧迫されることを防ぎます。したがって、システムリソースに適したファイルサイズを定義する必要があります。
サーバーをセットアップしている間により詳細なログを取得したい場合は、次の行を[global]セクションに追加してください:
log level = 3 passdb:5 auth:5
これにより、ログレベルが3(情報)に設定され、デフォルト設定の1からログ情報の詳細度が向上します。passdbおよびauthデバッグクラスの設定を5にすると、ユーザー認証に関連するより多くの情報が提供されます。
このセクションの作成が完了したら、ファイルを保存して閉じてください。
「smb.conf」を編集するたびに、Sambaユーティリティ「testparm」を実行して、構文エラーがないことを確認するべきです:
- testparm
smb.confファイルでtestparmコマンドを実行すると、次の出力が得られます:
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
ENTERを押すと、以下の出力が得られます:
Global parameters
[global]
server string = samba_server
interfaces = lo your_network_interface
bind interfaces only = Yes
server role = standalone server
log file = /var/log/samba/smb.log
max log size = 10000
smb ports = 445
disable netbios = Yes
idmap config * : backend = tdb
もしtestparmがLoaded services file OK.と報告した場合、Sambaサーバーの起動を妨げる構文エラーはありません。
[global] セクションを設定することが、Samba サーバーを起動するために必要な全てです。ただし、共有設定がないと機能は制限されます。共有は、ユーザーとディレクトリの2つの部分で構成されており、どちらもログインとテストを可能にするために作成され、設定される必要があります。次のセクションでは、共有にアクセスできるユーザーを作成する方法について説明します。
ステップ3 — ユーザーの作成
このステップでは、共有にアクセスできるユーザーを作成します。彼らは、Sambaサーバーにログインしてファイルシステムに読み書きするために、Sambaユーザーおよびシステムユーザーとしてのアクセスが必要です。
架空の会社Example.comには、Sambaサーバーに追加し、Linuxシステム上でユーザーとして作成する必要のある4人の従業員がいます: david、mike、jane、そしてlucyです。この4人に加えて、個人共有にアクセスし管理できるadminユーザーが存在します。このユーザーは、誰でもアクセスできる共通の共有の所有者でもあります。
システムユーザーを追加する最初のステップは、それぞれのユーザーのホームディレクトリを作成することです。標準のホームディレクトリ /home/user を使用するのではなく、Sambaのディレクトリとデータは /samba/ に配置されます。Sambaデータを単一の場所に保ち、他のユーザーデータから分離することで、将来の管理タスク、例えばバックアップを容易にします。
注:このガイドで作成されたユーザーは、SSHログインを持つことを意図していません。すでにサーバー上にアカウントを持っているユーザーについては、このガイドに従うために専用のSambaユーザーを作成する必要があります。
次のセクションでは、最初のユーザーであるdavidを追加するプロセスを説明しますが、このプロセスをmike、jane、およびlucyについても繰り返す必要があります。
最初のステップは、ファイルシステムのルートにSambaデータが保存されるディレクトリを作成することです。このディレクトリは/samba/と呼ばれ、そのグループ所有権はSambaをインストールしたときに作成されたグループsambashareに設定されます。
次のコマンドを実行して /samba/ ディレクトリを作成し、グループの所有権を sambashare に設定します:
- sudo mkdir /samba/
- sudo chown :sambashare /samba/
次に、/samba/ディレクトリの下にdavidのホームディレクトリを作成します:
- sudo mkdir /samba/david
今、次のコマンドを使用してdavidをシステムユーザーとして追加します:
- sudo adduser --home /samba/david --no-create-home --shell /usr/sbin/nologin --ingroup sambashare david
オプションは次のことを行います:
- --home - これにより、ユーザーのホームディレクトリの場所が設定されます。
- --no-create-home - これは
adduserコマンドが david のホームディレクトリを作成するのを止めます。もしシステムがこのディレクトリを作成した場合、現在のセットアップには必要ない.bash_historyのような設定ファイルが含まれることになります。 - --shell - これは、davidがSSHでログインしたときにどのシェルが割り当てられるかを設定します。Samba共有にアクセスするためにSSHログインは必要ありません。これを
/usr/sbin/nologinに設定すると、SSHログインが無効になります。 --in-group sambashare- これはユーザーをsambashareグループに追加し、自己のシェアおよび共通シェアへの読み取りおよび書き込みアクセスを付与します。
このコマンドを実行するときにパスワードを求められます。10文字以上のユニークで辞書に載っていないパスワードを選んでください。
システムユーザーdavidが存在するため、彼のSambaホームディレクトリの所有権と権限を設定できます。
- sudo chown david:sambashare /samba/david/
- sudo chmod 2770 /samba/david/
ディレクトリの権限を2770に設定することは、/samba/david/の下に作成された新しいファイルやディレクトリが、ファイルやディレクトリを作成したユーザーのプライマリグループではなく、親ディレクトリのグループ所有権を継承することを意味します。たとえば、adminユーザーがdavidの共有に新しいディレクトリを作成した場合、davidはそれを読み書きできるようになります。
次に、davidをSambaサーバーに追加します。Sambaは独自のユーザーとパスワードのデータベースを保持しており、それを使用してログインを認証します。すべてのユーザーは、Sambaサーバーに追加され、有効化される必要があります。これらのタスクを実行するために、次のsmbpasswdコマンドを実行してください:
- sudo smbpasswd -a david
- sudo smbpasswd -e david
ここで使用されているオプションは以下の通りです:
- -a - これにより、ユーザーはサーバーに追加されますが、有効にはなりません。
-e- これにより、以前に追加されたユーザーが有効になります。
ここに入力するパスワードは、Samba共有にアクセスするために使用され、システムのパスワードとは異なる場合があります。
ユーザーdavidは現在、サーバーにSSHで接続する能力のないシステムユーザーとして存在しています。彼のホームディレクトリは/samba/davidであり、Sambaユーザーとして登録され、有効になっています。
このプロセスをすべてのSambaユーザー(マイク、ジェーン、およびルーシー)のために繰り返します。
管理者ユーザーを作成するには、以下のコマンドを実行し、ホームディレクトリを/samba/everyone/に変更してください:
- sudo mkdir /samba/everyone
- sudo adduser --home /samba/everyone --no-create-home --shell /usr/sbin/nologin --ingroup sambashare admin
- sudo chown admin:sambashare /samba/everyone/
- sudo chmod 2770 /samba/everyone/
- sudo smbpasswd -a admin
- sudo smbpasswd -e admin
admin ユーザーを作成するだけでなく、サーバーの管理を簡素化するために admins というグループを作成しましょう。このグループには各共有に対する読み書き権限が与えられ、ユーザーの追加や削除の作業が簡素化されます。たとえば、個々のユーザーが admin ユーザーとして機能し、組織を離れると、各共有から個別に削除する必要があります。新しい管理者もすべての共有に手動で追加する必要があります。admins グループを作成し、このグループに共有への読み書きアクセスを与えることで、ユーザーの追加と削除は単一のコマンドで済むようになります。
次のコマンドを実行してadminsという新しいグループを作成し、ユーザーadminをこのグループに追加します:
- sudo groupadd admins
- sudo usermod -G admins admin
追加のユーザーは、adminsグループに対して2番目のコマンドsudo usermod -G admins adminを実行することで追加でき、adminの代わりに別のユーザーを置き換えます。
システムの構成は完了し、組織Example.comのユーザーがシステムおよびSambaユーザーとして設定されました。これらのユーザーが共有ディレクトリにアクセスできるように、Sambaサーバーの設定に進みましょう。
ステップ4 — Samba共有の設定
各共有は、グローバルパラメータに続いて、主要なSamba構成ファイル/etc/samba/smb.confの独自のセクションを持ちます。これらのセクションは、各共有がどのように機能するかを定義します。
nano テキストエディタを再度使用して、このファイルを開いて編集してください:
- sudo nano /etc/samba/smb.conf
次の設定ブロックは各ユーザーの個人共有を定義します:
...
[share_name]
path =
browseable =
read only =
force create mode =
force directory mode =
valid users =
これらのオプションには:
share_name- これはログインする際に使用する共有名です。path- これはファイルシステム内の共有の絶対パスです。browsable- これは他のユーザーが共有を見られるかどうかを設定します。このオプションを有効にすると、Sambaサーバーの他のユーザーが共有の存在を見ることができるだけです。読み取りや書き込みの権限は与えません。読み取り専用- これは、有効なユーザーが共有に書き込むことができるかどうかを設定します。強制作成モード- これは共有に書き込まれたファイルの権限を強制します。ディレクトリモードを強制する- これは、共有に作成される任意のディレクトリの権限を強制します。- 有効なユーザー - これは共有にアクセスできるユーザーのリストです。この設定には、ユーザー名や管理者のようなシステムグループを使用できます。グループは、
@を前につけてリストする必要があります。例えば、@adminsのように。
davidのために、彼のホームディレクトリ、ディレクトリのグループ所有権の権限、および彼の共有にアクセスすべきユーザーを定義する以下の共有設定ブロックを追加してください:
[david]
path = /samba/david
browseable = no
read only = no
force create mode = 0660
force directory mode = 2770
valid users = david @admins
ディレクトリのパーミッションは、グループの所有権を親ディレクトリのものに設定しますのでご注意ください。
マイク、ジェーン、およびルーシーのための共有ブロックを作成します。共有の[name]、path、およびvalid usersをそれぞれのユーザーの名前に合わせて変更します。
その [everyone] シェアは、[name]、path、valid users、および browsable オプションのいずれにおいても他のシェアと異なり、次のようになります:
...
[everyone]
path = /samba/everyone
browseable = yes
read only = no
force create mode = 0660
force directory mode = 2770
valid users = @sambashare @admins
sambashareグループに共有に対する読み書きアクセスを与えると、ユーザーがこのグループに追加されたため、すべてのユーザーが共有にアクセスできるようになります。
完全な smb.conf ファイルは次のようになります:
[global]
server string = samba_server
server role = standalone server
interfaces = lo your_network_interface
bind interfaces only = yes
disable netbios = yes
smb ports = 445
log file = /var/log/samba/smb.log
max log size = 10000
[david]
path = /samba/david
browseable = no
read only = no
force create mode = 0660
force directory mode = 2770
valid users = david @admins
[mike]
path = /samba/mike
browseable = no
read only = no
force create mode = 0660
force directory mode = 2770
valid users = mike @admins
[jane]
path = /samba/jane
browseable = no
read only = no
force create mode = 0660
force directory mode = 2770
valid users = jane @admins
[lucy]
path = /samba/lucy
browseable = no
read only = no
force create mode = 0660
force directory mode = 2770
valid users = lucy @admins
[everyone]
path = /samba/everyone
browseable = yes
read only = no
force create mode = 0660
force directory mode = 2770
valid users = @sambashare @admins
編集が完了したら、ファイルを保存して閉じてください。
もう一度設定をテストしてください:
- testparm
これは次のような出力を生成します:
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[david]"
Processing section "[jane]"
Processing section "[mike]"
Processing section "[lucy]"
Processing section "[everyone]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
構成チェックが完了したので、systemctlでSambaサーバーを起動しましょう:
- sudo systemctl start smbd.service
Sambaサーバーは現在稼働中で、ログインを受け入れる準備が整っています。次のステップは、Sambaサーバーにログインして、期待通りに動作しているかをテストすることです。以下のセクションでは、Windows、Linux、およびmacOSからSambaサーバーにログインする方法について説明します。
ステップ5 — Sambaサーバーへのログイン
このセクションでは、Linux、Windows、およびmacOSから作成したSamba共有にアクセスする方法について説明します。
Linux - コマンドライン
コマンドラインからSambaにアクセスするために、smbclientというツールを使用できます。このパッケージはほとんどのLinuxディストリビューションではデフォルトで含まれていないため、ローカルのパッケージマネージャーを使ってインストールする必要があります。
DebianおよびUbuntuサーバーで、次のコマンドを使って
- sudo apt-get update
- sudo apt-get install smbclient
Fedora システムでは、次のようにします:
- sudo dnf update
- sudo samba-client
そしてCentOSでは:
- sudo yum update
- sudo yum install samba-client
注意: 一部のLinuxディストリビューションでは、smbclientが以下のエラーメッセージで失敗することがあります:
smbclient: Can't load /etc/samba/smb.conf - run testparm to debug it
このエラーメッセージが表示された場合は、/etc/samba/smb.confにファイルを作成したことを確認してください。
smbclientはSamba共有にアクセスするために次のフォーマットを使用します:
- smbclient //your_samba_hostname_or_server_ip/share -U username
サーバーのIPアドレスまたは/etc/samba/smb.confで定義したホスト名のいずれかを使用して、共有にアクセスできます。この例では、前の手順で作成したSambaサーバーのdavidの共有にアクセスするためにホスト名samba.example.comを使用しています:
- smbclient //samba.example.com/david -U david
davidが共通のシェア(everyone)にアクセスしたい場合は、コマンドを次のように変更します:
- smbclient //samba.example.com/everyone -U david
smbclient コマンドを実行すると、Samba パスワードを求められ、FTP テキストインターフェースを思わせるコマンドラインインターフェースにログインします。
smb: \>
このインターフェースは、ユーザー名とパスワード、および読み書きアクセスのテストに最も役立ちます。たとえば、次のようにディレクトリを作成してその内容をリストできます:
- mkdir test
- ls
次の出力が表示されるはずです:
. D 0 Fri Feb 2 14:49:01 2018
.. D 0 Wed Jan 24 12:11:33 2018
test D 0 Fri Feb 2 14:49:01 2018
次のコマンドを入力してディレクトリを削除します:
- rmdir test
共有データの管理は、GUIツールを使うことでしばしば容易になります。次のセクションでは、KDEの組み込みGUIツールについて見ていきます。
Linux - KDEとDolphin
ドルフィンはKDEのデフォルトのファイルマネージャであり、Samba共有にアクセスするための組み込み機能を持っています。
ドルフィンを開いた後、次の手順を行ってください:
- 場所リストからネットワークを選択します。
ネットワークフォルダーを追加をクリックしてください。
- Microsoft Windowsネットワークドライブオプションを選択してください。
- 次へをクリックします
Samba共有の詳細を入力してください:
- 名前 - これはDolphinのシェアでブックマークとして表示される記憶に残る名前です。
- サーバー - これはSambaサーバーのホスト名またはIPアドレスです。この例では
samba.example.comとなります。 - フォルダー - これは
smb.confで設定された共有の名前です。 - 保存して接続をクリックします。
- アクセスしようとしているSamba共有のユーザー名とパスワードを入力してください。
- OKをクリックします。
ドルフィンは今から接続し、サンバ共有を開きます。このように見えます:
今、Samba共有をローカルディレクトリのように使用して、ファイルやディレクトリのコピー、削除、名前変更ができます。この共有は、ネットワークの場所に永久的なブックマークとしても表示されます。
MacOS — コマンドライン
MacOSには、Samba共有にアクセスするために使用できるコマンドラインツールが事前にインストールされています。Launchpadを使用して、ターミナルアイコンをクリックしてターミナルを開きます。
これにより、ホームディレクトリにコマンドラインターミナルが開きます。Samba共有をマウントするには、共有のマウントポイントとなる新しいディレクトリを作成できます。マウントポイントは、2つのファイルシステムが接続される場所です:この場合、ローカルファイルシステムとリモートSambaファイルシステムです。
sambaという新しいディレクトリを作成します:
- mkdir samba
次に、新しいsambaディレクトリの下にSamba共有をマウントします。このコマンドの形式は次のとおりです:
- sudo mount_smbfs //username@your_samba_hostname_or_server_ip/share ./mount_point
Example.comの詳細をユーザーdavidに置き換えると、次のようになります:
- sudo mount_smbfs //david@samba.example.com/david ./samba
samba ディレクトリは、Example.com Samba サーバー上の david シェアの内容を表示するようになります。ファイルやディレクトリは、ls、rm、mkdir などの通常のツールを使って操作できますが、シェアがマウントされた後、samba ディレクトリは root により所有されます。したがって、samba ディレクトリおよびその内容にアクセスするには sudo を使用する必要があります。
Samba共有をアンマウントするには、mkdirコマンドを実行したのと同じディレクトリからumountコマンドを実行します:
- umount samba
次のセクションでは、macOSのデスクトップGUIアプリケーションを使用してSamba共有にアクセスする方法について説明します。
MacOS - デスクトップ
MacOSはFinderアプリケーションを使用してSamba共有にアクセスすることもできます。
次の手順を踏んでください:
- Finderを開き、メニューバーでGoをクリックします。
- サーバーに接続をオプションのリストからクリックしてください。
smb://形式のURLを使用し、あなたのユーザー名、ホスト名またはサーバーのIPアドレス、共有名を含めてください:smb://ユーザー名@あなたの_samba_hostname_or_server_ip/共有。ここに示す例では、ユーザー名davidとホスト名samba.example.comが表示されます。- 「+」の記号があるボタンをクリックして、Samba共有をブックマークします。
接続をクリックします
- 登録ユーザーを選択
- Samba共有ユーザーのユーザー名とパスワードを入力してください。
- macOSがパスワードを保存するかどうかを決定してください。
- 接続をクリックしてください。
Samba共有に成功裏に接続すると、Finderに次のように表示されます:
次のセクションでは、Windows 10からSamba共有にアクセスする方法を探ります。
Windows 10 — コマンドライン
WindowsのコマンドラインからSamba共有をマウントするには、単一のコマンドだけで済みます:
- net use drive_letter \\your_samba_hostname_or_server_ip\share
ユーザーdavidの共有から変数を置き換え、ドライブレターをX:に設定します:
- net use X: \\samba.example.com\david
このコマンドを入力すると、davidのユーザー名とパスワードの入力を求められます。それらを入力した後、共有が正常にマウントされたことを確認するメッセージが表示されます。
Enter the user name for 'samba.example.com': david
Enter the password for samba.example.com:
The command completed successfully.
これで、ファイルエクスプローラーでSamba共有をブラウズし、ファイルやディレクトリをあたかも自分のコンピュータにあるかのように操作できるようになります。
次のセクションでは、Samba共有にアクセスするためのWindows GUIツールの使い方について見ていきます。
Windows 10 — デスクトップ
Windows 10 は、Samba シェアに接続するネイティブ機能も備えています。以下の手順で、Samba シェアに接続し、Windows ファイル エクスプローラーを使用してブックマークとして保存します。これらの手順を開始するには、ファイル エクスプローラーを開いてください:
- このPCを右クリックします。
ネットワーク位置を追加をクリックし、次のページで次へをクリックします。
- カスタムネットワークの場所を選択をクリックしてください。
- 次へをクリックします
- SambaサーバーのWindowsスタイルのアドレスと共有名を入力してください。WindowsはSamba URLの次の形式を使用します:
\\your_samba_hostname_or_server_ip\share\。例の画像では、サーバー名はsamba.example.comで、共有名はdavidです:\\samba.example.com\david。 - 次へをクリックしてください。
- ユーザーのユーザー名とパスワードを入力してください。
- Windowsにパスワードを記憶させるかどうかを決めてください。
- OKをクリックします。
ファイルエクスプローラーは現在Samba共有に接続します。接続が成功裏に完了すると、ファイルエクスプローラーのこのPCの下に新しい場所が作成されます:
これで、サーバー共有内のファイルやフォルダーをローカルフォルダーのように管理するために、このフォルダーを使用できるようになります。
結論
この記事では、Sambaサーバーを使用してクロスプラットフォームのオンラインファイル共有を作成しました。また、Windows、Linux、macOSからこれらの共有にアクセスしました。
Samba共有は非常に一般的になったため、多くのアプリケーションがそれに保存されたデータにアクセスできるようになりました。これらのアプリケーションは、あなたのSamba共有の機能性と有用性を拡張することができます。例えば、メディアプレイヤーVLCのモバイル版は、あなたのSamba共有から音楽やビデオを接続してストリーミングすることができます。アクセスするには、MRLを開くを選択し、標準のSamba URLを使用します: smb://ユーザー名@あなたのSambaホスト名またはサーバーIP/共有。また、クロスプラットフォームバックアップユーティリティBackupPCを使用して、バックアップの送信先としてSamba共有を使用することもできます。
Sambaは単なるファイル共有として機能するだけでなく、Windows Active Directoryと連携して、ドメインコントローラーまたはドメインのメンバーとしても動作します。Samba Wikiユーザードキュメンテーションには、これを行う方法についての詳細情報が含まれています。






