_著者は、https://www.brightfunds.org/funds/tech-education [Tech Education Fund]を選択して、https://do.co/w4do-cta [Write for DOnations]プログラムの一環として寄付を受け取りました。 _

前書き

Sambaは、https://msdn.microsoft.com/en-us/library/windows/desktop/aa365233(v = vs.85)のオープンソース実装です。 aspx [SMB / CIFSネットワークプロトコル]は、ファイルやプリンターアクセス、Active Directoryなどの共有サービスのためにWindows環境で使用されます。 Sambaを使用して、_standalone server_と呼ばれる構成でクロスプラットフォームのファイル共有を作成することもできます。

このガイドでは、スタンドアロンのSambaサーバーをインストールして構成し、* Example.com *という架空の小さな組織にネットワークファイルストアまたは_shares_を提供します。 この組織には、ファイル共有に関するいくつかの要件があります.1。 すべての従業員には、個人的なプライベートファイル共有が必要です。 2。 すべての従業員には、共通のファイル共有に対する読み取りおよび書き込みアクセス権が必要です。 3。 管理ユーザーには、すべての個人共有および共有の所有権に対する読み取りおよび書き込みアクセス権が必要です。

Sambaサーバーはこれらの要件をすべて満たします。 また、Windows、Linux、macOSから共有にアクセスする方法も学習します。

前提条件

このガイドを始める前に、次のものが必要です。

  • 非ルートsudoユーザーを持つUbuntu 16.04サーバー。 詳細については、https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-16-04 [Ubuntu 16.04初期サーバーセットアップ]ガイドを参照してください。 Sambaには控えめなRAMとCPUの要件があり、1GBサーバーで十分に機能します。 ストレージ容量が不足する可能性が高いため、サーバーのサイズを選択する際にはこれが第一の考慮事項になります。

  • ポート「445」で許可される着信TCP接続。 UFWファイアウォールを使用している場合は、https://www.digitalocean.com/community/tutorials/how-to-set-up-a-を参照してください。 firewall-with-ufw-on-ubuntu-16-04 [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 +`コマンドを実行すると、次の出力が生成されます。

Outputnmbd.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のグローバルオプションの設定

