【Linux】共有フォルダ(NAS)にSMBでアクセスする方法:mountコマンド

時計 2022.07.30 / 時計

【Linux】共有フォルダ(NAS)にSMBでアクセスする方法:mountコマンド

記事ではLinux(Ubuntu)から共有フォルダアクセスする方法について解説していきます。

LinuxからWindowsの共有フォルダや、NASによる共有フォルダにファイル共有プロトコルのSMB(Server Message Block)を利用してアクセスしていきます。

またLinuxからディスク装置(共有フォルダ・NAS)にアクセスするにはマウントを行う必要があります。これら用語やアクセス方法について本記事を通して理解を深めてください。

本記事では以下のものを利用します。

  1. OS:Ubuntu
  2. バージョン:Ubuntu20.04
  3. NAS:Synology
  4. ファイル共有プロトコル:SMB

Linux(Ubuntu)から共有フォルダにアクセスするための手順

UbuntuからNASの共有フォルダにアクセスするための手順は以下の通りです。

  1. NASの共有フォルダにアクセスする場合はSMBが有効になっているか確認(Windows共有フォルダであればSMBは有効)
  2. Ubuntuにパッケージcifs-utilsをインストール
  3. マウントするディレクトリ(マウントポイント)の作成
  4. マウントの実行:mountコマンド

Windowsの共有フォルダにアクセスする場合でも、手順に違いはないので同様の方法でマウントしてください。

次項より実際にマウント(共有フォルダにアクセスするための操作)する前に、SMBやマウントについて詳しく解説していきます。

SMBとは

SMB(Server Message Block)とは、主にWindows間で利用されるファイル共有やプリンタ共有を行うための通信プロトコルです。

ネットワークを通してファイル共有するためのプロトコル(コンピュータ間で通信をするためのルール)は様々あります。ファイル共有のプロトコルとしては本記事で扱うSMB以外にNFSがあります。NFS(Network File System)とは、Linuxで標準で利用できるファイル共有プロトコルです。

またCIFS(Common Internet File System)というプロトコルもあり、SMBと同義とされてきましたが、現在ではSMBが正式名称とされています。

SMBにはSMB1.0、SMB2.0、SMB3.0と様々なバージョンが存在します。

マウント:mountコマンド

マウントとは

マウントとは特定のディレクトリにディスク装置(共有フォルダ・NAS)を接続することです。

Windowsでは外付けのハードディスクやUSBを接続すると自動的に認識し、NASによる共有フォルダもパスをエクスプローラーに入力するだけで接続することができます。

LinuxではWindowsのようにディスク装置を自動認識することができません。そのためマウントを行い、特定のディレクトリ内にディスク装置を埋め込む作業が必要になるのです。

共有フォルダをマウントすることで、ファイルの読み込みやダウンロード、アップロードなどが可能になるということです。

CentOS7ではWindowsのようにディスク装置を自動的にマウントさせることもできます。

Linux用語

NASなどのディスク装置をLinuxではファイルシステムと呼びます

mountコマンド

Linuxでファイルシステムをマウントするためにはmountコマンドを実行します。Linuxを利用している場合、必ず一度は使用することがある重要なコマンドの一つです。

mountコマンドは以下構文に沿って記述します。

構文

mount [オプション] [ディスク装置名(ファイルシステム)] [マウントポイント]

共有フォルダをマウントする場合は、mountコマンドのあとに必ずファイルシステムとマウントポイントは指定してください。オプションは必要に応じて指定します。

mountのみで実行すると現在マウントされている情報が表示されます。

mount

mountコマンドのオプション

mountコマンドのオプションで指定可能なオプションを以下に記します。

オプション 説明
-a /etc/fstabに記載されているファイルシステムをマウントする
-r ファイルシステムを読み取り専用でマウントする
-w ファイルシステムを読み書きできるモードでマウントする
-t ファイルシステムのタイプを指定する
-o マウントオプションを指定する

Ubuntuに共有フォルダをマウントする方法

パッケージのインストール:cifs-utils

LinuxからCIFSでマウントするためにcifs-utilsパッケージをインストールします。以下コマンドを実行してインストールしてください。

sudo apt update
sudo apt upgrade
sudo apt install cifs-utils

マウントポイントの作成

ファイルシステムをLinuxにマウントするためのディレクトリ(マウントポイント)を作成します。

ディレクトリの作成にはmkdirコマンドを以下のように実行します。

sudo mkdir /mnt/share

マウントの実行

mountコマンドを以下のように実行して、共有フォルダをマウントしてみましょう。ここではマウントしたい共有フォルダのパスが「//192.169.0.54/office」、マウントポイントが「/mnt/share」です。

su -
mount -t cifs //192.169.0.54/office /mnt/share -o user=office,pass=fivefour

一般的に共有フォルダはアクセス権限がかかっているため、オプション-oからユーザーIDとパスワードを指定します。

上記コマンド実行後に、ファイルシステムによって以下のようにエラーが表示されることがあります。

エラー

mount error(95): Operation not supported
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)

もし上記エラーが発生したら、オプション値にvers=2.0かvers=1.0を追加して実行してみてください。

mount -t cifs //192.169.0.54/office /mnt -o vers=2.0,user=office,pass=fivefour

デフォルトではSMB3.0でマウントを実行します。マウントしようとするファイルシステムがSMB2.0またはSMB1.0しかサポートしていない場合は、上記のようにSMBのバージョンを指定する必要があります。

マウントの確認

マウントができているかdfコマンドを実行して確認しておきましょう。

df -h

マウントしてファイルシステムが表示されていれば成功しています。

マウントの解除(アンマウント)の方法

マウントを解除したい場合はumountコマンドを実行します。以下の構文に沿ってumountコマンドを実行します。

構文

umount [オプション] マウントポイントまたはファイルシステム

例えば/mnt/shareにマウントした共有フォルダを解除したい場合は以下のようにコマンドを実行します。

umount /mnt/share

まとめ

本記事「【Linux】共有フォルダ(NAS)にSMBでアクセスする方法:mountコマンド」はいかがでしたか。

mountはLinuxでは必ずと言っていいほど利用するコマンドです。ファイルシステムをマウントすることでLinuxの幅が格段に広がりますので、ぜひ使いこなせるようになってください。