芸身輔

高専でいろいろやってみます。

ラズパイでSAMBA鯖を立てて家庭内ファイルサーバーにする

環境

・RaspberryPi4 4GB

hoge@hoge:~ $ uname -a
Linux hoge 6.6.20+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.20-1+rpt1 (2024-03-07) aarch64 GNU/Linux

とりあえずアップデート

$ sudo apt update

$ sudo apt upgrade

必要なものをインストール

$ sudo apt install samba

$ sudo apt install ntfs-3g

保存先

SSD/HDDをUSBなりなんなりで接続して場所を確認する。

自分の環境だと以下のように表示される。

$ sudo fdisk -l

Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors

Disk model: Generic

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

パーティションがなかったので作る。

$ sudo mkfs -t ntfs -L usbdisk /dev/sda

対話形式でパーティションが作れるのでコメントを読みながら入力していく。
自分だと以下のようにした。

>n

>p

>1

>2048

>1953525167

>w

確認

$ sudo fdisk -l

Device     Boot Start        End    Sectors   Size Id Type

/dev/sda1        2048 1953525167 1953523120 931.5G 83 Linux

できた。

大きなファイルも扱えるようにntfs形式でフォーマットする。

$ mkfs -t ntfs -Q /dev/sda1 

一応、以下のコマンドでフォーマット形式を確認できる

$ sudo parted -l

マウントポイントを作ってマウントする。自分はホームディレクトリにした。

$ sudo mkdir HDD
$ sudo chmod  777 HDD
$ sudo ls -l
$ sudo mount -t ntfs-3g /dev/sda1 HDD

reboot時に自動マウントされるようにUUIDでマウントするように設定。

$ sudo blkid /dev/sda1

で出てきたPARTUUIDをコピーして

$ sudo nano /etc/fstab

に追記する。下記は例

PARTUUID=XXXXXXXXX  /home/hoge/HDD  ntfs-3g defaults,nofail   0       0

IPが変わるといろいろ面倒なので固定する。
最新のOSだとラズパイ側からではなくルーター側で設定するのが推奨らしいが、そうは言われても面倒なのでラズパイ側で設定する。

$ sudo nano /etc/NetworkManager/system-connections/preconfigured.nmconnection

[ipv4]を

address=192.168.1.XXX #任意のIP
dns=8.8.8.8
method=manual

に変えてreboot

$ sudo nano /etc/samba/smb.conf

[global]に

security = USER

を追記

一番下にパラメータを追加する。 例

[piyo]
        comment = my samba
        force user = huga
        path = /home/hoge/HDD
        read only = No
        valid users = hoge

文法チェック

$ testparm
Loaded services file OK.

が出力されたら問題ナシ。

sambaサービスを有効にする

$ sudo systemctl enable smbd
$ sudo systemctl enable nmbd

一瞬止まるかもしれないが、待てば処理がおわる。

アクセス用のユーザーを設定する。

$ sudo pdbedit -a XXXX

出力に従ってパスワードを設定してreboot.

Windwosのエクスプローラーの一番上のパスのところに

\\192.168.1.XXX

と入力してフォルダが表示されたら成功

ネットワークドライブの割り当てで

フォルダー:\\192.168.1.XXX\hoge

"別の資格情報を利用して接続する"にチェック
完了すると先ほど設定したアクセス用のアカウントで接続できる。

参考

覚え書き
Raspberry Pi OS(bookworm)の固定IP設定
Raspberry Pi3をsambaファイルサーバ化し、Linux/Mac/Winでファイル共有(外付けSSDを使用)