windows10とubuntu20.04とでファイル共有してみた(samba)
前回はwindows10とubuntu18.04の2台をクロスケーブルで直接つなぎ、pingによる疎通を確認しました。
今回はさらに、この続きからファイルを共有してみたいと思います。
しかし、このまま何も設定しないでいるとファイル共有ができません。
ubuntuとwindowsでは扱えるファイルフォーマット形式が異なるためです。
そのため2台間の接続方式がルーター経由だろうがインターネット経由だろうが、あるいは直接接続だろうが、ファイルフォーマットを仲介してくれる機能がなければファイル共有することはできません(今回は直接接続を扱います)。
後述しますがそれを行ってくれるのがsambaというフリーソフトになります。
大学時代、研究室のファイル共有は大学院の先輩が構築してくれていたので気にしたことがなかったのですが、裏ではsambaが動いていたのかもしれません(何も知らずに生きていたなあ)。
しかし、無知であるだけに自分自身の勉強になりました!
目次
- 前提
- 目的
- 参考サイト
- sambaのインストール
- sambaへユーザーを登録
- 共有フォルダの作成
- 共有フォルダへのアクセス権限変更
- sambaの設定
- windows側ネットワークの設定
- windowsからアクセス
- 最後に
前提
・インターネット環境があること(ソフトウェアアップデートやsambaのインストールに必要)
・以下リンク手順を踏んでいること
目的
ubuntuに作成したフォルダにwindowsからアクセス&閲覧できればOK!
参考サイト
https://beightlyouch.com/blog/programming/ubuntu-fileserver-nas/#toc5
ここをほぼ全て真似しました!(「6.Windowsからの確認」まで)
自分の環境に置き換えて設定していけばできるはずです!
sambaのインストール
sambaとは、ファイル共有機能を提供するフリーソフトです。主にlinux環境で導入され、windowsを含む他端末とのファイル共有に使用されます。windows端末同士ならsambaは必要ありませんが、linuxとwindowsのファイル共有においてはsambaのような仲介役が必要となります。
それではsambaをインストールしましょう。
前回の続きから作業している方はインターネット環境に切り替えてください。
sudo apt-get update
sudo apt-get upgrade
念のためここで再起動するのが無難のようです。
reboot
sudo apt-get install -y samba
インストールが完了したら次に進みましょう。
sambaへユーザーを登録
以下コマンドを実行すると、パスワードをユーザー名に紐づけて登録するよう求められますので新たにパスワードを設定します。僕はubuntuのアカウントのユーザー名とそのパスワードをそのまま使用しました。
sudo pdbedit -a [ユーザー名]
ここで登録したユーザー名とパスワードがwindowsからのアクセス時に聞かれますので忘れないようにしてください。
共有フォルダの作成
ubuntuの/homeディレクトリにファイル共有用のフォルダとして/home/sambaディレクトリを作成します。これがwindowsでいうところのフォルダになります。名前は何でもokです。(フォルダとかディレクトリとかごちゃ混ぜですみません。どちらでとらえてもらっても問題ありません。。)
sudo mkdir /home/samba
サイトによっては作成したディレクトリを右クリックしプロパティから共有に関する設定を行っていたのですが、今回のやり方では必要ありませんでした。
共有フォルダへのアクセス権限変更
その代わりなのか何なのか、chmodコマンドでディレクトリの権限を変更します。
sudo chmod 777 /home/samba
sambaの設定
sambaの設定がデフォルトのままになっているので変更していきます。
/etc/samba/smb.confをいじります。
編集するためのエディタはnanoやviがありますが、僕はviを使用しています。
使い方は別途調べてみてください。
sudo vi /etc/samba/smb.conf
参考サイトと比較し異なる箇所だけここでは紹介します。
赤枠が有線の設定、青枠が無線の設定です。
今回の目的は有線接続での共有なので青枠の部分は無くても大丈夫です。
それぞれIPアドレスに続けてNICの名前を記載していますが、これらの名称を確認するにはubuntu側で次のコマンドを実行します。
ip a show
NICの名前の部分ですが、環境によってはeth0やwlan0など異なっている場合があります。NICの命名規則が変わっているだけですので自分の環境の通りコードを記載してください。
なお、ここで設定したネットワークアドレスにubuntuとwindowsも所属している必要があります。例えば192.168.1.0/24を設定したならubuntuは192.168.1.100、windowsは192.168.1.101といった具合です。
pathには共有ディレクトリへの絶対パスを入力します。mkdirで作成したディレクトリを指定します。
設定が完了したらsambaの機能を再起動します。
sudo systemctl restart smbd nmbd
このコマンドは/etc/samba/smb.confを変更する度に実行する必要があります。
windows側ネットワークの設定
[スタートボタン]-[コントロールパネル]-[ネットワークと共有センター]-[共有の詳細設定の変更]へ移動します。
[プライベート]セクションにて
[ネットワーク探索を有効にする]にチェックを入れる
[ファイルとプリンターの共有を有効にする]にチェックを入れる
[ゲストまたはパブリック]セクションにて
[ネットワーク探索を有効にする]にチェックを入れる
[ファイルとプリンターの共有を有効にする]にチェックを入れる
[すべてのネットワーク]セクションにて
[共有を有効にして、ネットワーク アクセスがある場合はパブリック フォルダー内のファイルを読み書きできるようにする]にチェックを入れる
最後に[変更の保存]をクリックします。
windowsからアクセス
これで準備は完了です。
早速windowsからsambaフォルダへアクセスしてみましょう!!
windowsでエクスプローラを開きます。(Internet Explorerではありませんよ)
上のバーにカーソルを合わせIPアドレスを入力します。
頭に\\(バックスラッシュ2つ)をつけるようにしてください。
エンターキーを押します。
最初のアクセスだけpdbeditコマンドで設定したユーザー名とパスワードを聞かれるかと思いますので入力してください。すると、smb.confで設定したshareフォルダが表示されます。
ubuntuではsambaディレクトリを作成しましたが、smb.confの設定からshareというフォルダ名として共有され、それを開くとsambaフォルダの中身を表示する仕組みになっているようです。ややこしいですね。
hostsファイルが存在しており中身を見ることができれば成功です!!
最後に
今回はIPアドレスは有線のものを指定しましたが、wifiのIPアドレスも試してみてください!
次はciscoルータかスイッチを介した通信を行ってみたいな。