【Ubuntu20.04】SambaでWindowsとファイル共有

Linuxの環境を作るのに、HPのデスクトップパソコンを購入しました。

Pavilion Gaming Desktop TG01(インテル) 価格.com 限定モデル 製品詳細 – ゲーミングパソコン | 日本HP

このパソコンにUbuntu20.04をインストールして開発環境を構築中です。
今回は、Sambaをインストール。
このパソコンは512GBのSSDと2TBのHDDがついているのですが、SSDはUbuntuをインストールしてHDDはSambaで共有ディスクとしてWindowsとソースコードなどなど共有しようかと計画。
HDDは、/dev/sda1として/media/(ユーザ名)/DATAにマウントされています。

1.HDDをHomeディレクトリにリンクする

 このままだといちいち/media/(ユーザ名)/DATAにアクセスすることになるので、横着して/home/charaの下にシンボリックリンクを張ることにしました。

$ln -s /media/chara/DATA data

としてホームディレクトリの配下のdataディレクトリでアクセスできるようにしました。

2.Sambaのインストール

$sudo apt install samba

Sambaのインストールはこれだけです。

3.smb.conf:設定ファイルの編集

設定ファイルは、/etc/samba/smb.confです。

$sudo vi /etc/samba/smb.conf

とやって編集します。
今回編集した内容は以下のとおり。(行番号は編集後)
[global]セクション
26  unix charset = utf-8
27  dos charset = CP932
・・・
41  interfaces = 192.xxx.xxx.0/24  (各自のネットワークに応じて変えてください)
・・・
48  bind interfaces only = yes
・・・
245 [develop]
246   path = /media/chara/DATA/develop
247   public = yes
248   guestok = yes
249   writable = yes
250   force user = chara
251   force create mode = 777
252   force directory mode = 777
以上です。
ネットワークのアドレスは、ifconfigコマンドなどで確認できます。

4.sambaユーザの作成

Linuxユーザだけでなくsambaユーザも作らないといけません。
基本的にはLinuxユーザの情報を継承して作成しています。

$sudo pdbedit -a chara

これでパスワードを2回求められます。今回はLinuxのパスワードと同じにしました。
5.ファイアーウォールの設定
このままだとWindows側から名前は見れますが、アクセスしようとするとファイアウォールに蹴られます。そこで穴を開けます。

$sudo ufw allow samba

これで無事にWindowsからアクセスすることが可能となりました。