ubuntuからwindows10の共有フォルダにアクセスしてみます。アクセスの仕方はファイルアプリを使う方法とマウントコマンドを使う方法です。windowsの共有フォルダは設定済みです。
最初にubuntu側の環境ですが以下のパッケージがインストールされています。
$ dpkg -l | grep smb
ii libsmbclient
ii libsmbios-c2
$
$ dpkg -l | grep samba
ii samba-libs
$
$ dpkg -l | grep cifs
$
(詳細は以下)
libsmbclientは入っていますが、samba-client、および、cifs-utilsは入れていません。なお、libsmbclientがインストールされた時に以下のものもインストールされたようです。
$ dpkg -l | grep 2:4.7.6+dfsg
ii libsmbclient
ii libwbclient0
ii samba-libs
(詳細は以下)
まずファイルアプリを使う方法です。
ファイルアプリを開いて「他の場所」を選択すると下部に「サーバーへ接続」が表示されるのでwindows10の共有フォルダの場所を「smb://windowsのIPアドレス/共有フォルダ名」のように指定して「接続」ボタンを押下します。
すると、ユーザー名、ドメイン、パスワードを入力する画面が表示されるのでアカウント情報を入力します。
共有フォルダに接続できるとファイルアプリの左側にwindows10の共有フォルダが表示されます(赤枠)。共有の解除をするには隣の矢印(青枠)をクリックすると解除されます。
次にマウントコマンドを使ってwindows10の共有フォルダにアクセスします。
ubuntuに共有フォルダをマウントするディレクトリを作成します。ここでは、/home/user/work/mnt にマウントするようにします。マウントコマンドでは「-o」オプションを使うのですが、このオプションはroot権限がないと使えないため作業はrootユーザーで行います。
rootユーザーにスイッチした後に以下のコマンドを実行します。
# mount -t cifs -o username=<ユーザー名>,password=<パスワード> //windowsのIPアドレス/共有フォルダ名 /マウント先のディレクトリ
気をつけないといけないのは「username=<ユーザー名>,password=<パスワード>」は1つの引数のようで、ユーザー名とパスワードの間のカンマ「,」の後ろにスペースを入れてはいけません。あと、わかりづらいですが「//windowsのIPアドレス/共有フォルダ名」と「/マウント先のディレクトリ」は別々の引数です。
実際にはこんな感じです。
# mount -t cifs -o username=user,password=XXXX //192.168.0.3/jake /home/user/work/mnt
ファイルアプリでアクセスしたときはドメインに「WORKGROUP」を入力しなければならなかったのですが、マウントコマンドのときはドメイン情報は入力しなくても大丈夫でした(ユーザー名とパスワードは必要です)。
ファイルアプリでマウントしたディレクトリ(/home/user/work/mnt)を見てみます。
mntディレクトリのアイコンが普通のものと違うようです。コンセントの差込口みたいなものが表示されています。
マウントの解除は一般ユーザーでは行なえません。ファイルアプリから矢印(上の青枠)をクリックしてもエラーになってしまいます。マウントを解除するにはrootユーザーで以下のコマンドを実行します。
# umount -a -t cifs
これでマウントが解除されます。
ありがとうございました。
今日半日悩んでいたのですが、このサイトで samba-clientとcifs-utilsは入れていないことをはっきり書いてあったため、それらを入れていた私は削除したら、mountコマンドがエラー無く実行できました。