`+ / etc / samba / smb.conf `にある設定ファイルを変更して、Sambaサーバーの動作を定義しましょう。 このファイルには2つの部分があります: ` [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
Output1: 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] +」セクションは、サーバーの名前、役割、およびネットワークインターフェイスを含むその他の詳細を定義します。

/etc/samba/smb.conf

[global]
       server string =
       server role = standalone server
       interfaces = lo
       bind interfaces only = yes
       disable netbios = yes
       smb ports = 445
       log file = /var/log/samba/smb.log
       max log size = 10000

これらのディレクティブは次を指定します。

  • + server string +-これは、接続中にユーザーに提供される識別情報です。 サーバーを識別する「」または別の名前を使用できます。 このチュートリアル全体を通して、組織* Example.com *のSamba共有を示す文字列「」が表示されます。

  • + server role +-作成されるSambaサーバーのタイプを定義します。 この場合は、「+ standalone server +」、つまり ファイル共有。 他のサーバーの種類には、ドメインメンバーサーバーとドメインコントローラーが含まれます。

  • + interfaces +-これらは、Sambaがバインドするネットワークインターフェースです。 `+ lo `はループバックインターフェイス(127.0.0.1)であり、必須です。 前に出力した外部ネットワークインターフェイスも含める必要があります。 これは通常 ` eth0 +`です。

  • + bind interfaces only +-これにより、Sambaは `+ interfaces `行にリストされているインターフェースのみにバインドします。 セキュリティ対策として、これにより、Sambaは指定された ` interfaces +`に対応しないパケットを無視します。

  • + disable netbios +-これは、スタンドアロンサーバーで必要のないすべてのNetBIOS機能を無効にします。 これにより、サーバーの名前解決プロセスとSMBトラフィックの転送が簡素化されます。

  • + smb ports +-これは、Sambaがリッスンするポートを設定します。 ポート `+ 445 +`はSambaの標準ポートです。

  • + log file +-Sambaのログファイルの名前と場所を設定します。

  • + max log size +-これにより、ログファイルのサイズ制限が設定されます。 リストされている数値はバイト単位で、10MBに相当します。 このサイズ制限を設定する際に注意すべき点がいくつかあります。このサイズに達すると、Sambaは新しいログファイルを生成し、古いコンテンツを `+ .old `拡張子を持つ複製に移動します。 再び制限を超えた場合、既存の ` .old +`ファイルは破棄されます。 これにより、単一のログファイルの内容でディスク/パーティションスペースが圧迫されるのを防ぎます。 したがって、システムリソースに適したファイルサイズを定義する必要があります。

サーバーのセットアップ中により詳細なロギングが必要な場合は、次の行を `+ [global] +`セクションに追加します。

/etc/samba/smb.conf

       log level = 3 passdb:5 auth:5

これにより、ログレベルが3(情報)に設定され、ログ情報の粒度がデフォルト設定の1から増加します。 `+ passdb `および ` auth +`デバッグクラスの5の高い設定は、ユーザー認証に関連するより多くの情報を提供します。

このセクションの作成が終了したら、ファイルを保存して閉じます。

`+ smb.conf `を編集するときはいつでも、Sambaユーティリティの ` testparm +`を実行して、構文エラーがないことを確認する必要があります。

testparm

`+ smb.conf `ファイルで ` testparm +`コマンドを実行すると、次の出力が生成されます。

OutputLoad 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 +」を押すと、次の出力が生成されます。

Output# Global parameters
[global]
       server string =
       interfaces = lo
       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サーバーの起動を停止させる構文エラーはありません。

Sambaサーバーを起動するには、「+ [global] +」セクションを設定するだけです。 ただし、共有構成なしでは機能が制限されます。 共有は、ユーザーとディレクトリの2つの部分で構成されます。両方とも、ログインとテストを許可するように作成および構成する必要があります。 次のセクションでは、共有にアクセスできるユーザーを作成する方法について説明します。

ステップ3-ユーザーの作成

この手順では、共有にアクセスできるユーザーを作成します。 彼らは、ログインしてファイルシステムに読み書きするときにSambaサーバーで認証するために、Sambaおよびシステムユーザーとしてアクセスする必要があります。

架空の会社* Example.com には、Sambaサーバーに追加し、Linuxシステムのユーザーとして作成する必要がある4人の従業員がいます: david mike jane 、および lucy 。 これらの4つに加えて、個人共有にアクセスして管理できる admin *ユーザーがいます。 このユーザーは、誰もがアクセスできる共有も所有します。

システムユーザーを追加する最初の手順は、ユーザーごとにホームディレクトリを作成することです。 `+ / home / user `の標準のホームディレクトリを使用するのではなく、Sambaのディレクトリとデータは ` / samba / +`に配置されます。 Sambaデータを単一の場所に保持し、他のユーザーデータから分離すると、バックアップなどの将来の管理タスクが容易になります。

次のセクションでは、最初のユーザー* david を追加するプロセスについて説明しますが、 mike jane 、および lucy *に対してこのプロセスを繰り返す必要があります。

最初のステップは、ファイルシステムのルートに、Sambaデータが保存されるディレクトリを作成することです。 このディレクトリは「+ / samba / 」と呼ばれ、そのグループ所有権は「 sambashare +」に設定されます。これは、Sambaをインストールしたときに作成されたグループです。

次のコマンドを実行して、「+ / 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 +-これは、SSHでログインしたときにどのシェル* david *が割り当てられるかを設定します。 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 +-これにより、ユーザーを有効にせずにSambaサーバーに追加します。

  • + -e +-これにより、以前に追加されたユーザーが有効になります。

ここで入力するパスワードは、Samba共有へのアクセスに使用され、システムパスワードとは異なる場合があります。

ユーザー* david *は、サーバーにSSHでアクセスできないシステムユーザーとして存在します。 彼は「+ / samba / david +」にホームディレクトリを持ち、Sambaユーザーとして登録および有効化されています。

すべてのSambaユーザー(* mike jane lucy *)に対してこのプロセスを繰り返します。

  • admin *ユーザーを作成するには、次のコマンドを実行し、ホームディレクトリを `+ / samba / everyone / +`に変更します。

sudo mkdir /samba/
sudo adduser --home /samba/ --no-create-home --shell /usr/sbin/nologin --ingroup sambashare admin
sudo chown admin:sambashare /samba//
sudo chmod 2770 /samba//
sudo smbpasswd -a admin
sudo smbpasswd -e admin
  • admin ユーザーの作成に加えて、 admins というグループを作成して、サーバーの管理を容易にします。 各共有に対する読み取りおよび書き込み権限があるため、このグループはユーザーの追加と削除の作業を簡素化できます。 たとえば、個々のユーザーが admin *ユーザーとして機能し、組織を離れる場合、各共有から個別に削除する必要があります。 新しい管理者もすべての共有に手動で追加する必要があります。 * admins *グループを作成し、このグループに共有への読み取り/書き込みアクセスを許可すると、ユーザーの追加と削除に必要なコマンドは1つだけになります。

次のコマンドを実行して、* admins という新しいグループを作成し、このグループにユーザー admin *を追加します。

sudo groupadd admins
sudo usermod -G admins

2番目のコマンド `+ sudo usermod -G admins `を実行し、 `+`の代わりに別のユーザーを使用することにより、* admins *グループにユーザーを追加できます。

これで、システムの設定が完了し、組織* Example.com *のユーザーがシステムおよびSambaユーザーとして設定されました。 これらのユーザーが共有ディレクトリにアクセスできるように、Sambaサーバーの構成に移りましょう。

ステップ4-Samba共有の構成

各共有には、グローバルパラメータに続いて、メインのSamba構成ファイルの `+ / etc / samba / smb.conf +`に独自のセクションがあります。 これらのセクションでは、各共有の機能を定義します。

このファイルを開いて編集するには、 `+ nano +`テキストエディターを再度使用します。

sudo nano /etc/samba/smb.conf

次の構成ブロックは、各ユーザーの個人共有を定義します。

/etc/samba/smb.conf

...
[]
       path =
       browseable =
       read only =
       force create mode =
       force directory mode =
       valid users =

これらのオプションは次のとおりです。

  • + share_name +-これは、ログイン時に使用する共有の名前です。

  • + path +-これはファイルシステム内の共有への絶対パスです。

  • + browsable +-これは、他のユーザーが共有を見ることができるかどうかを設定します。 このオプションを有効にすると、Sambaサーバーの他のユーザーのみが共有の存在を確認できます。 読み取りまたは書き込み権限は付与されません。

  • + read only on-これは、` + valid users`が共有に書き込むことができるかどうかを設定します。

  • + force create mode +-これにより、共有に書き込まれたファイルのパーミッションが強制されます。

  • + force directory mode +-これにより、共有で作成されたディレクトリのパーミッションが強制されます。

  • + valid users +-これは、共有にアクセスできるユーザーのリストです。 この設定には、* admins *などのユーザー名またはシステムグループを使用できます。 グループは、先頭に「+ @ 」を付けてリストする必要があります。 ` @ admins +`。

次の* david *の共有構成ブロックを追加し、彼のホームディレクトリ、このディレクトリのグループ所有権の許可、および彼の共有にアクセスする必要があるユーザーを定義します。

/etc/samba/smb.conf

[david]
       path = /samba/david
       browseable = no
       read only = no
       force create mode = 0660
       force directory mode = 2770
       valid users = david @admins

ディレクトリのアクセス許可により、グループの所有権が親ディレクトリの所有権に設定されることに注意してください。

  • mike jane 、および lucy *の共有ブロックを作成します。 共有の + [name] ++ path、および` + valid user use`のみを変更して、各ユーザーの名前を反映させます。

+ [everyone] +`共有は、 `+ [name] ++ path ++ valid user use、および` + browsable`オプションの両方で他とは異なり、次のようになります。

/etc/samba/smb.conf

...
[everyone]
       path = /samba/everyone
       browseable = yes
       read only = no
       force create mode = 0660
       force directory mode = 2770
       valid users = @sambashare @admins

`+ sambashare +`グループに共有への読み取り/書き込みアクセスを許可すると、すべてのユーザーが共有にアクセスできるようになります。なぜなら、作成時にこのグループに追加されたからです。

完全な `+ smb.conf +`ファイルは次のようになります。

/etc/samba/smb.conf

[global]
       server string =
       server role = standalone server
       interfaces = lo
       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

これにより、次のような出力が生成されます。

OutputLoad 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-コマンドライン

`+ smbclient +`というツールを使用して、コマンドラインからSambaにアクセスできます。 このパッケージは、ほとんどのLinuxディストリビューションにはデフォルトで含まれていないため、ローカルパッケージマネージャーでインストールする必要があります。

DebianおよびUbuntuサーバーでは、次のコマンドで `+ smbclient +`をインストールします。

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

`+ smbclient +`は次の形式を使用してSamba共有にアクセスします。

smbclient /// -U

サーバーのIPまたは `+ / etc / samba / smb.conf `で定義したホスト名のいずれかを使用して共有にアクセスできます。 この例では、ホスト名「+」を使用して、前の手順で作成したSambaサーバー上の* david *の共有にアクセスします。

smbclient /// -U
  • david *が共通共有( + everyone +)にアクセスする場合、コマンドを次のように変更します。

smbclient /// -U

`+ smbclient +`コマンドを実行すると、Sambaパスワードの入力を求められ、FTPテキストインターフェイスを連想させるコマンドラインインターフェイスにログインします。

smb: \>

このインターフェイスは、ユーザー名とパスワード、および読み取り/書き込みアクセスのテストに最も役立ちます。 たとえば、次のようにディレクトリを作成し、その内容をリストできます。

mkdir test
ls

次のような出力が表示されるはずです。

Output  .                                   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-Dolphinを使用したKDE

DolphinはKDEのデフォルトのファイルマネージャーであり、Samba共有にアクセスするための組み込み機能を備えています。

Dolphinを開いた後、次の手順を実行します。

  1. *場所*リストから*ネットワーク*を選択します。

  2. [ネットワークフォルダーの追加]をクリックします。
    image:https://assets.digitalocean.com/articles/samba_16_04/samba_dolphin_one.png [場所リストで強調表示されたネットワークを示す画像]

  3. * Microsoft Windowsネットワークドライブ*オプションを選択します。

  4. *次へ*をクリック

  5. Samba共有の詳細を入力します。

    • 名前-これは、共有のDolphinでブックマークとして表示される覚えやすい名前です。

    • サーバー-これは、Sambaサーバーのホスト名またはIPアドレスです。 この例では、「++」になります。

    • フォルダ-これは、 `+ smb.conf +`で設定された共有の名前です。

  6. [保存して接続]をクリックします。

  7. Samba共有にアクセスするユーザーのユーザー名とパスワードを入力します。

  8. * OK *をクリックしてください。

Dolphinは、次のようなSamba共有を接続して開きます。

image:https://assets.digitalocean.com/articles/samba_16_04/samba_dolphin_second.png [Samba共有に接続されているDolphinを示す画像]

Samba共有をローカルディレクトリであるかのように使用して、ファイルやディレクトリをコピー、削除、および名前変更できるようになりました。 共有は、*ネットワーク*の場所に永続的なブックマークとして表示されます。

MacOS-コマンドライン

MacOSには、Samba共有へのアクセスに使用できるコマンドラインツールがプリインストールされています。 * Terminal *アイコンをクリックして、Launchpadでターミナルを開きます。

これにより、ホームディレクトリにコマンドラインターミナルが開きます。 Samba共有をマウントするには、共有のマウントポイントとして機能する新しいディレクトリを作成できます。 マウントポイントは、2つのファイルシステムが結合される場所です。この場合、ローカルファイルシステムとリモートSambaファイルシステムです。

`+ samba +`という新しいディレクトリを作成します。

mkdir samba

次に、新しい `+ samba +`ディレクトリの下にSamba共有をマウントします。 このコマンドの形式は次のとおりです。

sudo mount_smbfs //@/ ./
  • Example.com の詳細をユーザー david *に置き換えると、次のようになります。

sudo mount_smbfs //@/ ./

`+ samba `ディレクトリは、* Example.com * Sambaサーバー上の* david *共有の内容を表示します。 ファイルとディレクトリは、「 ls 」、「 rm 」、「 mkdir 」などの通常のツールで操作できます。ただし、共有がマウントされた後、 ` samba `ディレクトリはrootによって所有されます。 したがって、 ` sudo `を使用して ` samba +`ディレクトリとそのコンテンツにアクセスする必要があります。

Samba共有をアンマウントするには、 `+ mkdir `コマンドを実行したディレクトリと同じディレクトリから ` umount +`コマンドを実行します。

umount samba

次のセクションでは、macOSのデスクトップGUIアプリケーションを使用してSamba共有にアクセスする方法について説明します。

MacOS-デスクトップ

MacOSは、Finderアプリケーションを使用してSamba共有にアクセスすることもできます。

以下の手順に従ってください。

  1. * Finder を開き、メニューバーの Go *をクリックします。

  2. オプションのリストから[サーバーに接続]をクリックします。

  3. ユーザー名、ホスト名またはサーバーIP、および共有名を含む「+ smb:// 」形式のURLを使用します:「 smb:// @ / 」。
    ここに示す例では、ユーザー名* david *とホスト名 `+`が表示されます。

  4. * + *記号が付いたボタンをクリックして、Samba共有をブックマークします。

  5. [接続]をクリックします
    image:https://assets.digitalocean.com/articles/samba_16_04/samba_mac_one.png [samba共有接続の詳細を示す画像]

  6. *登録ユーザー*を選択します

  7. Samba共有ユーザーのユーザー名とパスワードを入力します。

  8. macOSにパスワードを保存するかどうかを決定します。

  9. [接続]をクリックします。

Samba共有に正常に接続すると、次のようにFinderに表示されます。

image:https://assets.digitalocean.com/articles/samba_16_04/samba_mac_two.png [接続された共有の内容を示す画像]

次のセクションでは、Windows 10からSamba共有にアクセスする方法について説明します。

Windows 10-コマンドライン

WindowsコマンドラインからSamba共有をマウントするには、1つのコマンドのみが必要です。

net use  \\\

ユーザー* david *の共有の変数を置き換え、ドライブ文字を「+ X:+」に設定します。

net use X: \\\

このコマンドを入力すると、* david *のユーザー名とパスワードの入力を求められます。 これらを入力すると、共有が正常にマウントされたという確認を受け取ります。

OutputEnter the user name for '':
Enter the password for :
The command completed successfully.

これで、ファイルエクスプローラーでSamba共有を参照し、コンピューターにローカルであるかのようにファイルとディレクトリを操作できるようになります。

次のセクションでは、Windows GUIツールを使用してSamba共有にアクセスする方法について説明します。

Windows 10-デスクトップ

Windows 10には、Samba共有に接続するネイティブ機能もあります。 次の手順は、Samba共有に接続し、Windowsエクスプローラーを使用してブックマークとして保持します。 ファイルエクスプローラーを開いて、次の手順を開始します。

  1. *このPC *を右クリックします。

  2. [ネットワークの場所を追加]をクリックしてから、次のページで[次へ]をクリックします。
    image:https://assets.digitalocean.com/articles/samba_16_04/samba_windows_one_again.png [このPCのコンテキストメニューを示す画像]

  3. [カスタムネットワークの場所を選択]をクリックします。

  4. *次へ*をクリック

  5. SambaサーバーのWindowsスタイルのアドレスと共有名を入力します。 Windowsは次の形式のSamba URLを使用します: + \\\\ +
    サンプル画像では、サーバー名は「+」で、共有名は「 david 」です:「 \\\ +」。

  6. [次へ]をクリックします。

  7. ユーザーのユーザー名とパスワードを入力します。

  8. Windowsにパスワードを記憶させるかどうかを決定します。

  9. * OK *をクリックしてください。

これで、File ExplorerはSamba共有に接続します。 接続が正常に完了すると、ファイルエクスプローラーの*このPC *の下に新しい場所が作成されます。

image:https://assets.digitalocean.com/articles/samba_16_04/samba_windows_two.png [このPCでのSamba共有を示す画像]

これで、このフォルダーを使用して、Samba共有内のファイルとフォルダーをローカルフォルダーであるかのように管理できるようになります。

結論

この記事では、Sambaサーバーを使用してクロスプラットフォームのオンラインファイル共有を作成しました。 また、Windows、Linux、およびmacOSからこれらの共有にアクセスしました。

Samba共有は非常に一般的になったため、多くのアプリケーションが保存されているデータにアクセスできます。 これらのアプリケーションは、Samba共有の機能と有用性を拡張できます。 たとえば、モバイルバージョンのメディアプレーヤーhttps://play.google.com/store/search?q=vlc&c=apps[VLC]は、Samba共有に接続して音楽やビデオをストリーミングできます。 これにアクセスするには、* open MRL *を選択し、標準のSamba URL: `+ smb:// @ / +`を使用します。 クロスプラットフォームバックアップユーティリティhttp://backuppc.sourceforge.net/[BackupPC]を使用して、Samba共有をバックアップの宛先として使用することもできます。

Sambaは、単純なファイル共有として機能することに加えて、ドメインコントローラまたはドメインのメンバーとしてWindows Active Directoryと連携できます。 Samba Wiki User Documentationには、これを行う方法の詳細が含まれています。